基于ZigBee技术的智能家居系统门窗联动设计与实现
2013-05-16刘宝栋王银涛
杨 璐, 刘宝栋, 王银涛
(河北工业大学计算机科学与软件学院,天津 300401)
0 引言
近年来,由于IT产业的高速发展,网络在人们工作生活中的大量普及以及单片机功能的拓展,使得无线通信、无线控制、无线定位、数字家庭等等先进的技术和设备逐渐的进入到人们的生活中。在城市,人口密度的迅速增加造成各种公共设施的拥堵,快捷的、方便的沟通、交流、传递方式成为人们的迫切需要。ZigBee技术的诞生,以其低速率无线传输、射频成本低、节点能耗小、随时接入等特点,将人们的生活带入到智能化的远程控制时代。进入21世纪,传感器网络成为是重要技术之一,智能家居系统是通过计算机技术、嵌入式系统和网络通信技术等先进技术,将家庭中的各种电器设备(如照明设备、环境监控、安防系统、智能家电)通过互联网络连接到一起的多功能无线控制系统。一方面,智能家居使用户有更方便的手段管理家庭设备;另一方面,可以使家庭中的不同设备之间实现互通,不需要人工控制也能根据不同的状态互相运行,它对提高人们的生活质量,创造舒适、安全、便捷的生活空间有着非常重要的意义[1]。
随着人们生活居住条件的不断改善,在现代智能化居室环境的改造和建设中,家庭安防系统是很重要的组成部分。但目前多数的安防系统主要侧重于监控和异状报警功能,没有起到切实的防范作用。本文利用ZigBee无线网络技术,通过家庭无线路由网络将门锁控制与窗户的开关控制连接在一起,使得人们在锁门的同时自动地锁死家中的每一扇窗户,大大节省了人们出行前的安全检查时间,提高了家庭安防指数。同时,整体的设计系统可以根据实际应用情况加以简单修改后也可以应用到其他家庭智能控制领域中。
1 硬件系统的设计
1.1 系统整体结构
系统整体结构框图如图1所示。按照各部分功能不同可以将系统划分为门锁状态信息采集模块、中心控制模块和锁窗执行模块。考虑ZigBee通信距离的限制,出于节约成本角度考虑,系统按照星形网络结构设计。其中门锁信息采集模块通过传感装置采集上锁和开锁状态,然后将信息发送给中心控制模块;锁窗执行模块在收到中心控制模块发送的控制信息后,驱动执行电机完成锁窗动作。设计实验实现系统为成都无线龙开发的C51RF-3-JX教学系统。该系统包括一块实验板、一块CPU板和两块移动扩展板,移动扩展板上外挂ZigBee无线模块;采用PIC18F4620单片机和CC2420无线ZigBee芯片。
图1 系统总体设计结构
CC2420芯片是Chipcon As公司推出的第一款符合2.4GHZ IEEE 802.15.4标准的射频收发器。它基于 Chipcon 公司的SmartRF 03 技术,以0.18 μm CMOS工艺制成只需极少外部元器件,性能稳定且功耗极低。CC2420的敏感性和选择性指标均超过IEEE802.15.4标准的要求,可保障短距离通信中信号的有效性和可靠性[2]。利用此芯片开发的无线通信设备的数据传输率可达到250 kb/s,同时可以支持多点之间的快速组网。基于CC2420芯片所开发的短距离射频传输系统所具备的成本低、功耗小的特点,满足了电池长期供电的要求。同时还具有组网灵活、抗毁性强、硬件加密、安全可靠等特点,为工业流程监控、传感网络检测、家居智能控制、电子消费、智能玩具等提供了理想的解决方案。
PIC18F4620系列芯片采用了那瓦技术,通过其备用运行模式、多空闲模式、动态模式切换和较低的关键模块功耗等功能在芯片工作时显著降低功耗;10种不同的振荡器选项,使用户在开发应用硬件时有了更大的选择范围[3]。
1.2 系统硬件模块设计
中心控制模块设计结构如图2所示。该模块是整个系统的核心,用于监控门锁信息采集模块的状态,并根据获取的信息自动采取某些操作,或者根据用户对主控系统的操作,向各执行模块发出控制指令。因此,该节点在网络中起到协调器的作用。
图2 中心控制模块结构图
门锁状态采集模块实现功能:通过置于锁芯内传感装置采集锁芯开、关门状态,经PIC18F4620芯片做数据处理后发送给中心控制模块;中心模块收到信息后发送确认信息给本模块,确认信息通过CC2420接收传送至处理器,此时指示灯点闪烁,确认数据发送成功(见图3)。锁窗执行模块结构如图4所示,射频芯片接收到中心控制模块发送的控制信号后传送到PIC芯片,由芯片控制执行电路电源导通,机械部件实现锁窗动作;当安放在窗框上的传感器感受到窗户完全关闭后,将信号反馈给PIC芯片,再由芯片发出切断执行电路电源的控制信号,锁窗过程完成[4-5]。
图3 门锁状态采集模块结构
图4 锁窗执行模块结构图
在通过C51RF-3-JX开发系统模拟实现过程中,执行电路选择电机控制电路,由PIC18F4620的RE0脚输出高电平信号,触发三极管导通,继电器吸合,电机得电转动,RE0脚输出低电平时,三极管截止,继电器断开,电机停转。传感器部分通过点动按钮模拟实现,按下按钮,视为传感器感受到压力变化,电信号由RE1脚送入芯片。
2 软件系统的设计
2.1 ZigBee模块的设计分析
ZigBee协议栈的设计主要从三部分进行规划:任务调度、协议栈模块和公共模块配置。协议栈模块的结构与ZigBee分层结构相同,每个模块中存放各自的驱动程序,当系统上电初始化以后,系统处于低功耗工作状态,等待任务调度根据当前任务来激活相应模块,系统被唤醒,进入中断处理事件,处理结束后继续进入低功耗状态;如果有多个任务同时发生,则根据优先级逐次处理事件。公共模块中提供定时器、通用I/O口、通用异步收发器UART、数模转换ADC的应用程序接口API等的驱动程序,可以被所有协议栈模块根据需要调用[6]。
2.2 系统配置
2.2.1 CC2420 初始化设置
芯片内部共有33个16位结构寄存器和15个命令脉冲寄存器及2个8 bit访问独立的发射和接收缓冲器的RXFIFO、TXFIFO寄存器。这些寄存器在芯片复位时已经设置了一些初始值,例如:BATTMON_E电池监控启用;MDMCTRL0.AUTOCRC自动循环冗余校验;IN0.XOSC16M_BYPASS启用外部晶振;IOCFG0.FIFOP_THR设置RXFIFO缓冲器中字节门限值等。在实际应用时,还要根据具体情况进行初始化设置[7-8]。
初始化设置是根据重置寄存器参数定义信息包传输的基本格式、定义PIC18F4620与CC2420接口、打开电压调节器、启动晶振、复位芯片的过程。一般情况下将寄存器设置为如下状态:SXOSCON—打开晶振;MDMCTRL0=0x0AF2,打开自动应答;MDMCTRL1=0x0500,关联门限值 CORR_THR=20;IOCFG0=0x007F设置FIFOP_THR=127,当RXFIFO中的字节数超过此门限值时,FIFOP变为高电平;SECCTRL0=0x01C4,关闭安全使能。
寄存器初始化程序如下:
2.2.2 缓冲模式
首先使能信息包接收CC2420自动应答和FIFOP开中断处理,并通过FIFOP终端服务程序接收信息,由于FIFOP接单片机的 RB3脚,可以用单片机的CCP2来捕捉FIFOP的上升沿,以判断是否接受到完整的数据包;当RXFIFO缓冲器有溢出或信息包格式不合法时关中断,停止信息包的接收。寄存器配置如下:DMCTRL1.RX_MODE=0;SRXON-启用接收;SFLUSHRXRX-FIFO缓冲器溢出,复位解调器;RXCTRL0=0x12E5,低噪音放大器增益中等[9-10]。
信息包的发送选择IEEE 802.15.4MAC层数据帧格式和8位网络地址格式传送。首先发起传送,信道评估为空闲后,启动帧校验并发送;当无字节写入,TXFIFO缓冲器跳低电平,发送自动停止。寄存器设置如下:STXON启用发送;CTRL1.TX_MODE=0;FSCTRL=0x4165,选择 2405 MHz,第 11 信道。TXCTRL=0XA0FF,输出功率为0 dBm。
寄存器初始化程序如下:
2.3 数据发送和接收流程图
中心控制模块在整个网络中相当于协调器的作用。因此,在系统初始化完毕后,需要通过它建立一个网络,并自动地搜索周围需要加入网络的节点是否存在,如果存在,由协调器给这个节点配置一个网络地址。系统中门锁状态采集模块所发出的信号相当于一个控制信号,协调器需要检测到这个信号后向其他若干个锁窗模块发出动作信号。同样是半功能节点,但需要门锁状态采集模块先加入网络,然后再逐一的将锁窗模块加入到网络中[11-15]。图中控制信号转发部分流程细节参见图5。
图5 协调器数据收发程序流程图
系统中存在两类功能不同的终端设备:一是采集控制信号的终端设备;另一个是执行控制信号的终端设备。前者主要是向协调器发送信号,而后者则是实时地监控有无通过协调器转发的信号,并予以接受。虽然具体的执行功能不同,但由于是半功能节点,所以都需要有加入网络的流程,如图6(a)所示。只有在终端节点成功加入已有网络以后,才能执行各自的功能。门锁控制信号采集模块数据发送流程如图6(b)所示;锁窗控制模块数据接收流程如图6(c)所示。
图6 整体流程图
3 实验
系统的设计与开发基于C51RF-3-JX系统,执行电路与芯片外围电路搭接完成后,将ZigBee协议栈软件植入芯片,进行网络搭建和通信调试,具体的步骤如下:
(1)中心控制模块作为协调器首先上电初始化,初始化结束后协调器会自动生成网络,等待节点加入网络。
(2)将门锁采集模块上电,申请加入网络,按下测试按键,如果指示灯闪烁,说明终端设备已经加入网络;然后对锁窗模块进行相同操作。
(3)将中心模块通过RS232接口与PC机相连,测试数据收发是否正常。通过门锁采集模块连续发送数据“0~9”,观察协调器是否正确接收,然后将同样的数据发送至接收模块。
无线节点通信调试正常后,进行终端模块控制调试,上电后按下测试按钮,测试最小系统是否能通过串口下载程序;将PIC芯片与ZigBee射频模块相连,测试两者间是否实现正常通信。按下门锁状态采集模块中S1按钮,协调器显示接收到控制信号“1”。
4 结语
本研究利用ZigBee这一先进的短距离、低速率无线网络技术,通过家庭无线路由网络将门锁控制与窗
户的开关控制连接在一起,使得人们在锁门的同时自动地锁死家中的每一扇窗户,大大节省了人们出行前的安全检查时间,提高了家庭安防指数。同时,整体的设计系统可以根据实际应用情况加以简单修改后应用到其他家庭智能控制领域中,例如,通过检测暖气温度控制加湿器的蒸汽排量的智能系统。
(References):
[1] 贾 伟.无线传感器网络在智能家居中的应用研究[D].杭州:浙江大学通信与信息系统专业,2009..
[2] 赵 静.嵌入式智能家居控制系统的研究与设计[D].武汉:武汉理工大学,2008.
[3] 李文仲,段朝玉.ZigBee无线网络技术入门与实战[M].北京:航空航天大学出版社,2007:46-49.
[4] 黄 强.基于ARM的家庭信息化系统的研究[D].武汉:武汉理工大学,2007.
[5] Zheng JianLiang,Lee Myung.A comprehensive performance study of IEEE 802.15.4[M].IEEE Press Book,2004.
[6] Demirko Ilker,Erosy Cem,Alagoz Fatih.MAC protocols for wireless sensor networks:A survey[J].IEEE Communications Magazine,2006,44(4):115-121.
[7] 杨 诚,聂章龙.ZigBee网络层协议的分析与设计[J].计算机英语与软件2009(12):219-221.
[8] ZigBee联盟.ZigBee技术引领无线数字新生活[J].电脑知识与技术,2006(27):29-34.
[9] 朱向庆,王建明.ZigBee网络协议层的研究与实现[J].电子技术应用,2006(1):129-132.
[10] 李战明,刘 宝,骆东松.Zigbee技术规范与协议浅分析[J].微型机与应用,2009,4(13):46-49.
[11] 李 黎.Zigbee技术研究[J].技术与市场,2009,52:58-67.
[12] 林元乖.ZigBee无线传感器网络及应用[J].科技信息,2009(12):25-28.
[13] 陈 杰.基于ZigBee的家居安防系统的设计[D].武汉:华中科技大学软件工程专业,2010.
[14] 吴 线.DIY ZigBee无线传感器网络[J].无线电,2009(12):16-20.
[15] 刘市生,张贤华.ZigBee网络层的设计与实现[J].无线电工程2008,38(11):7-9.