摘要: 针对传统智能家居系统中多种无线通信技术之间互联的困扰,设计了一个新的两种无线通信技术直连的智能家居网关。该网关以ARM920T 嵌入式处理器S3C2440A 为核心,ARM Linux 为实时操作系统,采用新兴的Zigbee 与Wi-Fi 融合的通信技术,以满足家庭远程监控、家庭安防和家电控制的个性化需求。在ARM9 处理器上构建嵌入式Web 服务器,通过扩展Wi-Fi 模块与Zigbee 模块实现家庭内部无线网络的建立以及与Internet 的连接,并给出了硬件组成结构和软件实现流程。实验结果表明,该网关在丢包率与时间响应方面优于有线网关和Wi-Fi-蓝牙网关,适合在智能家居系统中应用。
0 引言
随着人们生活水平的提高以及计算机技术、通信技术和网络技术的发展,智能家居逐渐成为未来家居生活的发展方向。智能家居不仅能给用户提供安全、健康和舒适的生活环境,而且用户能够远程监控自己的家居状态和控制家庭电器设备。在智能家居系统中,采用无线网络技术可以提供更大的灵活性、流动性,更符合家庭网络简洁性、灵活性、模块化、扩展性及独立性的通信特点,将无线网络技术应用于家庭网络已经成为主流趋势。
Zigbee 作为一种新兴的无线通信技术,其低速率、低成本、低功耗、自配置和灵活的网络结构,非常适合于家庭内部组网。而Wi-Fi 作为一种无线联网技术,最主要的优势在于不需要布线,不受布线条件的限制,因此特别适合移动办公用户的需要,在智能家居中采用Wi-Fi 技术使得家庭内部网络与Internet 连接更加便捷,通过一台Wi-Fi 的手持终端设备就可以直接进入家庭网关,实现对家电设备的远程监控和智能控制。系统中家庭网关为Wi-Fi-ZigBee 的Web 服务器,它是ZigBee 协议、Wi-Fi 协议和以太网之间的转换接口,并负责建立和管理无线传感器网络以及实现外网的通信连接。
1 网关总体设计和工作流程
系统主要包括ARM9 处理器S3C2440A ( 家庭网关) 、Zigbee 模块( 协调器) 、Wi-Fi 模块、Zigbee 终端设备( 如红外探测器、门磁开关和火灾探测器和烟感燃气探测器等) ,其结构如图1 所示。在ARM9 处理器中移植Web 服务器Boa 作为家庭网关,负责对整个智能家居设备的管理以及远程监控。
由于智能家居中许多家电设备都是通过Zigbee 无线传感网络来工作的,因此必须在处理器中保存数据并对Zigbee 无线传感网络进行数据融合处理,协调器负责家庭内部Zigbee 网络的管理与控制。Wi-Fi 模块用来传输大容量信息,通过无线访问节点( Access Point,AP) 路由器与以太网连接,实现家庭内部网络与Internet 的通信。
图1 系统结构
系统处理基本流程如下: 系统内部由Zigbee 星型网络组成,家中电器开关状态和传感器的控制信息在网络中自由传输,经由协调器( Zigbee 模块) 传送至Web 服务器的网关,再由网关通过Wi-Fi 经无线路由连接到外部以太网,用户可以通过远程用户界面端了解家中电器状态; 家庭网关可以通过无线网络对远程用户的控制命令作出判断和响应,从而开启或关闭家中的电器。
2 网关硬件平台设计
网关硬件电路主要由控制器模块( S3C2440A) 、存储单元( 64 MB SDRAM、64 MB Nand Flash 和2 MB Nor Flash) 、通信模块( Zigbee 模块和Wi-Fi 模块) 和显示模块( LCD) 等组成,其硬件电路结构框图如图2 所示。
图2 系统硬件电路
2. 1 控制器模块
控制器是整个嵌入式家庭网关的核心,用来对Zigbee 通信模块进行相应配置并接收Zigbee 终端节点的数据,利用Wi-Fi 协议将网关通过Wi-Fi 模块连接到Internet 网络。为了能达到高性能、低功耗的目的,设计的嵌入式网关采用以ARM920T 为核心的32 位的RISC 微处理器S3C2440A 作为主控制器,该处理器集成了LCD 控制器、USBHost、NAND 控制器、BUS 控制器、中断控制、功率控制、存储控制、UART、SPI和GPIO 等丰富的外围资源,通过外扩存储器、串口、USB接口和JTAG 调试接口等构成硬件平台。
2. 2 Zigbee 组网模块
在智能家居系统中,采用Zigbee 无线通信技术将智能家电设备组成星形网络。星形网络是一个辐射状的结构,网络命令和数据都是通过协调器传输,终端设备之间通信也是通过协调器转发,终端设备不是通信的起点就是通信的终点。
Zigbee 扩展模块在家庭网关中作为网络协调器,可以是通信的起点或终点,负责各子传感器节点的通信管理、动态组网与数据传输。Zigbee 终端节点包括家庭内部网络中的门磁开关、红外对射探测器、玻璃破碎探测器、火灾探测器以及烟感和燃气泄露探测器等。
Zigbee 模块采用JENNIC 公司的JN5139,这是业界第一款与IEEE802. 15. 4 兼容的低功耗、低成本无线控制模块。
该模块与S3C2440A 中的UART1 相连,S3C2440A 中有三个通用异步串行接口,UART0 是RS232 接口,用来连接PC 机,UART1 和UART2 是TTL 接口。这里使用UART0 来连接,设置相应波特率后实现数据传输。其通信接口电路如图3 所示,只需连接TXD0 和RXD0 两根信号线即可实现两者的数据传输通信。
图3 JN5139 的通信接口电路
2. 3 Wi-Fi 通信模块
该模块用来实现家庭网关与Internet 连接。Wi-Fi 模块采用威盛的VT6656 芯片实现数据的远程传输,VT6656 芯片内嵌TCP / IP 协议栈,降低了设计的难度,同时大大提高了主控制器处理其他数据的能力。VT6656 与S3C2440A 的连接非常简单,二者可以通过标准的USB 接口直接相连。VT6656芯片的主要特性: 54 Mbps 标准802. 11g 无线Internet 访问,比基于802. 11b 协议快5 倍; 采用USB 2. 0 最高比USB 1. 1 快40 倍; 新的天线技术支持更远距离的无线访问; 支持所有标准802. 11g 和802. 11b 无线路由器及接入点; 支持64 /128 /152 位WEP 加密; 支持WPA /WPA2、WPA-PSK /WPA2-PSK 等高级加密与安全机制。
3 软件平台设计
软件平台采用一种开放源码的Linux 操作系统,便于在其基础上完成各项相关应用程序的开发。软件主要涉及到操作系统的裁剪与编译、驱动程序编写和系统主程序编写。
3. 1 家庭网关软件体系结构
家庭网关采用模块化设计方案,如图4 所示由硬件驱动层、操作系统层、网络协议层和应用程序层组成。硬件驱动层描述网关节点中Zigbee 模块和Wi-Fi 模块的驱动; 操作系统层移植了ARM Linux 实时操作系统内核; 网络协议层移植了Zigbee 和Wi-Fi 协议栈,实现Zigbee 和Wi-Fi 协议双向转换;应用程序层在Linux 内核上移植嵌入式Web 服务器软件Boa.
图4 家庭网关结构。
网关中的网络协议层主要完成从Wi-Fi 和Zigbee 协议的相互转换工作。对于从Zigbee 设备发送到Wi-Fi 的数据,在网关需要经过以下处理步骤: Zigbee 设备接收到数据→去掉物理层Zigbee 分组→去掉MAC 层Zigbee 分组→添加MAC头的Wi-Fi 分组→添加物理层头的Wi-Fi 分组→Wi-Fi 处理或发送。Wi-Fi 接收数据到发送给Zigbee 设备的过程如下:
Wi-Fi 接收到数据→去掉物理层Wi-Fi 分组→去掉MAC 层Wi-Fi 分组→添加MAC 头的Zigbee 分组→添加物理层头的Zigbee 分组→Zigbee 处理或发送。Wi-Fi-Zigbee 通信协议模型如图5 所示。
图5 Zigbee /Wi-Fi 网关的通信协议模型。
3. 2 Zigbee 组网软件设计
家庭网关集成了Zigbee 网络协调器和嵌入式Web 服务器,有两个主要功能。1 ) 实现无线传感器网络的建立,传感器节点管理和数据传输。将收集到的数据存储在数据库中,使用户可以随时查询监控Zigbee 终端设备的状态。2) 用户可以通过Web 浏览器直接访问网关,可以进行实时监测和远程管理。
为了实现家庭网关的功能,在硬件平台上移植了Linux2. 6 实时操作系统、Zigbee 协议栈和VT6656 的驱动程序,并使用基于HTTP 协议的Boa 服务器作为Web 服务器,其中ZigBee 网络协调器的软件实现包括ZigBee 协议和监控管理程序的移植。该软件流程如图6 所示。
图6 Zigbee 软件流程。
在智能家居内部ZigBee 无线网络中,首先协调器进行初始化,然后协调器选择一个称为PAN ID 的标识号码,接着启动网络,所有的设备接入CSMA-CA 机制的协调器。当协调器收到数据时,首先判断是新节点加入网络的请求还是设备节点的控制请求: 如果是新节点加入网络的请求则分配网络地址并绑定节点; 如果是控制请求,则调用控制请求处理函数处理数据。数据处理完毕,协调器返回等待请求监听状态。
3. 3 家庭网关主程序设计
家庭网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式,Zigbee 协议栈由一系列分层结构组成,包括物理层、数据链路层、网络层、应用支持层和应用层,每一层为上一层提供服务。采集节点将要传输的节点地址信息和监测数据以Zigbee 帧的形式打包发送给网关节点。传送数据在通过物理介质进入网关后,先用Zigbee 协议栈解封装得到原始数据,网关可以用操作系统上的应用软件根据需要对原始数据处理。然后再以TCP / IP 协议打包后通过USB 口与Wi-Fi 通信模块VT6656 相连,Wi-FiVT6656 网卡通过AP 路由器,将数据传送到Wi-Fi 网络中,AP路由器接入Internet,从而实现网关与Internet 相连。为实现系统的监测和控制两大功能,数据帧结构的设计由前导码、数据模式、目标地址、数据长度、数据信息与校验和等部分构成[3],其中数据信息字段又划分为方向位、功能类型和数据。
方向位分为上行和下行两种: 上行传输的是监测数据,下行传输的是控制命令。
家庭网关主程序处理流程如图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 m、20 m、50 m 时,有障碍物情况下丢包率和响应时间性能变化; 如图8 所示,其中( a) 、( b)为在无障碍物和干扰状态下测得三种网关下丢包率与响应时间的曲线:(c) 、(d)为在有障碍物和干扰情况下所测得的数据。实验结果表明,在无障碍物传输距离为50 m 以内时,Wi-Fi-Zigbee 网关较Wi-Fi-蓝牙网关的优势明显,随着传输距离增加,丢包率低维持在3% 左右,相对于有线网关高出2% 左右,而响应时间波动在1 ms 以内,完全能够充分满足正常家居环境的通信需要,而且接收功率很低,非常适合家庭的使用。在有障碍物和干扰的情况下,Wi-Fi-Zigbee 网关丢包率与响应时间较有线网关稍高,却远优于Wi-Fi-蓝牙网关。
图8 三种网关在不同环境下丢包率与响应时间的比较
5 结语
本文提出了一种无线智能家居网关的设计和实现方案,该方案采用低功耗ARM 处理器S3C2440A 为核心,利用内嵌TCP / IP 协议栈的模块Wi-Fi 为网络的数据出口,以嵌入式Web 服务器为网关,克服了传统网关架构下Zigbee 传输速率较低的瓶颈,利用Wi-Fi 和Zigbee 全网无线无缝连接。实验表明,该系统可靠性高、协议转换效率高,抗干扰能力强,同时具有很好的通用性,非常适合在智能家居系统中应用。
评论
查看更多