常熟理工学院电气与自动化工程学院 高 虎 韩众杰 李 鑫
智能家居网关的设计与实现
常熟理工学院电气与自动化工程学院高虎韩众杰李鑫
现代智能家居系统大多基于云端控制架构,主要由智能家居用户控制终端、智能家居网络服务器、智能家居网关和智能家居家庭设备组成。本文在此控制方案的基础上,对智能家居网关进行了研究与设计,在硬件上使用全志ARM Cortex-A7高性能处理器作为系统处理核心,并设计了网络通信电路与Zigbee 通信电路,建立了云端控制网络和家居设备控制网络;在软件上使用Android系统作为软件运行平台,分别为网络通信和Zigbee通信设计了通信协议,并在应用层上完成了对两种通信数据的解析处理,再结合SQLite数据库实现了云端对家居设备的远程管理与控制。
Zigbee;Android;以太网;智能家居网关
随着知识水平和生活水平的提高,智能化的概念遍布到了当今社会的每个角落,人们的传统生活方式也发生了巨大的改变。实现对家居设备的系统化、网络化和智能化控制已经成为家居环境未来的发展方向。智能家居不仅为用户提供了更高效、快捷的控制方式,提高了生活乐趣,而且减少了日常生活中一些不必要的能量损耗。在当前大力提倡环保的背景下,智能家居能很好地践行节能环保、低碳生活的倡导。伴随着人们对生活质量要求的不断提高,将智能家居应用于家庭住宅中是时代发展的必然趋势。
智能家居系统主要由用户智能终端、智能家居网络服务器、智能家居网关与智能家居设备四大部分组成。在系统中,网关节点是Zigbee协议和以太网之间的转换接口,负责建立和管理传感器网络及外网通信网络。用户智能终端与智能家居网关构成外部互联网通信网络,而智能家居设备与智能家居网关之间则构成家庭内部设备通信网络。
智能家居网关是整个智能家居控制系统的核心,负责整个系统内的数据交互及协议转换等工作。智能家居网关集成示意图如图1-1所示。
图1-1 智能家居网关集成示意图
家庭内部智能家居设备的信息保存在网络服务器中,用户可以使用智能手机、平板电脑等智能终端通过3G、4G网络或WIFI接入互联网并连接网络服务器上,实现对智能家居设备的远程访问与控制。家中智能设备主要由智能开关、智能窗帘、调光照明灯、RGB调光灯和红外转发器等设备组成。
智能家居网关的硬件设计主要分为三个部分:主控制器核心板、外围通信模块、调试接口模块。其中主控制器核心板集成了Android系统的运行硬件环境与电源管理系统;外围通信模块包括Zigbee协调器模块用于家庭内部组网;以太网通信模块用于连接互联网中的网络服务器;调试接口模块包括USB调试接口与HDMI屏幕输出接口用于系统在线与辅助调试。智能家居网关硬件平台结构如图2-1所示。
图2-1 智能家居网关硬件平台结构图
2.1控制器模块
主控制器核心板使用全志具有1GHz主时钟频率的A31s ARM Cortex-A7 四核CPU作为处理核心,且辅以1GB DDR3 内存与4GB EMMC存储芯片,可流畅运行Android4.2.2系统并提供可靠的性能。并且使用少量外围器件即可扩展WIFI、蓝牙、以太网与GPS等各种数据传输模块。
2.2以太网控制器
以太网控制器选用Realtek公司的 RTL8201CP,RTL8201CP是一个单端口的物理层收发器,可通过网络变压器连接RJ45来实现全部的10/100M以太网物理层功能,RTL8201CP通过GMAC接口与主控制器连接。以太网控制器电路如图2-2所示。
图2-2 以太网控制器RTL8201CP电路
2.3Zigbee通信模块
Zigbee通信模块使用CC2530作为主控芯片,CC2530集成了2.4G RF收发器与增强型工业标准8051内核,可使用Zigbee 专用协议栈Z-Stack简化Zigbee通信系统的设计。结合具有信号功率放大器的射频前端芯片CC2591可为CC2530提供更大的信号覆盖范围。Zigbee通信模块电路如图2-3所示。
图2-3 Zigbee通信模块电路
智能家居网关的设计采用Android操作系统作为软件平台,在应用层上实现以太网通信功能、Zigbee通信功能和数据存储功能。其中对以太网通信与Zigbee通信需要分别设计数据通信协议来实现网络服务器对Zigbee节点状态的控制与读取。智能家居网关软件设计框架如图3-1所示。
图3-1 智能家居网关软件设计框图
3.1以太网通信功能软件设计
智能家居网关与网络服务器间采用Socket通信方式保持双向长连接,Socket通信在网络传输层上分为TCP和UDP两种方式,为保证数据传输的可靠性,本设计网络传输协议采用TCP方式。
网络通信数据分为两类,一类是智能家居网关接收网络服务器的数据,另一类是网络服务器接收智能家居网关的数据。为确定接收方接受到数据且已进行处理,接收方会向发送方返回确认消息,整个流程如图3-2所示。
图3-2 网络通信流程
3.2Zigbee通信功能软件设计
在一个典型Zigbee网络中,有协调器、路由器和终端节点三种不同功能的Zigbee设备。其中协调器负责建立Zigbee通信网络并与各个终端节点通信。
协调器的软件基于Z-Stack协议栈进行设计,在协调器上电后对Z-Stack协议栈进行初始化操作,扫描信道与PAN ID建立Zigbee网络,然后等待终端节点加入网络。当终端节点加入Zigbee网络时,协调器会向其分配Zigbee网络地址并发送入网成功响应。Zigbee协调器建立Zigbee通信网络的流程如图3-3所示。
图3-3 Zigbee协调器网络建立流程
3.3Zigbee设备和网络服务器通信流程设计
在网络通信与Zigbee通信的协议设计完成后,需要将两者的通信数据进行整合,从而实现智能家居网关对两种通信协议的转换。
Zigbee设备的通信数据主要分为用户本地操作后主动发送的数据和接收到命令后反馈的数据。在网络服务器与Zigbee设备的通信过程中,数据通过各模块层层传递。数据传递过程如图3-4所示。
图3-4 Zigbee设备和网络服务器通信数据流程图
在智能家居网关程序实现Zigbee设备与网络服务器交互的设计过程中,首先从Zigbee协调器与Zigbee节点设备的组网开始,然后实现智能家居网关对Zigbee设备的控制,最后实现Zigbee设备与网络服务器所发送的数据综合控制。
4.1Zigbee通信功能测试
智能家居网关主控制器与Zigbee协调器使用串口方式进行通信,在两者通信前先在PC端使用串口通信助手对智能家居网关主控制器的串口通信功能进行测试。
对Zigbee协调器进行通信测试,测试界面如图4-1所示。
图4-1 Zigbee协调器通信测试
由上图可知,智能家居网关主控制器向Zigbee协调器发送读取IEEE地址命令后,成功接收到Zigbee协调器返回的IEEE地址数据帧,Zigbee通信功能正常。
4.2以太网通信测试
在智能家居网关与网络服务器进行连接前,先在PC端使用Socket测试工具测试网络服务器是否可以连接,排除因网络服务器故障对网络通信测试的影响。网络服务器在PC端测试通过后,在程序中设置网络服务器的IP与端口,尝试与网络服务器建立TCP连接,调试输出信息如图4-2所示。
图4-2 智能家居网关以太网通信测试
由图4-2智能家居网关输出的调试信息可知,智能家居网关与网络服务器成功建立了TCP连接。智能家居网关在向网络服务器发送心跳包时迅速得到网络服务器回应的接收确认消息,说明两者之间的数据通信功能正常。
图4-3 Zigbee设备调试界面
图4-4 Zigbee智能开关调试数据
4.3联机调试
Zigbee设备调试界面如图4-3所示,其中1号、2号和3号按钮实现对智能开关的控制,开窗帘、关窗帘和停止按钮实现对智能窗帘的控制,红外学习与红外发送按钮实现对红外转发设备的控制,调光照明灯可通过滑动条实现对照明灯亮度的控制,RGB调光灯的三原色可通过滑块分别实现256级控制,并能在RGB_SET按钮中预览所设置的颜色。
以控制智能开关为例,在智能家居网关接收到网络服务器发送来的控制数据后,可以正确对智能开关进行控制。在用户在本地手动对Zigbee智能开关进行控制时,智能家居网关向网络服务器上报了Zigbee智能开关当前的状态。调试输出信息如图4-4所示。
本文提出一种无线智能家居网关的设计和实现方案,该方案采用高性能ARM 7处理器为核心,结合Zigbee模块和以太网模块,实现了Zigbee家用设备与互联网的无缝连接,具有很好的通用性。
[1]宋辉.智能家庭网络的研究[J].沿海企业与科技,2005.
[2]秦茂盛.基于Zigbee的智能家居系统设计[D].太原理工大学,2011.
[3]阮星.Zigbee技术在智能家居系统中应用的思考[J].科技信息,2010.
[4]王翔,樊强,王斌,王洪建,WANG Xiang,FAN Qiang,WANG Bin,WANG Hong-jian.基于Internet的智能家居网关设计与实现[J].电力系统通信,2011.
[5]满莎,杨恢先,彭友,王绪四.基于ARM9的嵌入式无线智能家居网关设计[J].计算机应用,2010,30(9).
[6]任丽莉,康冰,闫冬梅.基于Zigbee和Android的智能家居系统设计[J].长春师范学院学报:自然科学版,2013,32(6):31-35.
[7]朱祥贤.基于Android和Zigbee的智能家居系统设计[J].数字技术与应用,2014(9):131-133.
高虎(1995—),安徽阜阳人,常熟理工学院电气与自动化工程学院本科生,主要从事嵌入式系统方面的研究。
韩众杰(1996—),江苏南京人,常熟理工学院电气与自动化工程学院本科生,主要从事嵌入式系统方面的研究。
李鑫【通信作者】(1983—),安徽亳州人,常熟理工学院中级实验师,研究方向:智能检测与自动化装置。