基于2.4G及ZigBee的物联网智能家居控制系统设计

2020-06-04 03:55李富华侯汇宇
自动化与仪表 2020年5期
关键词:包率网关遥控

殷 明,李富华,侯汇宇

(1.苏州大学 电子信息学院,苏州215006;2.苏州格美芯微电子有限公司,苏州215011)

无线智能家居系统由于其灵活性、便携性以及较低的安装成本,开始日益普及。通过引入智能家居控制系统,可以方便地根据需求对家电设备进行针对性地远程管理和控制,从而给人们带来安全、舒适、高效的居住环境。

ZigBee 是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术[1],主要用于距离短、功耗低且传输速率不高的场合以及典型的周期性数据、间歇性数据和低反应时间数据传输的应用,因此非常适用于小型电子设备的无线控制指令传输。

目前ZigBee 智能家居控制方案众多,如PC 上位机、嵌入式图形用户界面GUI(graphical user interface)、云服务器等交互方式。然而,这些交互方式也存在一些问题:PC 上位机需要通过连接线与网关相连,降低了网关的可移动性;由于大多数时间网关处于闲置待机状态,使用嵌入式GUI 无形中增加了设备的开发成本及不必要的功耗,造成资源的浪费等;仅采用云服务器交互,无疑依赖于网络的质量,降低了系统的鲁棒性。因此,设计一套成本低、功耗低、鲁棒性高、易于引入的智能家居系统,变得尤为重要[2]。

1 智能家居系统方案设计

文献[3]设计了基于ARM 和ZigBee 的智能家居远程监控方案,使用ARM11 处理器移植Linux 开发网关,使用ZigBee 和TD-LTE 无线终端系统构建网络。该系统可以通过4G 网络和ZigBee 相互通信,采用触摸屏显示家用设备的状态信息及用户手机发送的信息,用户可以方便地输入相关命令来控制家用设备[3]。

文献[4]设计了基于Web 和GSM 的智能家居控制系统。该系统由ZigBee 模块、树莓派、智能插头和GSM 调制解调器组成,用户可以通过互联网或GSM远程灵活地监控家用设备[4]。

文献[5]设计了基于ZigBee 和WiFi 的智能家居系统,以STM32 作为主处理器,用TI 的CC2530 芯片形成ZigBee 无线传感器网络。用户可以通过智能终端设备与WiFi 模块进行通信,以太网模块可以将网关连接到互联网,以实现对室内的远程监测和控制[5]。

综合成本、能耗、功能等方面,对3 个方案进行简单对比。方案比对结果见表1。

表1 智能家居方案的对比Tab.1 Comparison of smart home solutions

结合上述问题,为进一步降低成本、功耗,增加智能家居的控制方式,在此设计了一种基于2.4G 和ZigBee 的智能家居系统。系统结构如图1所示。

图1 智能家居系统结构框图Fig.1 Structure block diagram of smart home system

该系统由云服务器、网关节点、2.4G 远程遥控节点及ZigBee 传感网络组成。网关主要负责ZigBee 传感网络与云服务器及远程遥控的数据交互;ZigBee传感网络由协调器及各子节点组成,采用Z-Stack协议栈构建星型网络进行无线数据传输[6]。烟雾传感器与温湿度传感器负责家庭环境监测;红外热释电传感器负责家庭安防监测[7];继电器模块用于非智能设备的远程开关;灯光控制节点使用太阳能电池板与红外热释电传感器可以实现智能灯光调节。

各子节点将采集到的数据通过网关上传至云服务器,云端数据同步至手机App;App(2.4G 遥控)控制指令通过WiFi 模块(2.4G 接收机)传给网关处理后,由协调器下发给相应终端节点,实现对各子节点的监测与控制。与传统的红外、蓝牙等遥控方式相比,2.4G 遥控具有诸多优点[8],不仅传输距离更远而且摆脱了指向性等问题,采用2.4G 遥控器与网关交互,可以在进一步降低成本、功耗的同时实现人机交互的功能,提高产品的性能。

2 系统硬件设计

系统硬件主要包括网关模块、ZigBee 模块及2.4G 遥控模块。硬件框图如图2所示。

图2 系统硬件框图Fig.2 System hardware block diagram

2.1 网关模块

网关模块由STM32 主控制器、WiFi 模块、ZigBee协调器模块,以及2.4G 接收机组成。其中,主控制器采用STM32F103ZET6 低成本、高性能32 位微控制器;WiFi 模块采用乐鑫科技ESP8266 模块;ZigBee协调器和子节点均采用TI 的CC2530F256 芯片;2.4G 接收机采用苏州锐控公司的XM9816 芯片。XM9816 是一款自带2.4G 高速无线收发模块的单片机,集成有射频收发器、频率发生器、晶体振荡器、GFSK 调制解调器等功能模块。通过SPI/IIC 接口可对输出功率、频道以及协议进行灵活配置,内置CRC、FEC、自动应答和自动重传机制,可以大大简化系统设计并优化性能。

模块采用完整电路方式设计,在最简单的情况下,用户只需连接电源线、地线,以及MOSI,MISO,CS,CLK 这6 根线即可使用。模块采用微带线,传输距离可达50 m 以上,具有体积小、功耗低、收发灵敏度高、价格低等优点。接收机电路如图3所示。

图3 2.4G 接收机电路原理Fig.3 Schematic diagram of the 2.4G receiver circuit

2.2 ZigBee 子节点模块

入侵检测采用HC-SR501 红外热释电模块; 烟雾报警采用MQ-2 可燃气体传感器模块;温湿度监测采用DHT11 温湿度传感器;继电器开关节点采用多路继电器模块;灯光控制模块由太阳能电池板、热释电传感器及LED 灯组成。

2.3 2.4G 遥控模块

遥控模块采用同类型2.4G芯片XM9603 作为主控制器,以矩阵键盘作为控制输入,使用电池供电。遥控器电路原理如图4所示。

图4 2.4G 遥控器电路原理Fig.4 Schematic of 2.4G remote control circuit

3 系统软件设计

3.1 网关程序设计

网关上电后相应硬件初始化。协调器选择PAN ID(personal area network ID)建立网络,当节点加入网络后,由协调器分配地址,随后开始接收数据[9]。协调器收到的数据由STM32 通过WiFi 上传至云服务器;WiFi/2.4G 模块收到命令由STM32 通过协调器解析后下发给相应节点。网关模块程序流程如图5所示。

图5 网关模块程序流程Fig.5 Flow chart of gateway module program

3.2 ZigBee 子节点程序设计

在预编译选项中增加NV_RESTORE=1 宏定义,这样在子节点断网重连后,协调器之前分配的短地址不变,协调器就可以继续使用该地址进行点播通信[9]。

ZigBee 子节点程序流程如图6所示。传感器节点定时采集传感器数据上传;继电器节点睡眠等待协调器消息;灯光控制节点具有4 种亮灯模式采用PWM 调光,根据指令切换模式。这4 种模式如下:

模式1为默认模式,夜晚,人体感应时微亮20 s;

模式2夜晚微亮,人体感应时最亮20 s;

模式3常亮;

模式4关闭人体感应并关灯。

图6 ZigBee 子节点程序流程Fig.6 Flow chart of ZigBee terminal node program

3.3 2.4G 遥控与接收程序设计

由于ZigBee 和WiFi 均为2.4G 频段[10],故2.4G模块采用WiFi 与ZigBee 间隔信道跳频通信,以降低信道干扰,提高通信质量。遥控器上电睡眠,通过按键触发唤醒,检测到按键则发送对应的数据包,检测到按键结束则立即进入睡眠,以实现低功耗与超长待机。接收机上电进入接收模式,若在规定时间内接收到正确数据则通过SPI 传给STM32 处理,否则立即切换信道重新接收。遥控与接收程序流程如图7所示。

图7 2.4G 遥控与接收程序流程Fig.7 Flow chart of 2.4G remote control and receiver program

3.4 云服务器与App 软件设计

网关通过WiFi 模块连接到云服务器,本系统选择机智云物联网云平台[11]。在平台注册并添加自己的数据点后,将生成的代码包移植到网关代码中,WiFi 模块需要烧录其官方固件,以便WiFi 模块启动后可以自动连接到路由和云平台;使用其官方App 即可对设备进行远程监控与管理,App 控制界面如图8。在机智云服务器项目管理后台可以查看设备连接情况,如图9所示。

图8 App 控制界面Fig.8 Graphics control interface of App

图9 网关连接服务器Fig.9 Gateway connected to cloud server

4 系统测试

为测试系统的无线数据传输质量,评估系统的可靠性,在楼宇有障碍物情况下进行丢包率测试[12]。为模拟ZigBee 节点在家庭环境下的分布,将试验节点放置在距离网关50 m 范围内不同的位置,然后分别使用App 以及2.4G 遥控器对网关在不同距离下进行遥控。楼宇环境下2 种方式的丢包率测试结果见表2。

表2 楼宇环境下两种方式的丢包率Tab.2 Packet loss rate of two modes in building environment

由表可知,随着距离的增加,手机App 控制方式的丢包率基本为0,体现出物联网的优势,但这也依赖于网络的质量,若网络不稳定,丢包率将增加。与App 控制方式不同,2.4G 遥控方式不依赖于网络,在20 m 范围内丢包率为0,在20~50 m 之间,丢包率为1%,随着距离的继续增大,丢包率将进一步增大。总体而言,本文设计满足要求,可以很好地实现对智能家居系统的控制。

5 结语

所提出的智能家居控制系统设计方案,使用了Zigbee 构建星型传感网络,以网关作为家庭传感网络与用户之间的桥梁,通过云服务器用户可以方便的对智能家居远程监控,使用2.4G 遥控与手机App遥控的方式,用户可以高效地对家居设备进行遥控,从而减少了室内布局布线的麻烦,同时也大大降低了成本及功耗。经过测试证明,该系统稳定可靠,具有成本低、功耗低、开发简单、易于扩展和引入等优点,可以满足用户对智能家居的需求。

猜你喜欢
包率网关遥控
支持向量机的船舶网络丢包率预测数学模型
基于FPGA的工业TSN融合网关设计
一种基于喷泉码的异构网络发包算法*
“遥控”老师
一种主从冗余网关的故障模式分析与处理
电磁线叠包率控制工艺研究
他是如何遥控引爆的
天地一体化网络地面软网关技术及其应用
IEEE 802.15.4协议无线传感器网络干扰测试∗
基于ETC在线支付网关的停车场收费系统设计