当前位置:文档之家› 智能家居通讯协议

智能家居通讯协议

智能家居通讯协议

一、前言

随着手机智能化的提高,基于手机的APP越来越多。我一直在思考,如果有一款应用能让我控制

我家里的所有电器设备,而且能根据家里的电器布局自定义控制界面,该有多好啊。我这么思考是有理由的,家里遥控器一大堆,说明书一大堆,要经常换电池,经常找遥控器,说明书倒是难得找,但要找时往往是找不到的。当然大的互联网公司正在联合大的家电厂家推出智能云家居计划,但我发现大家各自为政,并没有行成一个联盟首先制定一个统一的协议标准。也许有人会问,外国人不是制定了吗?但我觉得我们是有能力做这件事的,就看大家愿不愿意做了。智能手机的核心是外国人的,难道智能家居的核心协议也要是外国人的。国产空调,国产洗衣机,国产照明,国产电视机,国产电饭锅等在世界上已经占据了很多的市场份额,我想在智能家居这一块,我们如果不能做到引领世界,但也不能让外国人先入为主。

二、网络七层协议

OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。OSI的7层从上到下分别是7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层其中高层,即7、6、5、4层定义了应用程序的功能,下面3层,即3、2、1层主要面向通过网络的端到端的数据流。

三、物理层

物理层包括有线(网线)、WIFI、电力猫。这三种我觉得各有利弊。有线我个人认为是最可靠的,但前提是你是新装修房子或着是舍得花大代价重新装修房子,对于像移动家电就不太实用,你得买一个至少24口的交换机。WIFI比较方便,移动性比较强,但就目前我没买到过在每个房间都有三格信号的无线路由器,当然我不舍得花钱。电力猫可以利用现有电源线,这是一个不错的选择。因此我觉得物理层可以是这三种互相弥补。

采用有线和电力猫时,用户无需配置,家电设为默认DHCP。采用WIFI时,该家电WIFI需支持热点模式和客户端模式,初始状态为热点模式,用户登录后可配置成客户端模式并设置所连接的热点。

四、数据链路层、网络层

这两层硬件已经实现了,这里就不讨论了。

五、传输层

TCP,UDP属于这一层。UDP不是面向连接的协议,会丢包,用在控制不合适,因此首选TCP。

六、会话层

HTTP协议是这一层比较核心和重要的协议,与大家的互联网生活息息相关。而xml协议则是走在http大道上的宝马。Xml可以是报文的重要组成格式,xml还用于作为界面的描述,Android、QT等都用它来描述界面。因此这一层理所当然要选择http+xml。

Xml可以用来描述界面,遥控器可以由硬的变成软的,甚至变成自己喜欢的风格,展示在你的手机上,当然风格可以变,LOGO最好还是用厂商的,不然光自己喜欢了,厂家会有意见的,你忘记了它的品牌,这就是你的过失。

接下来描述一下http+xml的报文格式,http头和xml头请参考相关文档。

1、获取能力集

请求:http://192.168.1.x/cgi-home/getcapability

正确回应:

BUTTON

STATIC

便于协议的扩展,先支持按钮和静态显示面板功能。

2、请求遥控

请求:http://192.168.1.x/cgi-home/login?username=xxx,password=xxx(MD5加密)

正确回应:ok

3、退出遥控

请求:http://192.168.1.x/cgi-home/loginout

正确回应:ok

4、获取厂商logo

获取图片的功能http自带,需要定义的是该图片的位置,暂定/home/factorylog.jpg 5、获取厂商遥控面板图片

获取图片的功能http自带,需要定义的是该图片的位置,暂定/ home/controlpanel.jpg 6、获取遥控面板描述

请求:http://192.168.1.x/cgi-home/getpaneldescribe

正确回应:

//显示区域

1

温度

//对应按钮在厂商遥控面板图片的位置,以像素为单位

N

7、发送控制码

请求:http://192.168.1.x/cgi-home/sendctrlcode?ID=1,ctrlcode=123

正确回应:ok

8、获取显示数据

请求:http://192.168.1.x/cgi-home/getshowdata

正确回应:

//显示区域

1

23

相关主题