岑荣滢, 姜 琴, 扈健玮, 孙梦莉
面向智能家居应用的ZigBee-WiFi网关①
岑荣滢, 姜 琴, 扈健玮, 孙梦莉
(青岛工学院信息工程学院, 青岛 266300)
ZigBee和WiFi是智能家居设备常用的两种无线通信技术, 针对智能家居设备使用ZigBee自组网无法和用户WiFi网络中的智能终端直接通信的问题, 设计面向家庭应用环境的ZigBee-WiFi无线网关. 网关采用S3C6410作为控制核心, 运行Linux操作系统, 以USB连接无线网卡, 以DMA通道连接CC2530模块. 通过信道扫描切换的方案解决ZigBee和WiFi两种信号之间相互干扰的问题, 通过数据线连接的方式给要加入ZigBee网络的新设备分发密钥. 实验表明, 所实现的无线网关信号稳定, 丢包率低, 实用性强, 在智能家居系统中运行稳定、可靠.
ZigBee; WiFi; 无线网关; S3C6410; 智能家居
智能家居在近年的发展迅速, 使用家庭户数从2002年的2万户, 经过2007年的45万户, 直达2010年的68万户[1]. ZigBee和WiFi无线通信技术在智能家居系统中得到普遍的应用, 并且在同一智能家居系统中往往同时使用这两种技术, 并通过异构网网关实现互联, 以实现不同网络中终端的信息交互.
网关是一种充当转换重任的计算机系统或设备, 是连接不同网络的软件和硬件的结合体. 在使用不同的通信协议、数据格式或语言甚至体系完全不同的两种系统之间, 网关是一个翻译器; 通过重新封装数据信息以使得它们能被另一个系统读取, 以适应目的系统的需求[2].
本文研究并设计了一种面向智能家居应用的WiFi与ZigBee网关, 实现异构网络中的终端在家居环境下的数据交互, 解决两种信号都工作在2.4GHz的ISM频段会产生的干扰问题, 并通过miniUSB连接的方式给新的需要连入ZigBee加密网络的智能节点设备导入安全密钥.
ZigBee-WiFi异构网网关实现WiFi和ZigBee两种通信协议之间的转换, 使得入网设备不仅可以和WiFi或ZigBee各自网络内的节点设备通信, 而且能够使分别处在WiFi网络和ZigBee网络的节点设备实现相互通信[3].
网关的主要部件包括: 核心控制芯片, ZigBee模块, WiFi模块, 显示屏和miniUSB接口, 如图1所示.
图1 网关总体结构图
网关采用S3C6410为核心控制芯片, 运行Linux操作系统. 选择S3C6410的原因是它集成了USB Host控制器, 可以直接从CPU引线出来, 不需要添加额外的控制芯片, 所以它的USB Host接口可以直接连接USB无线网卡[4]. 同时, S3C6410包含4个DMA控制器, 每个控制器由8个传输通道组成, 每个控制器提供16个外设DMA请求, 并且DMA控制器支持外部中断响应, 即每个通道可以支持从内存到外设, 从内存到内存, 从外设到内存, 从外设到外设4种模式的数据传输[5].
ZigBee模块采用CC2530模块, 通过DMA通道与主控芯片相连. 使用DMA通道可以保证以较高速率传输数据而不占用CUP, 让CPU能够继续完成其他工作[6], 能够让CC2530在传输数据给S3C6410时, CPU能够继续执行Z-Stack协议栈的其他重要任务.
WiFi模块采用ralink3070模块, 通过USB连接, 作为无线网卡使用. 使用WiFi模块, 先要安装无线网卡驱动, 步骤如下:
1.有效化解各类矛盾,保证各项工作平稳进行。一号煤矿在经营、生产、管理运行过程中,厂务公开使广大职工通过知厂情、参厂政、议厂事,把矛盾化解在基层与企业,保证企业稳定发展。企业把职工关心、涉及其切身利益的重大事项向职工代表大会报告,向职工如实公开、接受广大职工的监督,有效地维护了职工的各种权益。一号煤矿每年一度的区队职工代表大会与矿职工代表大会都能广泛征集职工意见,重视吸纳职工的参与,集合集体智慧,尊重职工的知情权、参与权与监督权,深入基层,集中精力,最大限度地解决职工在生产生活中的各类问题,推行以职代会为基本形式的厂务公开,真正实现企业的民主管理。
(1) 修改内核源代码, 加入驱动配置信息, 重新编译内核;
(2) 编译通过后会生成rt3070sta.ko驱动文件, 动态加载模块#insmod rt3070sta.ko, 插入网卡, 能够成功识别;
(3) 安装Wireless Tools工具配置WiFi, 主要通过iwlist, iwpriv和 iwconfig命令来查看和设置WiFi信息.
WIFI和Zigbee两种网络协议的数据包格式不同.
CC2530执行的Z-Stack协议栈能够处理ZigBee协议帧, Linux系统能够形成WiFi协议帧. CC2530协调器在DMA通道以数据透明传输的方式把ZigBee数据传入到网关, 在网关建立socket服务器, 将ZigBee协调器发来的数据传入连接的客户端, 将客户端发送来的数据传入ZigBee协调器. 无论开发者需要怎样的节点对应关系都不需要对网关程序重新编写, 而只要在ZigBee协调器和客户端软件上设置数据转发对应关系.
WiFi和ZigBee互联存在传输速率不匹配的问题, 如表1所示, 由于WiFi的数据收发传输数量大于ZigBee, 在网关内部WiFi端传入数据到ZigBee端需要设置中间缓冲区. 模块中设置数据中转的缓冲区为512字节. 同时控制WiFi端传入ZigBee端的每包数据在80字节以内, 发送间隔为5ms, 用以防止WiFi端数据传输速率过快使得缓冲区溢出导致的数据丢失[7].
表1 ZigBee与WiFi比较
ZigBee和WiFi除了传输速率不同, 还存在信号干扰的问题. 如表1所示, 两种无线方式都工作频段都在2.4GHz, 扩频方式都为DSSS, 两者有信道重叠, 会产生干扰. 国内802.11信道1、6、11, 分别与ZigBee的11-14、16-19、21-24信道重叠, 与15、20、25、26信道不重叠[8]. ZigBee与WiFi在2.4GHz段的信道分布, 如图2所示.
图2 2.4GHz段ZigBee与WiFi信道分布对比图
图3 信道扫描选择流程图
通过读取RSSI判断信号接收质量, 当RSSI低于阈值, 开始扫描寻找干扰程度低的信道, 同时为了避免在各信道都繁忙时节点设备不停切换信道, 重新组网, 还要限制两次信道切换间的最小时间间隔. 优先扫描ZigBee与WiFi不重合的第26、25、20、15信道, 更容易避开WiFi信号的干扰, 同时考虑到其他ZigBee网络信号的干扰, 在这四个信道条件不满足的情况下, 仍然需要继续扫描其他信道.
为验证网关的信道选择功能实际效果, 在不受重叠干扰信道和受重叠干扰信道测试传输延迟和丢包率, 进行了4组对比实验. I组为无干扰环境下, II组为不使用信道扫描, 设置ZigBee信道与WiFi干扰源网络信道重叠, III组为不使用信道扫描, 设置ZigBee信道与另一ZigBee干扰源网络信道重叠, IV组为使用信道扫描自动切换方案, 设置多个信道WiFi干扰源和ZigBee干扰源.
表2 传输性能对比
实验结果如表2所示, 实验结果表明, 网关在不使用信道扫描切换方案时, 受到其他WiFi信号和ZigBee信号干扰比较严重, 丢包数增多, 延迟增大, 在使用信道扫描切换时, 虽然切换信道期间的数据传输延迟会增大, 但是平均延迟和总体丢包率较无信道切换方案要低, 因而达到了设计的目标.
家用ZigBee网络及设备有很强的私有性, 网络通信需要安全保护, 外来设备不经认证不允许接入, 家庭购置智能设备往往是逐渐购买, 连入网络的设备是逐个添加, 但是ZigBee使用对称加密的AES加密法, 这要求设备有相同的密钥(KEY)才能连入网络, 后加的设备无法得到当前网络通信的密钥(KEY), 不能正常入网通信, 这给使用ZigBee网络的智能设备进入家庭造成了困难[9].
本文设计的网关以miniUSB连接的方式来给予新设备网络密钥. 智能家居设备和网关之间实现一次有线连接, 操作上并不困难. 当有新设备需要添加入网时, 通过miniUSB数据线连接到网关, 网关获取新设备的MAC地址, 记录到白名单, 注册设备类型, 同时将网络密钥传入新设备. 该节点获取了入网密钥就可以加入到当前ZigBee网络中[10].
为了验证WiFi-ZigBee网关在家庭环境中应用的运行情况, 本网关在ZigBee智能家居系统中进行实验, 智能家居系统包括ZigBee家居设备网络, WiFi-ZigBee网关, 智能手机和PC机, ZigBee家居设备网络中包括安防传感器, 家居环境传感器和照明控制节点, 如图4所示.
智能手机和PC机与网关连入同一个WiFi路由器, 在智能手机和PC机上能够监测全部ZigBee节点设备的工作状态和采集的数据, 可以控制照明灯的开关.
在ZigBee网络中要添加一个新的照明灯节点, 先将照明灯节点与网关连接, 注册设备MAC地址, 在上位机注册该MAC地址设备的种类为照明灯, 照明灯节点获取网络密钥, 自动连入网络, 通过智能手或PC机可以成功控制照明灯开关, 如图5所示.
图4 智能家居系统结构图
传统ZigBee组网设备只能一次部署完, 不能授予系统外的ZigBee新设备通信密钥, 使得消费者不能逐步增加ZigBee智能家居设备. ZigBee和WiFi共同工作在2.4GHz频段, 产生了相互间信号干扰的问题, 本文设计了一种面向家庭应用的ZigBee-WiFi无线网关, 以S3C6410为控制核心, 通过CC2530和ralink3070无线网卡连接ZigBee和WiFi网络, 通过miniUSB连接要加入ZigBee网络的新设备, 记录MAC地址, 并授予入网密钥, 使其接入原加密网络. 通过设置数据缓存和采用DMA通信方式实现网络速率匹配, 通过加入信道筛选, 频率捷变的控制方案, 使得ZigBee和WiFi在2.4GHz频段内尽可能避免干扰, 获取更高的网络传输性能. 经试验证明该网关能够实现ZigBee网络和WiFi网络中的设备的相互通信, 适合各种智能家居设备接入, 通信传输性能稳定优良. 使得人和智能家居设备的交互更加方便.
1 傅率智.智能家居安全网络的一种新结构.中国高新技术企业,2016,1(8):9–10.
2 樊锐,李茹,王绩一.蓝牙/ZigBee无线网络传输系统的设计与实现.计算机技术与发展,2013,23(1):209–213.
3 仲伟波,李忠梅,石婕,陈忠铭.一种用于设施农业的ZigBee-WiFi网关研制.计算机科学,2014,41(6A):484–486.
4 刘玉宝,霍春宝,张扬.USB无线网卡在嵌入式系统中的应用.辽宁工业大学学报,2008,28(6):364–366.
5 陈安地,李小文.基于S3C6410的DMA数据跟踪技术在TD-LTE中的实现.电子技术应用,2012,38(5):19–22.
6 Hessel S, Szczesny D, Bruns F, et al. Architectural analysis of a smart DMA controller for protocol stack acceleration in LTE terminals. The Sixteenth IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. Macau, China. 2010. 309–315.
7 胥嘉佳,许鸣.基于网关的ZigBee和WiFi互通设计.电子科技,2014,27(6):22–25.
8 张毅,吴锦,罗元,陈思璇.新型ZigBee-WiFi无线网关的设计及其抗干扰技术的研究.计算机应用与软件,2014,31(5): 122–124,187.
9 曲金帅,陈楠,范菁,徐野.基于Zigbee-WiFi的异构无线传感网实时数据融合机制研究.云南民族大学学报(自然科学版),2014,23(5):365–368.
10 董哲,宋红霞.ZigBee-WiFi协同无线传感网络的节能技术. 计算机工程与设计,2015,36(1):22–29.
ZigBee-WiFi Gateway for Smart Home Application
CEN Rong-Ying, JIANG Qin, HU Jian-Wei, SUN Meng-Li
(School of Information Engineering, Qingdao University of Technology, Qingdao 266300, China)
In smart home applications, ZigBee and WiFi devices are two common wireless communication technologies. The problem is that the smart home devices in the ZigBee self-organizing networks can not directly communicate with the intelligent terminals in the WiFi networks. In order to solve this problem, a home-oriented application environment ZigBee-WiFi wireless gateway is designed. The gateway uses S3C6410 as the control core, runs on the Linux operating system, connects to a wireless network card with USB and connects CC2530 module with the DMA channel, which resolves the issue of mutual interference between ZigBee and WiFi signals by scanning and switching the transmission channels. Key is distributed to the new devices that join the ZigBee network by miniUSB connections. Experiments show that the wireless gateway has stable signal and less packet loss. It is stable and reliable in application of smart home system.
ZigBee; WiFi; wireless gateway; S3C6410; smart home
国家级大学生创新创业训练计划(201513995007);青岛工学院大学生科技创新项目(2015cx006)
姜琴.Email:ritajq@126.com
2016-04-07;收到修改稿时间:2016-06-12
[10.15888/j.cnki.csa.005540]