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

智能家居通讯协议

智能家居通讯协议一、前言随着手机智能化的提高,基于手机的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正确回应:<capabilitys><capability>BUTTON</capability><capability>STATIC</capability></capabilitys>便于协议的扩展,先支持按钮和静态显示面板功能。

2、请求遥控请求:http://192.168.1.x/cgi-home/login?username=xxx,password=xxx(MD5加密)正确回应:ok3、退出遥控请求:http://192.168.1.x/cgi-home/loginout正确回应:ok4、获取厂商logo获取图片的功能http自带,需要定义的是该图片的位置,暂定/home/factorylog.jpg 5、获取厂商遥控面板图片获取图片的功能http自带,需要定义的是该图片的位置,暂定/ home/controlpanel.jpg 6、获取遥控面板描述请求:http://192.168.1.x/cgi-home/getpaneldescribe正确回应:<controlpanel><buttons><button><ID>1</ID><name>+</name><area> //对应按钮在厂商遥控面板图片的位置,以像素为单位<left></left><top></top><right></right><bottom></bottom></area><ctrlcode> //控制码123</ctrlcode></button>…<buttons><static> //显示区域<ID>1</ID><name>温度</name><area> //对应按钮在厂商遥控面板图片的位置,以像素为单位<left></left><top></top><right></right><bottom></bottom></area><unit>度</unit></static>…</statics><ID>N</ID>…</button></buttons></controlpanel>7、发送控制码请求:http://192.168.1.x/cgi-home/sendctrlcode?ID=1,ctrlcode=123正确回应:ok8、获取显示数据请求:http://192.168.1.x/cgi-home/getshowdata正确回应:<static> //显示区域<ID>1</ID><value>23</value></static>…</statics>9、说明书页面http://192.168.1.x/home/ instructions.xml简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。

家电的搜索采用该协议。

协议的具体的实现可以查找相关资源。

为了区别网络上的其它(UPNP)应用,我们这里做如下限定,家电工作在多播地址239.255.255.250和UDP端口号1901上侦听,等待APP的发现请求。

我这里主要强调的是ssdp:alive响应中content 的xml定义:<property><factory>某某公司</factory><type>空调</type><model>型号</model><SSID>设备标识,为了避免标识的冲突,该标识可设</SSID><IP>192.168.1.x</IP></property>摄像头的应用也可以归纳到智能家居的范围内。

音视频的传输可以采用成熟的RTSP协议和RTP OVER HTTP协议,而视频的编解码协议可以采用H.264。

对于这些协议这里不做过多描述。

但不得不提我国的宽带现状,光纤入户,嘘头很足,但真真的网速大家心知肚明,其实我的要求也不是很高,啥时上传的带宽能达到4M,或许才能勉强说好。

4M才能传输2路高清实时视频而已。

七、应用层、表示层各家电厂商可以基于标准协议设计出智能家电,智能手机软件可以基于标准协议开发出各具特色的APP控制家电,互联网公司可以基于标准协议开发盒子进行远程控制。

应用举例:1、取代传统的遥控器,一个手机在家里可以控制所有的智能家电;当然还可以实现一些遥控器不支持的功能。

2、大家都曾住过宾馆,如果宾馆里的智能房间让你可以用手机控制所有的灯,空调,电视,不知道会不会让你在外的孤独感少几分呢。

3、大热天在外,如果在回家前的几分钟可以通过手机把空调打开,回到家后,你会不会更爽呢。

4、孩子做作业的时间,你正好在外,如果能看到书房里的高清视频,你就可以远程监督孩子学习,甚至还能看看孩子的题做的对不对。

八、总结国人擅长打价格战,真正的好的东西很少。

标准很多,但衡量标准的工具很少。

就智能家居而言,当标准协议制定后,信息产业部可以公布一个标准的检测APP,当我们去超市选购家电时,我们可以用这个APP去验证这个家电协议是否合格。

要得富,先修路,啥时咱的网络之路能超过发达国家。

本文纯粹有感而发,如有雷同,纯属巧合。

王冬林2015.4.2QQ: 214201590。

相关主题