梁峰,赵金才,都晓鹏,方昱凯,王鹏飞
基于ZigBee2007/PRO的智能家居无线组网设计
梁峰,赵金才通信作者,都晓鹏,方昱凯,王鹏飞
(天津农学院工程技术学院,天津 300384)
提出一种基于ZigBee2007/PRO协议栈的ZigBee无线组网设计方案,设计采用CC2530作为ZigBee协调器和ZigBee终端的主控芯片,终端设备挂载不同的传感器形成智能家居系统中的控制、检测节点,与作为主控中心的协调器无线互联,组成一整套智能家居控制系统。
智能家居;ZigBee;无线组网
随着科学技术的快速发展以及人们生活水平的提高,传统家居所能提供的简单居住环境已不能满足人们对高品质生活的追求[1],智能家居这一概念应运而生。广泛应用的智能家居系统无线组网一般利用WiFi或蓝牙实现。WiFi采用无线电波传输数据信号,具有较好的扩展性和可移动性,但在信息安全方面存在隐患。曾有媒体报道,某智能家居产品被黑客轻松攻破,这说明WiFi传输具有不安全性。与WiFi相比,蓝牙具有更好的安全性能,但蓝牙技术的协议较复杂、功耗大、成本高、传输距离近等问题也不适合于智能家居通信。WiFi、蓝牙的这些缺点制约了智能家居的发展。与WiFi、蓝牙相比,ZigBee是一种低功耗、低成本、安全性能高的无线网络技术。蓝牙和WiFi网端只能接入10个端口,而ZigBee的每个网络端口可以最多接入6.5万多个端口,有效范围可达200 m,在智能家居的使用性能方面要优于其他无线技术,完全能够满足普通家庭的使用需求[2]。
本文采用TI公司的CC2530芯片及配套的ZigBee2007/PRO协议栈,针对家庭中的实际情况设计了一套ZigBee无线传输控制系统。该家用电器的无线组网实现了多节点易燃气体、温湿度等参数的监测,家庭入侵状况的监视,消除了家中火灾、中毒、被盗等诸多安全隐患。同时利用该网络还可以远程控制电灯、空调、热水器等家用电器,真正实现家居的可监可控,系统还可以根据各自户型的特点,进行定制安装,拥有很高的兼容性和可选择性,适合智能家居广泛应用[3]。
系统主要由一个ZigBee协调器、多个ZigBee终端、电源模块、按键输入模块、液晶显示模块、防盗监控模块、烟雾检测模块、温湿度模块和无线开关模块等组成。协调器和终端之间采用无线通信。变压后的市电和锂电池为整套系统的工作提供电源;按键输入模块以及液晶显示模块用于人机交互;协调器是整套无线网络的主处理中心,它的主要任务是建立并监督无线网络的正常运行;各个协调器上挂载着不同的传感器模块,大部分时间休眠,只在设定的固定时间段唤醒进行采集数据并回传,消耗电流少。系统可以被放置在家中的不同位置,采集各种信息并无线回传到协调器用于用户处理[4]。整套系统结构框图如图1所示。
根据模块化设计思想将系统硬件划分为多种独立模块,用户可以根据各自户型的不同进行增删,与传统方式相比,不仅拥有很高的兼容性和可选择性,而且降低了施工成本和安装周期。
2.1 ZigBee模块
系统中选用的ZigBee协调器及终端均是以TI公司CC2530F256芯片为主核心的模块,CC2530是用于ZigBee的一个真正的片上系统。片内置有增强型8051 CPU,工作电压为2~3.7 V。
2.2 电源模块
电源是一个系统运行的关键,考虑到实际使用和安装方便,本系统采用两种方式进行供电。协调器和执行控制节点需长期供电且不用移动位置,它们利用市电变压供电;而检测节点需要检测家中任意位置,为方便移动,采用单节3.7 V锂电池对其独立供电。
利用变压器先将220 V变压到12 V为继电器供电,同时12 V经过开关稳压芯片LM2596转至5 V为各个传感器模块供电,由于开关稳压芯片电压纹波大,所以采用线性稳压芯片7333将电压稳定至3.3 V为主芯片CC2530供电,减少干扰,保证主核心单片机的正常运行,原理图如图2所示。
单节3.7 V锂电池同样采用低压差稳压芯片7333将电压稳压至3.3 V,为可移动的数据检测终端节点的单片机进行供电。终端上电后首先使用电池电压,如电量不足,则通过闪烁终端模块上的LED提醒用户充电。
2.3 人机交互模块
人机交互模块包括输入按键和LCD液晶显示屏,按键与CC2530的IO口相连接,实现用户设置信息的输入。LCD采用12864的液晶显示屏,用于显示终端模块采集回来的信息以及家中设备的状态。
2.4 传感器模块
在ZigBee终端上挂载不同的传感器模块可构成各种各样的控制节点,在使用时根据实际情况进行合理的调配,满足不同的用户需求。
2.4.1 烟雾检测模块
系统采用MQ-2型烟雾传感器,当检测家庭厨房天然气的泄漏或发生火灾产生的烟雾时,连接烟雾传感器的终端将信息发送至协调器,协调器报警,提醒家人进行妥善处理。原理图如图3所示。
2.4.2 防盗监控模块
系统采用人体热释电红外传感器与霍尔门磁传感器作为防盗模块,红外热释电传感器能以非接触形式检测出人体辐射的红外线能量的变化,判断是否有人非法入侵。霍尔门磁传感器由安装在门框上的霍尔传感器和安装在门上的霍尔门磁传感器组成,当门窗关好时,磁铁位于霍尔传感器的正下方,当门窗没有关好或者是在自动安防模式下盗贼破门而入时,霍尔传感器不会检测到磁铁。基于霍尔原理能够实现家中的防盗监控以及对门窗开关状态的监测。
2.4.3 温湿度模块
系统温湿度模块采用DHT11温湿度传感器,温湿度检测范围为:0~50 ℃和20%~90%RH。能够满足家庭的日常应用。
2.4.4 无线开关模块
系统的无线开关模块由多个松乐SRD- 12VDC-SL-C型继电器组成,最大允许电流高达10 A,满足一般家用电器功率要求。通过光耦实现强弱电隔离,既能消除继电器动作对单片机的影响,又能防止触电事故的发生。原理图如图4所示。
系统采用TI公司提供的ZigBee协议栈,利用C语言在官方提供的Z-Stack通用模版的基础上,调用协议栈封装好的API实现具体的功能。系统采用星型结构。上电后,协调器会在ZigBee2007/ PRO协议栈的调配下初始化并建立自己的网络,同时为建立的网络分配区别于其他网络的网络标识符PANID。当挂载有不同传感器的终端模块得电后同时自动搜索网络,实现网络自组。
3.1 ZigBee协调器软件设计
整个系统软件中协调器与终端的软件建立在同一个工程当中,通过修改IAR编译器预编译项的宏定义来区分协调器及终端的程序。
当上电完成后协调器在网络中有3项任务[5]:
第一,建立并维护无线网络的正常运行,这一部分在Z-Stack协议栈中自动完成。
第二,解析用户的输入,将相应命令发给终端设备。
第三,接收从终端节点返回来的信息,在LCD屏幕上显示,实现人机交互。
在协议栈自带操作系统osal中,这3项任务几乎是同时进行的。协调器工作流程如图5所示。osal顺序执行task任务,主要功能函数编写在用户自定义任务当中。其中SYS_EVENT_MSG事件不可屏蔽,该项发生后,系统提取消息包,如果提取到的命令为AF_INCOMING_MSG_CMD,说明协调器通过射频RF收到了数据,随即调用数据处理函数。收到的信息包括clusterId 串和真正的数据,系统给每个终端分配各自的clusterId串,在数据处理函数中通过区别clusterId串来识别不同的终端模块,进而将不同终端节点传来的信息进行相应的处理,如将家中其他设备的实时状态显示在LCD屏幕上供用户观察等。
3.2 ZigBee终端软件设计
在Z-Stack协议中,ZigBee模块之间的通讯方式有3种,分为广播、组播和单播。协调器向终端广播信息,终端向协调器单播信息。终端之间不能相互直接通信,需要中控中心的协调器作为两者之间的中转站。终端上电后,首先检测电源电压,如果电压不足则闪烁LED提醒用户更换电池,如果电压正常,则osal轮询任务,与协调器相同,当SYS_EVENT_MSG事件发生,消息列表里包含的命令为ZDO_STATE_CHANGE时,说明本设备网络状态改变,如果本设备被分配为终端节点,则开启一个定时任务,进入休眠计时,到设定时间唤醒设备进行信息采集回传,回传完毕再次休眠。终端程序流程如图6所示。
3.3 通讯协议设计
终端、协调器之间数据传输时,ZigBee 2007/PRO协议栈中封装的校验环节对数据进行校验,防止出错。为进一步保证协调器与终端设备正确通讯,设计了一种由结构体构成的简单数据传输协议。信息交互时,都以此种结构的数据包为最小单位项(表1)。其包括数据头、本设备类型、本节点地址、本节点的父节点地址、真正的数据、校验位和数据尾。
表1 信息交互最小单位
收到数据后,接收方不仅可以得到具体数据,还可以得到发送方的地址。其中校验位是在数据发送前将真正数据进行异或处理的单字节,发送完成后,接收方将接收到数据后再次进行异或校验,将校验的结果与发送过来的校验位比较,如果相同说明数据传送正确,否则丢弃。这样两重校验保证了数据的正确传输,消除误码[6]。
将收到的最小项数据包中的真正数据提取出后,协调器或终端进行解码并执行预定的命令。
针对如今人们对家居环境更高的应用需求和特点,利用TI公司的CC2530单片机基于ZigBee 2007/PRO协议栈的ZigBee技术建立了底层无线组网,实现了智能家居系统中温湿度、煤气、烟雾等参数的实时监测,并且能够根据实际情况更改阈值控制用电设备自动开启关闭。利用人体红外热释电传感器及霍尔门磁设计了一种有效防盗报警装置,实现了智能安防功能。相比于WiFi、蓝牙等传统组网方案,本文提出的基于ZigBee的无线组网方案安全性高、功耗低,终端节点还可根据实际情况不断添加多种传感器和控制设备实现无限扩展。
整套系统易于安装、成本低廉、维护简单,为智能家居技术的发展进行了新的探索,相信具有很好的应用前景。考虑到互联网技术的广泛应用,后续将以此系统为基础设计无线网关以及手机APP,实现家居的远程监控,进一步完善整套系统的性能,给实际使用带来更加方便舒适的体验。
[1] 白永祥. 基于物联网的家庭安防系统设计与实现[J]. 电子设计工程,2015,23(18):20-26.
[2] 王华伟. 基于ZigBee和OpenWrt的智能家居控制系统设计与实现[D]. 昆明:云南大学,2015.
[3] 辛硕. 基于ZigBee无线网络和LabVIEW的智能家居系统设计[D]. 北京:北方工业大学,2015.
[4] 王利琦. 基于ZigBee技术的智能家居系统设计[D]. 长春:吉林建筑大学,2015.
[5] 王小强,欧阳骏,黄宁淋. ZigBee无线传感器网络设计与实现[M]. 北京:化学工业出版社,2012.
[6] 马忠梅,王美刚,孙娟,等. 单片机的C语言应用程序设计[M]. 5版. 北京:北京航空航天大学出版社,2013.
Design of Smart Home Wireless Network Based on ZigBee 2007/PRO
LIANG Feng, ZHAO Jin-caiCorressponding Author, DU Xiao-peng, FANG Yu-kai, WANG Peng-fei
(College of Engineering and Technology, Tianjin Agricultural University, Tianjin 300384, China)
In this paper, we propose a design of smart home wireless network based on ZigBee 2007/PRO protocol stack. The CC2530 was adopted as ZigBee coordinator and terminal main control chip. The terminal equipment with different sensors will be the control node in the system of smart home, interconnecting wirelessly with the coordinator which is acting as the main control center. Then, a whole suite of smart home controlling system is in front of us.
smart home; ZigBee; wireless network
TP277.2
A
1008-5394(2016)03-0047-04
2016-01-05
天津市大学生创新创业训练计划项目“基于ZigBee与APP技术的智能家居监控系统”(201510061083)
梁峰(1993-),男,河北张家口人,本科在读,主要从事检测与控制方向研究。E-mail:846399316@qq.com。
赵金才(1976-),男,河北冀州人,副教授,博士,主要从事检测与控制方向研究。E-mail:jcz602@163.com。