论文部分内容阅读
智能家居综合了计算机技术、物联网技术和自动控制技术,其目的是为了实现家电设备的集成和互联互通,但现实情况是国际上一直没有统一的标准,致使智能家居企业采用的技术与协议不尽相同,导致不同厂商的产品无法实现互联互通。为此,本文设计了一个能让多种异构设备互联互通的协议栈。本文研究的内容包括以下几个方面:(1)本文分析了智能家居的具体特性,针对智能家居产品种类繁多、通信方式各异等特点设计了一个基于JSON封装的智能家居应用层协议栈通信规范。为了兼容更多的设备,协议栈能同时支持以太网、WiFi、ZigBee、蓝牙等多种通信技术。通过设备和命令的定义,使得协议栈的通信内容更加规范化,实现了相同设备的统一操作。为了确保通信更加可靠,针对以太网、WiFi、ZigBee等设计了一个ACK确认机制。(2)智能家居中包含了大量涉及居民生命财产安全的敏感数据,为了确保通信的安全,同时兼容各种异构设备,使用了AES数据通信加密方案。对于以太网、WiFi等高速设备,设备通信数据量大、传输速率高,为了保证其通信安全,规定以太网、WiFi通信使用256bit密匙。而低功耗设备要求通信的数据量少、时延低、功耗低,为此规定对ZigBee和蓝牙使用128bit的密匙长度。为了进一步确保通信的安全,协议栈规定设备必须定期更新密匙。而密匙的产生、传递、存储完全由设备自动完成,用户无须参与,提升了用户体验。(3)为了提高智能家居设备的互操作性、减小代码冗余,为协议栈设计了基于自描述的设备互操作机制。客户端向服务端推送自描述代码,服务端下载并加载自描述代码。自描述代码可以调用服务端的自描述代码接口,使用服务端的功能。同时可以与客户端通信,实现设备间的相互协作。协议栈为自描述互操作机制提供自描述代码推送、自描述通信、自描述代码移除等功能。协议栈使用停止等待协议完成了自描述代码的传输功能。为自描述代码和自描述代码接口进行了接口规范。为自描述代码和自描述代码接口提供了代码保密机制。最后通过显示器实时读取并显示温湿度传感器数据的实验,验证了本协议栈的可行性。显示器和传感器都注册到智能家居网络。然后显示器通过设备查询和命令通信接口完成对温湿度传感器数据的读取与显示。传感器向显示器推送自描述代码。显示器根据传感器提供的地址下载自描述代码并运行。之后自描述代码通过自描述通信接口与传感器相互协作完成了数据的采集,并根据采集到的温湿度值绘制出实时变化的温湿度变化曲线。