基于ZigBee网络的智能家居终端控制器的设计
2013-10-22赵庆平姜恩华
赵庆平,姜恩华
(淮北师范大学 物理与电子信息学院,安徽 淮北235000)
在科技高速发展的今天,人们的生活水平越来越高,对家居环境的追求不再仅限于豪华舒适,而是在此基础上将网络化、智能化、低能耗等概念融入其中,这已逐步成为了当今家居环境的发展趋势。本文在此背景下设计了一种基于ZigBee网络的智能家居终端控制器,它能够通过传感器采集环境信息,上传至嵌入式智能家居网关,同时也能从网关接收命令实现对被控对象的控制,节点之间通过最优路径算法实现自组织,从而组成一个无线传感器网络。
1 智能家居终端控制器整体设计方案
智能家居整体框图如图1所示,图中右侧实线框中的部分即为本设计需要实现的部分。智能家居网关与ZigBee协调器充当外部网络与ZigBee网络连接的桥梁,各种手机或个人计算机通过智能家居网关和ZigBee协调器向ZigBee终端节点发送命令,或者从终端节点接收环境信息。ZigBee网络内部采用网状拓扑,除了协调器外其他任何节点均可以携带执行模块或数据采集模块[1-7]。
作为智能家居系统中的最基本的组成部分,充当协调器功能的终端控制节点需要完成以下功能:首先,节点要建立一个ZigBee网络,确定网络的拓扑、频段与标识号,并允许具有相同频段与标识号的路由或终端节点加入网络。其次,对于路由或终端节点通过无线网络传递上来的信息要通过串口发送到智能家居网关。最后,与接收数据对应,要能够通过串口接收智能家居网关的控制命令,并将命令通过无线网络发送至路由或终端设备。
充当路由节点或终端节点的设备都能完成如下功能:能够采集环境变量信息,并将信息通过无线网络传递给协调器,同时能够接收协调器发送过来的命令,并在解析命令后执行相应的动作。路由节点比终端节点还要多一些功能,比如协助自己的子节点进行通讯等。
2 硬件系统设计
2.1 温湿度传感器
本文采用市面上比较常见的一种温湿度集成的传感器SHT10,这种传感器体积小,功耗低,而且芯片内部还集成了14位的A/D转换器,在精度要求不高的场合还可以转换为12位或8位精度,完全适用于智能家居的应用场合。集成的温度和相对湿度传感器以及相应的信号处理电路,可以直接以数字的形式输出,虽然成本增加,但是系统的集成度更高,这可以通过批量生产降低成本。图2为温湿度传感器电路图。
2.2 光照强度传感器
利用PIN管的光伏效应,将光照强度转换为电压信号。在光电二极管的后面设计了一个同相比例放大电路,TLV2370是一款普通的单电源运放,由R24组成反馈电路,增益Vo=(R24+R23)*Vi/R23,转换后的电压送入CC2430的A/D转换引脚进行处理。这里的R24为20kΩ,R23为10kΩ,所以增益为3。图3为光照强度检测电路图。
2.3 外部电源供电模块
在某些特定的对电源要求不高的家居环境中,ZigBee节点的能耗不再受限制,这时节点不需要电池供电,而是直流电源供电,这样就省去了电池充电的麻烦,也避免了考虑电池寿命长短的问题。本文设计了一种体积小、不需变压器的电源电路,该电路可以将220V市电直接转为+5V输出,外部电源模块如图4所示。
3 软件系统设计
3.1 温湿度传感器
温湿度传感器SHT10的供电电压最低为2.4V至5.5V,电源和地之间需要有一个去耦电容。传感器上电后,需要至少等待11ms,这段时间是传感器的休眠期,休眠期过后才可以对传感器进行操作。SHT10的SCK引脚是串行数据的时钟引脚,这里由CC2430的I/O口模拟时序,DATA为串行数据引脚,它在时钟的上升沿有效,且在时钟的高电平期间必须维持稳定。在度过休眠期后,我们可以向SHT10发送启动命令,其启动时序如图5所示。在时钟信号的两个相邻周期内,数据总线首先在第一个时钟周期的高电平时被拉为低电平,紧接着时钟信号变为低电平并很快被拉高;在第二个时钟周期内,数据总线也被拉高,至此,传感器启动,开始转换数据。随后,传感器发送一组测量命令,0x03表示温度测量,0x05表示湿度测量。数据总线上的信号在时钟信号的上升沿有效,且在时钟信号的高电平期间不能改变,数据命令以串行的形式发送。在等待320ms后,数据完成转换,这时由CC2430将数据从串行总线读出,处理后上传至协调器。流程图如图6(1)所示。
3.2 光照传感器
光照的数据需要通过CC2430片上的A/D进行采集,程序流程如图6(2)所示,由于CC2430的引脚为动态分配,所以首先要为A/D分配引脚,然后设定分辨率,启动转换后等待转换完成标志位置位。转换后的数据需要进行移位处理,以及计算后才能返回给消息处理函数进行打包发送。
4 测试结果
4.1 ZigBee网络的实现
利用奥尔斯公司提供的网络拓扑监控环境,只要ZigBee节点符合奥尔斯公司提供的串口协议,ZigBee节点的设备类型与ZigBee网络拓扑就可以在监控软件中显示出来[7]。网络拓扑监视示意图如图7所示,图中最上部的节点为协调器,下面的节点为路由或终端,其中00000002号节点就是本项目自行设计的节点,00000008号节点是奥尔斯公司提供的ZigBee节点。由此可以看到,本实验所设计的节点已经加入到了ZigBee网络。
4.2 传感器节点数据采集
ZigBee节点采集环境数据后上传到智能家居网关,在网关上可以显示环境参数。实际演示结果如图8所示,图中的曲线是ZigBee节点2采集的相对湿度数据曲线。图9是运行在PC上的智能家居终端控制软件的截图,在图中右侧可以看到设计的8个ZigBee节点(只展示了3个节点),节点1是协调器,不进行环境参数采集,节点2,节点3,节点8均为终端节点,分别采集了实验室3个不同地方的环境参数。在节点下面,有关于窗帘和照明设备的操作选项,通过这些按钮,可以控制实验室的灯和窗帘等设备,命令首先通过网关到达协调器,然后通过无线网络到达终端节点。
4.3 外部电源与ZigBee控制节点
图10是外部电源截图,它可以将220V交流电转换成+5V输出的直流电,集成板上有两个继电器,用来控制家居设备的开关量。图11为ZigBee控制节点实物图,它可以与电源模块通过插针连接,外部电源为其供电并从节点接收控制信号。
5 结论
本文设计的这款基于ZigBee网络的智能家居终端控制器,能够自动发现并加入ZigBee网络,同时通过各种传感器电路采集周围环境信息,如光照、温湿度、压力等,并将这些数据通过ZigBee网络上传至智能家居网关。在数据的下行方向上,终端节点能够通过ZigBee网络接收来自智能家居网关的命令,在解析这些命令后通过相应的控制电路实现对家用电器设备的实时控制。因此,这款智能家居终端控制器具有很好的实用价值。
[1]刘海清.基于ZigBee的智能家居原型控制系统的设计与实现[D].长春:吉林大学,2010.
[2]韩双双.基于ZigBee无线网络的智能家居系统关键技术研究[D].长春:吉林大学,2009.
[3]徐方荣.无线智能家居控制系统的设计[D].上海:上海交通大学,2010.
[4]万槟.智能家居系统的ZigBee无线网络方案的设计与实现[D].重庆:重庆大学,2010.
[5]吴孟侗.智能家居系统中ZigBee节点的研究[D].哈尔滨:哈尔滨工业大学,2008.
[6]尚丽丽.基于ZigBee的智能家居系统设计[D].大连:大连理工大学,2010.
[7]李文仲,段朝玉.ZigBee2007/PRO协议栈实验与实践[M].北京:北京航空航天大学出版社,2009.