第9期满莎等:基于ARM9的嵌入式无线智能家居网关设计
2543
器,有两个主要功能。1)实现无线传感器网络的建立,传感器节点管理和数据传输。将收集到的数据存储在数据库中,使用户可以随时查询监控Zigbee终端设备的状态。2)用户可以通过Web浏览器直接访问网关,可以进行实时监测和远程管理。
为了实现家庭网关的功能,在硬件平台上移植了Linux2.6实时操作系统、Zigbee协议栈和VT6656的驱动程序,并
使用基于H7肿协议的Boa服务器作为Web服务器,其中
ZigBee网络协调器的软件实现包括ZigBee协议和监控管理程序的移植。该软件流程如图6所示。
图6
Zigbee软件流程
在智能家居内部ZigBee无线网络中,首先协调器进行初始化,然后协调器选择一个称为PANID的标识号码,接着启动网络,所有的设备接入CSMA—CA机制的协调器。当协调器收到数据时,首先判断是新节点加入网络的请求还是设备节点的控制请求:如果是新节点加入网络的请求则分配网络地址并绑定节点;如果是控制请求,则调用控制请求处理函数处理数据。数据处理完毕,协调器返回等待请求监听状态。3.3家庭网关主程序设计
家庭网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式,Zigbee协议栈由一系列分层结构组成,包括物理层、数据链路层、网络层、应用支持层和应用层,每一层为上一层提供服务。采集节点将要传输的节点地址信息和监测数据以Zigbee帧的形式打包发送给网关节点。传送数据在通过物理介质进入网关后,先用Zigbee协议栈解封装得到原始数据,网关可以用操作系统上的应用软件根据需要对原始数据处理。然后再以TCP/IP协议打包后通过USB口与Wi—Fi通信模块VT6656相连,wi—FiVT6656网卡通过AP路由器,将数据传送到Wi—Fi网络中,AP路由器接人Internet,从而实现网关与Intemet相连。为实现系统的监测和控制两大功能,数据帧结构的设计由前导码、数据模式、目标地址、数据长度、数据信息与校验和等部分构成。3J,其中数据信息字段又划分为方向位、功能类型和数据。方向位分为上行和下行两种:上行传输的是监测数据,下行传输的是控制命令。
家庭网关主程序处理流程如图7所示。硬件上电系统启动以后,应用程序初始化,网关开始监听网络,有数据到来网关进入中断状态。首先判断是否Zigbee数据,如果是Zigbee数据,按照WSN协议处理数据然后打包转发给Wi—Fi模块,网关返回监听状态;如果不是Zigbee数据,网关判断是否wi—Fi数据,如果是则以Wi—Fi协议处理数据然后打包转发给Zigbee模块,并返回监听状态;若是未知数据,网关进行丢弃
万方数据
处理直接返回监听网络状态。
4测试结果与分析
将设计的wi—Fi—zigbee网关与同样采用无线通信技术的wi—Fi一蓝牙无线网关,以及采用综合布线的有线网关做如下比较,如表1。有线网关网络稳定性、抗干扰性方面高,但是耗时且灵活性较低,而无线网关耗费的工时少且在网络稳定、灵活和抗干扰方面均性能良好。
图7家庭网关主程序流程表1三种网关的比较
为验证Wi—Fi--Zigbee网关在智能家居监控系统中的性能,测试了两组性能指标:1)无障碍物和干扰状态下,随着距离的增加,数据丢包率和响应时问的变化情况;2)数据传输距离分别为10
in、20m、50
in时,有障碍物情况下丢包率和响
应时问性能变化;如图8所示,其中(a)、(b)为在无障碍物和干扰状态下测得三种网关下丢包率与响应时间的曲线;(c)、(d)为在有障碍物和干扰情况下所测得的数据。实验结果表明,在无障碍物传输距离为50m以内时,Wi—Fi--Zigbee网关较wi—Fi一蓝牙网关的优势明显,随着传输距离增加,丢包率低维持在3%左右,相对于有线网关高出2%左右,而响应时间波动在1ms以内,完全能够充分满足正常家居环境的通信需要,而且接收功率很低,非常适合家庭的使用。在有障碍物和干扰的情况下,Wi—Fi--Zigbee网关丢包率与响应时问较有线网关稍高,却远优于Wi—Fi一蓝牙网关。5
结语
本文提出了一种无线智能家居网关的设计和实现方案,
该方案采用低功耗ARM处理器S3C2440A为核心,利用内嵌TCP/IP协议栈的模块wi—Fi为网络的数据出口,以嵌入式Web服务器为网关,克服了传统网关架构下Zigbee传输速率较低的瓶颈,利用Wi—Fi和Zigbee全网无线无缝连接。实验表明,该系统可靠性高、协议转换效率高,抗干扰能力强,同时具有很好的通用性,非常适合在智能家居系统中应用。