基于ZigBee技术的智能家居系统
扫描二维码
随时随地手机看文章
摘要:为了满足手机短信远程控制家电设备的需要,应用GR64和CC2430为核心开发了一种基于无线传感器网络的智能化短信远程控制系统。系统硬件部分主要由短信(SMS)收发模块、红外收发模块、微处理器模块、存储模块和供电模块等组成;软件部分给出了ZigBee无线通信协议的工作原理、家庭网关的设计流程。试验表明,该系统具有良好的可扩展性、低成本、低功耗、低延时、低复杂度等特点,在智能家居系统中具有广阔的应用前景。
关键词:智能家居;家庭网关;红外线通信;SMS ZigBee GR64;CC2430
0 引言
智能家居(Smar Home)又称智能住宅。智能家居是以家为平台,兼备自动化、智能化于一体的高效、舒适、安全、便利、节能的住宅环境。智能家居系统是将家庭中各种与信息有关的通信设备、家用电器和家庭保安装置通过家庭总线技术联网,进行有效的控制和信息交换,同时将家庭网络与外网相连,利用远程监控系统,实现对家居的远程控制。虽然智能家居的概念已提出多年,但是由于相应的通信技术及应用领域的发展速度缓慢,一直没有走向实用化。随着传感器技术、半导体制造技术、嵌入式微处理技术等的快速发展,尤其是无线传感器网络ZigBee技术的兴起与成熟和GSM网手机用户的日益普及,使得无线传感器网络在远程环境监控、自动抄表、医疗护理、智能家居、远程工业和交通控制等领域提供了切实可行的应用方案,标志着在不久的将来智能家居将真正地进入人们生活的各个方面。ZigBee模块可以安装在遥控器、电灯、电视、风扇、空调、微波炉、煤气炉、门禁系统和其他各种家电设备中,实现家居的照明、温/湿度、安全和电气智能控制,通过ZigBee终端设备还可以收集家居的各种信息,传送到家庭网关;或者通过遥控达到远程控制的目的,提供家居生活的自动化、网络化和智能化。随着智能化家电设备的广泛应用,人们迫切需要随时随地的了解并控制家电设备的运行状态。本文结合用户的实际需求,给出了一个基于ZigBee技术的家居远程控制系统的设计方案,用户可以使用手机发短信通过家庭网关对室内所有的家电设备进行远程控制。
1 ZigBee技术
ZigBee是由ZigBee联盟制定的面向低速无线个人区域网络(LR-WPAN)的双向无线通信技术标准,其物理层和数据链路层使用IEEE802.15.4标准,网络层和应用层由ZigBee联盟定义。与Wi—Fi,IrDA,UWB,Bluetooth等其他无线接入技术相比,ZigBee具有的优势如下:
(1)低功耗:工作模式下非常省电,并且支持休眠状态;
(2)低速率:ZigBee工作在3个免执照的ISM(工业、科学和医疗)频段上分别具有250 Kb/s(2.4 GHz)、40 Kb,/s(915 MHz)和20 Kb/s(868 MHz)三种不同的峰值数据速率;
(3)低成本;
(4)组网灵活、网络容量大:ZigBee可采用星型、树型和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65 000个节点的大网;
(5)短距离:传输范围一般介于10~100 m之间;
(6)安全可靠性高,提供了数据完整性检查和鉴权认证功能,采用AES-128加密算法,同时采取碰撞避免机制。
ZigBee网络中的三种逻辑设备类型:ZC(ZigBee协调器)、ZR(ZigBee路由器)和ZED(ZigBee终端节点设备)。每个网络都必须包括一个ZC。协调器的主要功能是建立网络、传输网络信标、管理网络节点、存储网络节点信息和路由信息等。ZR既具有ZED的接入功能,又具有路由功能,可以作为远程设备之间的中继器来拓展网络的范围,负责搜索可用的网络、传递或转发与其连接的ZR或ZED的数据。ZED无路由功能,它和ZR可以从ZC或从任何已经进入网络的ZR处获得有关网络的信息,据此设置操作参数,加入网络。
ZigBee网络中的三种拓扑结构:星型拓扑、树型拓扑和网状拓扑,如图1所示。
(1)星型拓扑:节点之间的数据路由只有惟一的一条路径。
(2)树型拓扑:当从一个节点向另一个节点发送数据时,信息将沿着树的路径向上传递到最近的协调器节点,然后再向下传递到目标节点。
(3)网状拓扑:网状拓扑结构是一种特殊的、按多跳方式传输的点对点的网络结构,其路由可自动建立和维护,并且具有强大的自组织、自愈功能。网络可以通过“多级跳”的方式来通信,可以组成极为复杂的网络,具有很大的路由深度和网络节点规模。
IEEE 802.15.4标准定义了两种物理设备类型,FFD(全功能设备)和RFD(半功能设备)。FFD是具有路由功能的节点,可以实现ZigBee网络的任意一种逻辑设备类型,它能与RFD或其他FFD通信。RFD只能充当ZED,不具备路由功能,只能选择性地加入已形成的网络,只能与FFD通信,使用最少的资源和存储器空间。
家庭智能控制(如照明、遥控装置、水电气计量及报警、PC机外设的无线连接等)具有这些方面的特点:传输数据量小,无需太大的传输速度,网络的容量要大,家庭中的各种设备多,易部署扩展性灵活性高,信息的实时性要好,时延要短,成本要低。ZigBee技术的特点决定了其能很好地满足家庭网络节点通信的需求。
2 系统总体结构
本系统可以概括为家庭网关和分控节点两个部分,系统结构框图如图2所示。家庭网关是智能家居的核心,抽象起来它作为家庭外网与家庭内网通信的通道并且负责各种不同设备之间通信协议的转换,而且它也作为一种服务平台为用户提供各种可能的增值服务。在系统中采用CC2430芯片和其他几个模块组成家庭网关,它作为ZigBee网络的协调器,负责家庭内网络(ZigBee)的建立、采用星型拓扑并对各个分控节点的入网加以验证等工作。家庭网关中的短信(SMS)收发模块负责外部移动网络(GSM)信息的接入,因此可以与用户手机进行双向通信。家庭内网中的分控节点负责将存储器中的红外脉冲码转换成红外线信号并控制其所在范围内的红外家电设备。每个房间中可以有多个分控节点,每个分控节点可以控制多个红外家电设备。
3 系统硬件设计
系统硬件电路的设计包括家庭网关和分控节点的设计。
3.1 家庭网关的硬件电路设计
家庭网关的硬件处理器采用无线低功耗单片机CC2430。由于软件协议复杂、数据流量大,所以在内含FLASH的CC2430基础上对存储器进行扩展,专门用于对红外脉冲码的存储。铁电存储器(FM25L512)与协调器(CC2430)通过SPI连接。供电模块采用低压差线性可调稳压器TPS78 601稳压至3.6 V输出给整个系统,为了使输出电源的纹波较小,在输出部分采用了一个2.2μF和一个15 pF的电容。另外,在芯片的输入端放置了一个1μF的滤波电容,以减小输入端受到的干扰。系统硬件原理图如图3所示。
CC2430是Chipcon公司推出的用来实现嵌入式ZigBee应用的片上系统,在单个芯片上整合了ZigBee射频(RF)前端CC2420、内存和微控制器,是一款低成本低功耗高性能的射频芯片。它使用1个8位8051MCU,具有32/64/128 KB可编程闪存、8 KB的RAM,ADC,Timer,AES-128协同处理器、看门狗定时器、32 kHz晶振的休眠模式定时器、上电复位电路(Power On Reset)、掉电检测电路(Brown Out Detection)以及21个可编程I/O引脚,P0,P1口是完全的8位口,P2口只有5个可使用的位,通过特殊功能寄存器(SFR)的设置可以将这些引脚配置成通用的I/O端口或者是ADC、Timer、SPI、UART器件的外设I/O端口。
短信的收发采用GR64模块,GR64模块一款工业级无线调制解调模块。集射频电路和基带处理器于一体,内置闪速存储器,提供标准的AT命令控制语音、数据、短信和传真的传输。GR64模块提供了丰富的外设接口。短信模块和单片机CC2430通过RS 232进行通信,二者构成了GSM网络和ZigBee网络之间数据转换的通道。
红外收发模块包含红外解调电路和红外调制电路,如图3所示。红外解调电路采用一体化红外接收头TL538,它具有宽电压适应、功耗低、成本低、高接收灵敏度以及优良的抗干扰特性,是通用接收红外信号并解调的元件,不需要任何外接元件,就可以完成从红外线接收到输出TTL电平的数字信号,目前广泛的应用于家用电器及玩具等各种红外遥控和红外接收装置中。发光二极管RED用于接收完成遥控器一个按键的红外脉冲码的指示并作为家庭网关正常工作时的指示灯。红外发送电路通过与门芯片(74LVC1G08)将基带信号和载波信号进行调制,用于驱动红外LED产生红外光。
3.2 分控节点的硬件电路设计
分控节点存在于各个房间中,主要用于接收家庭网关发送来的红外脉冲码,并将其调制到38 kHz载波频率上输出,所以只需要一个红外驱动电路和一个CC2430最小系统,包括上电复位电路和正常工作指示灯,能量供应可以采用电池供电。
4 系统软件设计
4.1 ZigBee协议栈运行机理
ZigBee协议栈ZStack运行在一个OSAL(操作系统抽象层)操作系统上。该操作系统基于协同轮转查询式的任务调度机制,ZStack协议栈的每一层均作为一个独立的具有优先级任务。每个任务都对应着一个任务事件处理函数。每个任务都包含若干个事件,每个事件都对应着一个事件号。当一个事件产生时,相应任务的事件就被设置为相应的事件号,即事件处于有效状态。这样,基于任务轮询的OS将进入相应任务的任务事件处理函数的有效事件处理程序中执行。而且在ZStaek中将硬件的驱动放到了硬件抽象层(HAL)中,这样屏蔽了底层硬件的具体实现,有利于应用软件的模块化和可移植性。使用时可以对HAL中的驱动函数进行适当的裁剪和修改以适应实际应用系统的需要。OSAL中的任务可以通过任务API函数接口将其添加到系统中,这样就可以实现多任务机制。软件设计体系如图4所示。
4.2 家庭内网的软件设计
家庭网关软件流程如图5所示,首先初始化CC2430系统时钟和定时器。初始化之后发光二极管闪烁一下,表示正在等待捕获遥控器的红外脉冲码。在一段时间里没有捕获到,则以协调器身份初始化ZigBee协议栈,如果建网成功,则发光二极管闪烁一下,此时处于正常工作状态。当接收到有效短信的有效命令后,调用存储器中的红外脉冲码驱动红外脉冲电路发送并在本网中广播发送。
4.3 家庭外网的软件设计
GR64模块支持两种模式收发短信:Text模式、PDU模式。Text模式是纯文本方式,不支持中文,可使用不同的字符集,主要用于欧美地区;PDU模式被所有手机及工业级模块支持,可以使用任何字符集,目前最为常用。系统中通过手机发送AT命令对GR64参数进行设置,包括GR64的字符集,设置短信格式,当前短信存储载体,新短信提示等。系统采用PDU模式,以便手机可以接收到GR64模块发送的汉字。其中,将GR64模块新短信提示的方式设置为:AT+CNMI=1,2,2,1表示接收到的短信和状态不进行存储,直接通过串口1送入CC2430。
4.4 红外信号的收发与存储
遥控器红外脉冲码一般由引导码、地址码、数据码、数据码反码和结果码组成。由于各个公司生产的红外编/解码芯片采用的编/解码方式和脉宽周期不同,导致了市场上的各类遥控器的功能互不兼容。为了能拥有各种遥控器的的遥控功能,首先必须要正确地原样接收并存储遥控器的红外脉冲码,对于某些一键双码的按键,必须进行两次比较确认后存储。其次所有驱动电路输出的红外脉冲码均来自已保存在存储器中的红外脉冲码基带信号对38 kHz的载波信号进行脉宽调制产生的。因此利用单片机CC2430的内部定时器T1可以完成红外脉冲码的接收采集和调制输出,T3用来产生 38 kHz的载波信号。再次,对于没有红外接收的设备可以安装一个红外接收头即可实现设备的控制,既简单又方便。
5 结语
目前,智能家居的规范,设计和应用正在稳步进行中。构建一个符合家居环境的分布式、低功耗、运行稳定的家庭网关尤其重要。Zig-Bee无线通信协议的设备具有低功耗、低成本、低速率、灵活高效等诸多优势,相信在不久的将来,以ZigBee技术为典型特征的智能家居设备将进入日常生活的方方面面。
本文作者的创新点:以无线射频芯片CC2430为核心设计实现的家庭网关可以收发短信,自学习存储红外码,并能够通过红外线方式控制设备,具有控制容量大和功耗低等特点。