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节点的日光灯将会关闭,同时指示灯变为红色。