基于ZigBee的远程智能开关系统的设计与实现
2017-04-12李鑫胡旭晖
李鑫,胡旭晖
(常熟理工学院电气与自动化工程学院,江苏 常熟 215500)
基于ZigBee的远程智能开关系统的设计与实现
李鑫,胡旭晖
(常熟理工学院电气与自动化工程学院,江苏 常熟 215500)
提出了一种基于ZigBee技术的智能开关系统方案,介绍了智能开关系统的组成框架、实现原理和软件及硬件设计方案.该系统实现了家用电器的自动化与智能化控制,使用简单、安装方便、兼容性强,具有广泛的开发和应用前景.
ZigBee技术;智能家居;智能开关
在网络还未普及的年代,传统智能家居采用有线技术,布线复杂,造价昂贵,且用户体验不好,因此在很长一段时间人们并不看好它的发展.但随着互联网技术的发展,新一代基于无线通信的现代智能家居系统,利用移动互联网技术、智能终端远程控制技术,使整个用户体验的舒适度得到明显提升,智能家居又重新回到人们的视野中.ZigBee技术是一种短距离无线通信技术,它在使用期间无额外通信费用,组网稳定、通信可靠,已广泛用于智能家居系统中.
1 智能开关系统的总体方案
现代智能家居系统的核心是实现用户对家庭用电设备的远程控制.用户首先通过移动客户端(手机,平板等)连接网络服务器,在手机软件中输入的操作指令会先发送至服务器,并由服务器经过家庭上网设备发送至无线网关中.无线网关在接收到用户发来的指令后,通过ZigBee网络转发至智能开关,最后由智能开关完成对家电的开关控制.系统总体框图如图1所示.
本文研究的主要内容是智能家居系统中的底层设备——基于Zig-Bee的智能开关系统,下文就该系统的设计与实现作详细介绍.
图1 系统设计总体结构框图
2 智能开关系统的硬件设计
该系统的硬件设计由4部分组成:
1)电源管理电路:为整个系统提供合适的电源;
2)主控制器最小系统:系统的控制核心,负责数据处理、射频收发等功能;
3)触摸检测电路:检测触摸信号,本地控制家用电器的开关;
4)继电器控制电路:控制家用电器电源线路的通断;
2.1 电源管理电路
本系统用于控制家用电器设备,因此接入电压为AC 220 V.硬件设计需要为系统提供DC 5 V和DC 3.3 V电压.本设计DC 5 V电压由AC 220 V电压转换而来,采用成熟的AC/DC电源模块HZ025S05直接得到DC 5 V电压.该方案最大输出功率达2.5 W,模块自带过温、过流、短路保护,满足本设计要求.为了进一步保证电路工作的稳定性,在模块输入端并联了压敏电阻,用于吸收过压冲击,电路原理如图2(a)所示. 3.3 V电源主要给控制器供电,因此对该电源的纹波抑制要求较高.本设计采用低压差线性稳压器AP1117-3.3将5 V电压线性降压到3.3 V电压.相比于开关电源,线性稳压器可有效提升纹波抑制比,适用于对电压波动较敏感的器件.详细电路见图2(b).
图2 电源管理电路
2.2 主控制器最小系统(a)AC 220 V转D
本系统主控制器选用TI公司的CC2530芯片,该芯片是TI公司设计的符合2.4 GHz IEEE 802.15.4/RF4CE/ZigBee标准的第二代片上系统方案.芯片内部嵌入8051内核,并集成了ZigBee射频收发系统,外设资源丰富,满足本设计需求.该芯片市场成熟度较高,在家庭自动化领域中应用广泛.
图3 射频收发电路
图4 触摸检测电路
CC2530芯片最小系统包括时钟电路、复位电路和射频收发电路.为了提高射频发射功率,增加信号传输距离,系统选用CC2591芯片作为前端射频功率放大器,射频收发电路如图3所示.
2.3 触摸检测电路设计
触摸芯片采用BS813A-1,该芯片支持3路触摸开关设计,具有自动校准功能,电路设计如图4(a)所示.由电路原理图可知,触摸信号检测引脚KEYX与输出响应信号OUTX依次对应,以触摸开关K1为例:当检测到用户触摸K1时,OUT1保持在高电平,反之为低电平.OUTX分别连接控制器的IO端口,用以判断3路触摸开关的输入状态.
触摸区域上方覆盖一层导光板,它将电极与人手隔离.6个发光二极管两两一组,分布在导光板下方,能使面板呈现不同颜色便于用户分辨开关状态,电路如图4(b)所示.
2.4 继电器控制电路
继电器控制电路用于控制交流回路的通断,进而控制家用电器的打开和关闭,是触摸检测电路的执行机构.继电器型号为HRS3FNH-S-DC5 V,该款继电器触点最大可承受AC 250 V电压,额定电流可达10 A,基本满足所有家庭用电设备的功率需求.线圈供电电压为DC 5 V,使用三极管驱动继电器的吸合与关闭.并联在线圈两端的二极管能为感性线圈提供泄放回路,提高电路安全性,延长继电器使用寿命.该系统中共包含3个继电器控制电路,分别用于控制3路电气设备.单片机输出引脚P1.6用于控制三极管开关,其开关动作(本地操作)由触摸电路输出信号决定.图5为继电器控制原理图.
图5 继电器控制电路
3 智能开关系统软件设计
智能开关系统的软件设计分为本地控制和远程控制两部分.
本地控制在操作上类似于传统家用开关.与传统开关不同的是,采用电子触摸开关代替传统机械开关,且每次开关动作后,都要及时上报开关状态,保证和服务器的数据同步,避免出现错乱.
远程控制的基础是无线网络的搭建以及通信协议的制定.无线网络由以太网和ZigBee网络组成,其中ZigBee网络通过软件编程完成.通信协议分为下行协议和上行协议:下行协议,用户通过客户端(手机、平板等)发出操作指令,经服务器、网关转发至智能开关设备,使继电器动作,控制家用电器;上行协议,智能开关需要反馈当前家电设备的开关状态,将信息上报至网关,然后由服务器发送到用户客户端,并在客户端显示.
3.1 ZigBee的网络架构
ZigBee是为低数据速率、短距离无线网络通信定义的一系列通信协议标准.ZigBee技术具有强大的组网能力,可以组成星型、树型和网状网,可以根据实际项目需要来选择合适的网络结构.通过编程可将Zig-Bee设置为Coordinator(协调器)、Router(路由器)和End Device(终端)节点:协调器负责组建ZigBee网络,网络组建完成后协调器具有和路由器相同的功能;路由器的功能主要是协助其他设备加入网络,作为数据跳转、协助终端设备通讯,路由器亦可以作为终端设备使用;终端设备加入ZigBee网络后主要作为执行机构,是网络的一个子节点.根据本系统的实际需要,用协调器作为网关设备,智能开关被编程为终端设备,它们之间采用点对点的星型连接,网络架构如图6所示.
图6 ZigBee星型网络架构
3.2 ZigBee的软件执行机制
TI公司提供了用于执行ZigBee协议的Z-Stack协议栈,该协议栈是运行在OSAL(操作系统抽象层)上的程序代码,因此本设计所有的软件实现都是基于OSAL的应用层编程.OSAL可简单理解为一个小型的操作系统,它是基于轮询机制的一个非实时性操作系统.其工作原理是:当有一个事件发生时,OSAL负责将此事件分配给能够处理此事件的任务,然后此任务判断事件的类型调用相应的事件处理程序进行处理.执行流程见图7.
图7 OSAL的执行流程
3.3 智能开关系统应用层软件
智能开关系统的应用层程序运行流程为:程序运行时,不断的循环检测图中的3个判断条件.当触摸开关动作时,代表执行本地控制,此时无需经过通信环节即可直接控制继电器动作;当接收到网关发来的Zig-Bee数据包后,程序会对数据包进行解析,判断用户具体执行何种操作,包括远程控制、检测开关状态和检测连接状态等;当定时器中断到来,表示需要进行心跳数据包发送,该数据包用于检测通信是否正常.图8为软件架构流程图.
图8 应用层软件架构流程图
3.3.1 本地控制
本地控制程序实现了用户在家中通过触摸动作控制家用电器的通断.触摸开关动作后,控制器CC2530引脚会捕捉到电平高低变化,触发相应的逻辑事件.以开关K1为例,当其动作时,P1.5引脚置高,检测到这一事件后,控制器改变继电器控制引脚的输出状态,从而控制用电设备的通断.这一过程执行后,智能开关上报当前用电设备的状态至服务器,保持和服务器的数据同步.
3.3.2 远程控制
远程控制程序实现了用户利用客户端软件远程控制家用电器的通断,或通过客户端查看家用电器当前的开关状态.所有这些操作都在上行协议和下行协议的框架内进行,通信协议的制定最大程度地保证了通信数据的稳定性与可靠性,同时也增加了数据存储的便利性.
3.4 通信协议制定与分析
通信协议分为上行协议和下行协议,具体操作就是将数据按照一定的格式封装成数据包,ZigBee在通信过程中主要包括上行消息数据包、下行消息数据包.
3.4.1 上行消息数据包
上行数据包用于上报当前的开关状态或者智能开关设备的其他信息,数据包格式见表1.
帧头0xFB用于识别数据的传输方向为上行消息;数据长度0x07表示数据包所有字节的总长度;设备地址为上报设备(智能开关)的短地址,由两个字节组成,该地址在Zig-Bee组网时分配;命令用于区分不同的操作,如心跳包指令、读数据指令、控制开关状态等;数据字节的内容由命令字节决定,当命令字节表示读指令时,数据字节为空,用0x00表示,当命令字节表示写指令(如打开家电)时,数据字节表示要操作的对象,具体含义见表2.
表1 上行数据包格式
表2 数据字节含义
FSC为校验字节,其含义为数据包所有字节的异或和,用于检测数据包的正确性,避免由外界干扰等因素导致数据传输的错乱.
3.4.2 下行消息数据包
下行数据包格式如表3所示.
下行数据包格式与上行数据包格式基
本一致,只是改变了数据包帧头,用以区分.
表3 下行数据包格式
4 系统调试与分析
在完成了硬件电路设计和软件程序编写后,还需要对智能开关系统进行调试.主要是验证和网关之间的通信功能.具体实施:将智能开关设备配置为ZigBee终端设备,将另一ZigBee设备配置为协调器.协调器串口连接计算机,用以模拟网关设备.在计算机上通过上位机监测数据传输效果.
4.1 系统底层调试
首先测定终端设备(智能开关)与协调器之间的通信是否已经建立.在调试时采用上位机模拟网关发送指令,按照通信格式输入数据包:0xFE,0x01,0xFF,0xFF,0x02,0x00.数据包发送后,如果通信成功收到智能开关返回的特定信息,见图9.图中显示已收到智能开关的返回信息,表示通信成功,数据传输正常.
图9 ZigBee网络通讯测试
4.2 系统应用层调试
为方便观察实验现象,用电设备选用额定电压为220 V、功率为3 W的LED射灯.首先测试触摸开关的控制功能:在LED射灯熄灭时,触摸开关的背光颜色为绿色或蓝色.当用户手指触摸感应区域,相应LED灯点亮,触摸板背光灯变红,再次操作LED灯熄灭,触摸区域背光灯恢复蓝色,在控制过程中3路开关之间无影响,开关响应及时无卡顿.之后通过上位机发送指令控制LED的状态:在计算机上位机中输入“打开”指令数据包使LED射灯亮起,此时原本熄灭的LED灯被点亮,且触摸开关的背光灯也作相应的变化.经过多次操作,以及长期供电测试,该智能开关系统的静态功耗≤0.3 W,且工作稳定可靠,满足工业产品设计指标.
5 总结
本设计从智能开关系统的软、硬件设计出发,给出了具体的设计方案,并结合实物调试,模拟了小型智能家居系统的控制流程,具有实际的商业价值.该智能开关系统不仅继承了用户对传统开关的使用习惯,又结合了现代的物联网技术,符合智能家居设计理念的趋势,具有广泛的应用前景.
[1]刘福铭.RFID与无线传感器网络集成技术研究与开发[D].上海:上海交通大学出版社,2007.
[2]翟雷,刘盛德,胡咸斌.ZigBee技术及应用[M].北京:北京航空航天大学出版社,2007:9-15.
[3]李扬.Wi-Fi技术原理及应用研究[J].科技信息,2010(6):128-130.
[4]张丽君.无线网络技术[J].光电技术应用,2003(5):22-35.
[5]金纯,罗祖秋,罗凤,陈前斌.ZigBee技术基础及案例分析[M].北京:国防工业出版社,2008:112-145.
[6]闫富松,赵军辉,李秀萍.ZigBee技术及其应用[J].无线电技术与信息.2006(7):48-51.
[7]金海红,基于ZigBee的无线传感器网络设计[J].计算机工程,2006(10):60-62.
[8]丁飞,张西良,张世庆.基于ZigBee的无线通信技术及其应用[J].江苏通信技术,2006(5):24-27.
[9]无线龙.ZigBee无线网络原理[M].北京:冶金工业出版社,2011:156-187.
The Design and Implementation of a Remote Intelligent Switch System Based on ZigBee
LI Xin,HU Xuhui
(School of Electrical and Automation Engineering,Changshu Institute of Technology,Changshu 215500,China)
This paper presents an intelligent switch system based on ZigBee technology,and the system realizes the home automation and intelligent control.The papermainly introduces the framework and implementation of the intelligent switch system,and focuses on the design scheme of the software and hardware of the intelligent switch device.This system is easy to use and to install,and it also has a strong compatibility,and a good prospect of extensive development and application.
ZigBee technology;smart home;intelligent switch
TP29
A
1008-2794(2017)02-0049-06
2016-02-25
江苏省科技计划项目“智能网络生鲜自提柜控制系统研究”(BY2015043)
李鑫,实验师,硕士,研究方向:计算机先进控制技术与现代检测技术,E-mail:lixin_cx@163.com.