基于ZigBee家居环境的监测及控制
扫描二维码
随时随地手机看文章
摘要:无线传感器网络是大量静止或移动的传感器以自组织和多跳的方式构成的无线网络。为了实现温度实时监控及日光灯控制,设计了一种基于CC2430片内温度传感器的温度监测及日光灯控制系统。实现利用片内温度传感器检测环境温度、节点温度数据的发送、主节点对温度数据的接收显示及对日光灯开关控制。
关键词:ZigBee;802.15.4协议;温度检测
0 引言
近年来,无线通信的成本越来越低,可靠性和传输速率越来越高,并且无线通信技术不需要进行复杂的布线,组网灵活,这些都为无线通信技术的广泛应用创造了有利条件。
基于ZigBee的智能家居系统是对家居高度自动化、智能化的要求提出的一种新的解决方案,主要通过计算机的上位机软件采集室内环境参数,远程控制各种家居电器,实现家居控制、环境参数检测的完全自动化、智能化。ZigBee采用IEEE 802.15.4标准,利用全球共用的2.4GHz公共频率进行无线测量和系统监控,具有明显的低成本、低功耗、网络节点多、传输距离远等优势。目前,ZigBee技术已被视为替代有线监视和控制网络领域最有前景的技术之一。设备以CC2430为控制核心单元,采集温度和控制日光灯;利用串口通信,通过上位机VB界面程序来显示采集到的温度,发出控制日光灯的命令,完成相应的控制。
1 系统硬件设计
1.1 CC2430模块设计
微处理器(MCU)是整个系统的核心,负责处理大量数据。由于工程的需要,MCU要具有低功耗的性能,因此,在本设计中选用具有强大数据处理能力和超低功耗的CC2430。CC2430是一款专用于IEEE 802.15.4和ZigBee协议通信的片上系统解决方案,集控制芯片与射频模块于一起的芯片。并且内部具有温度感测功能。
1.2 USB转串口电路设计
由终端节点采集到的温度数据通过无线方式传到Switch节点,Switch节点需要将温度数据传送到PC机,采用USB转串口电路,可以通过USB总线传输RS-232数据,在这种情况下,PC端的VB软件依然是针对RS232串行端口(COM PORT)编程的,外设也是以RS232为数据通信通道,但从PC到外设之间的物理连接却是USB总线,其上的数据通信也是USB数据格式。串行通信接口电路如图2所示。
其中CH340是一个USB总线的转接芯片,实现USB转串口、USB转打印口。
1.3 继电器控制电路
利用CC2430的I/O口来控制日光灯的开关,继电器控制电路如图3所示。
2 系统软件设计
基于ZigBee的无线数据采集系统的软件主要分为三部分:采集端的数据采集发送和日光灯开关命令接收、接收端的数据接收和日光灯开关命令发送,以及上位机程序界面的设计。
主程序主要完成硬件初始化,Switch模式与Light模式的差别,并转至相应处理。主程序的流程图如图4所示。相应Switch节点主要处理串口初始化,射频初始化,并根据标志位,发送温度采集或者开关灯命令。Light节点,则首先进行射频初始化,然后准备接收命令,根据接收的命令进行开关灯或者温度采集。
图4主程序流程
Switch节点流程图如图5所示。
Ligbt节点程序流程图如图6所示。
从节点使用片内温度传感器检测环境温度
3 实验测试
3.1 温度数据采集
上位机采用Ⅶ开发,设置好串口,点击采集按钮,在显示窗口将会显示Light节点的温度值及采集的时间和日期;点击保存数据按钮,将会把数值保存在E盘的data文件夹中,控制界面如图7所示。
3.2 日光灯开关控制
点击开/关按钮,将会控制Light节点的日光灯,同时指示灯变为绿色,表示日光灯已经开启;当再一次点击开/关按钮时,Light节点的日光灯将会关闭,同时指示灯变为红色。