嵌入式的无线智能家居网关的设计原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式的无线智能家居网关的设计原理
信管理、动态组网与数据传输。Zigbee 终端节点包括家庭内部网络中的门磁开关、红外对射探测器、玻璃破碎探测器、火灾探测器以及烟感和燃气泄露探测器等。
Zigbee 模块采用JENN IC公司的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 模块,并返回监听状态; 若是未知数据,网关进行丢弃处理直接返回监听网络状态。