基于ZigBee技术的智能家居系统内部组网
2012-01-19王博
王 博
(西安电子科技大学电子工程学院,陕西西安 710071)
基于ZigBee技术的智能家居系统内部组网
王 博
(西安电子科技大学电子工程学院,陕西西安 710071)
为了提高智能家居系统的快速部署能力、降低构建成本,提出了一种利用ZigBee无线组网技术,构建智能家居系统内部基础网络的设计方案。该方案采用无线射频收发CC2430芯片和外围电路设计终端设备与中心协调器的硬件电路。根据ZigBee协议栈使用C语言编写终端设备和中心协调器的通信应用软件。
ZigBee协议;CC2430;中心协调器;智能家居系统
世界上第一幢智能建筑1984年在美国出现后[1],家居环境智能化已成为当前的社会主流,随着人们生活节奏的加快和生活压力的加大,智能家居成为人们追求舒适生活的必要途径。智能家居网络是指在家庭内部通过一定的传输介质(如电力线、双绞线、同轴电缆、无线电、红外等)将各种电气设备和电气子系统连接起来,采用统一的通信协议,对内实现资源控制,对外能通过网关设备与外部互连进行信息交换的网络系统[2]。文中提出了通过ZigBee无线组网技术构建智能家居系统底层网络的方案。目的在于使智能家居系统的底层网络构建变得简单快速,进而使整个智能家居系统具备快速部署和易扩展的特性。
1 网络结构概述
文中设计的智能家居系统基层网络采用ZigBee无线组网技术实现家居系统内部网络,基础网络结构采用星型拓扑结构。通过ZigBee无线通讯模块与智能家电以及传感器构成家居内部网络的终端设备;使用FFD(Full Function Device)设备为家居内部ZigBee网络的中心协调器,负责建立和维护网络;在中心协调器与中央控制服务器之间使用RS232串口通信实现连接,并通过PC机与互联网相连,系统结构如图1所示。作为智能家居系统的底层基础网络,家居内部ZigBee无线网络可以实现的功能有:(1)收集家庭环境内部的数据和信息。(2)对于终端设备上传的简单情况做初步的预处理。(3)汇总基础网络信息,通过RS232串口通讯协议将数据上传到中央控制服务器。
图1 系统结构图
2 ZigBee技术
ZigBee是基于IEEE802.15.4标准制定的一种短距离、低功耗的无线个人网络通信协议[3],具有近距离、低复杂度、自组织、低功耗、低数据速率、低成本的特点。ZigBee协议栈是以OSI(Open Systems Interconnection)七层结构为参考建立起来的,为简化协议栈,ZigBee协议栈由4个层结构组成,即物理层、MAC层、网络层和应用层,ZigBee协议栈结构如图2所示。
图2 ZigBee协议栈结构图
(1)物理层:主要功能是启动和关闭无线电收发机、当前频道内的能量监测、接收包连接质量指示、为CSMA-CA确认清除频道、频道频率选择、数据传输和接收。
(2)介质接入控制层(MAC层):MAC层负责维护物理无线电频道的接口,任务包括:对于协调器要负责产生网络信标、对网络信标进行同步、维护个人局域网的加入和离开、维护设备安全、利用CSMA-CA机制进行频道管理、处理与维护GTS机制、在MAC实体内部保证可靠的连接等。
(3)网络层:ZigBee网络层由ZigBee联盟自行定义,负责为无线网络提供建立、加入和离开网络,进行路由转发等功能。
(4)应用层:由用户根据需要来自行开发,概括来说,应用层要实现的功能为:维持节点功能,发现该节点附近的其他工作节点,维护和管理多个节点之间的通信。
3 ZigBee基层网络硬件
3.1 ZigBee数传模块介绍
系统ZigBee基础网络的数传模块采用的芯片为CC2430射频芯片,CC2430是无线 SOC(System On Chip)设计,系统所需的一般电路都已集成在芯片内部,只需简单外围电路就能实现信号收发功能。CC2430应用电路如图3所示。
图3 CC2430应用电路
电路使用非平衡天线。其中非平衡变压器由电容C341和电感L341、L321、L331以及一个印制板微波传输线组成,整个结构满足射频输入、输出匹配电阻50 Ω的要求;R221和 R261为偏置电阻,电阻 R221主要用来为32 MHz的晶振提供合适的工作电流;XTAL1为32 MHz晶振,用1个32 MHz的石英谐振器和2个电容(C191和C211)构成一个32 MHz的晶振电路;XTAL2为32.768 kHz晶振,用1个32.768 kHz的石英谐振器和2个电容(C441和C431)构成一个32.768 kHz的晶振电路;电压调节器为所有要求1.8 V电压的引脚和内部电源供电,电容C241和C421为去耦合电容,用来电源滤波,以提高芯片工作的稳定性。本系统在终端设备和中心协调器的设计中都采用标准的10芯调试接口。调试接口使用CC2430的P2_1作为调试数据IO,P2_2作为调试时钟,在非调试模式下这两个IO可作为GPIO。调试接口允许片上的Flash编程,且能访问存储器和寄存器、设置断点、单步运行和修改寄存器内容。当RESET_N输入保持低电平时,如果强制调试时钟连续经历两个上升沿,系统便进入调试模式。
3.2 终端设备结构设计
终端设备是智能家居环境内部数据来源以及控制命令的具体执行者,如图4所示,其主要由智能家电模块、信号调制模块和ZigBee数传模块组成。一方面,终端设备通过智能家电模块中的传感器单元收集家居环境的内部数据信息,通过信号调制模块得到有用信号,然后借助无线数传模块将信息上传;另一方面,终端设备可通过无线数传模块接收控制命令,并传达给智能家电模块的命令执行单元进行命令执行。
图4 终端设备结构
3.3 中心协调器结构设计
中心协调器是智能家居无线内部网络的核心,负责建立和维护网络,并通过串口向PC机发送终端设备上传来的数据信息,同时将控制中心传达的命令传达到正确的终端设备,具体结构如图5所示。与终端设备的不同之处在于中心协调器不包含智能家电模块和信号调制模块,为侦听串口接收中断,在中心协调器硬件平台上扩展了RS232串口。
图5 中心协调器结构
4 ZigBee网络通讯软件
4.1 信道分配
通过 ZigBee协议栈中的 MAC_RADIO_SET_CHANEL(x)可以配置智能家居系统无线ZigBee网络的无线信道,其中形参x为信道编号,缺省值为11频道。在mac_radio_defs.h文件中可定义MAC_RADIO_SET_CHANEL(x)函数。
原语来启动智能家居系统网络的建立。由于文中采用星型网络,所以在智能家居系统中只允许中心协调器进行初始的网络建立。
具体过程:应用层通过 NLME_NETWORK_FORMATION.request开启网络建立过程。网络层接收命令后,随即要求MAC层进行信道扫描;MAC层完成第一次扫描后,将扫描结果回馈到网络层,网络层管理实体对接收到的信道按照能量值进行排序,并进一步处理,找到一条合适的信道;随后网络层会为这个网络配置一个PAN标识符和一个16位的网络地址来启动网络。
4.2 加入网络
首先,终端设备通过NLME_NETWORK_DISCOVERY.request原语,启动加入网络流程。网络层随后发送MLME_SCAN.request,要求MAC层执行信道扫描。当MAC完成扫描后就会向网络层管理实体回馈扫描信息。网络层管理实体随后发送网络发现确认原语,将扫描到的ZigBee版本号、堆栈结构、各域网标识符、逻辑信道以及是否允许连接等信息上传应用层。应用层决定是否加入并通过发送加入原语申请加入。此时中心协调器在收到终端设备的申请加入请求后,中心协调器通过NLME_NETWORK_JOINING.request原语向MAC层下达允许加入的命令,并通过NLME_PERMIT_JOINING.confirm原语反馈命令执行情况。加入请求原语中的PermitDuration参数是ZigBee协调器允许终端设备的连接时间,有效值范围0x00~0xFF。当PermitDuration参数被设定在0x01到0xFE之间时,网络层管理实体就会设定一个定时器,用来计时,以此进行连接的时间限制。在智能家居系统中通常不需要对终端设备与中心协调器的连接进行时间限制,所以这一参数通常设定为0xFF。
4.3 终端设备程序流程
终端设备,通过传感器模块收集信息,并借助ZigBee模块将收集来的信息上传,当ZigBee模块接收到控制命令时,控制模块负责根据命令执行操作。程序流程如下:开启电源启动终端设备,初始化终端设备的硬件资源、并启动协议栈、加入网络。当设备成功加入网络后,开始设置循环采集时钟,当有数据包被收到后,终端设备随即解读数据信息,并执行命令。没有数据包接收就进入采集过程,当发现采集数据超过限制时,按预定程序进入处理程序并向上传达报警数据包报警,当到达循环采样点时,系统将该时刻的采集数据上传。
4.4 中心协调器程序流程
中心协调器由ZigBee模块接收终端设备上传来的数据信息,并通过串口线连接PC机器,将收集来的信息传输给中央控制服务器。流程如下:开启电源开关启动中心协调器,其主程序启动。通过halBoardInit()函数初始化设备的硬件设备,系统进入网络建立过程。当网络建立完成之后,中心协调器进入一个无限的循环工作状态:如果有无线电数据,就进入无线电接收数据过程,接收完成后还需要将接收来的信息,上传到控制中心;如果没有无线电数据接入,则判断串口控制命令,协调器随即开始解析命令,并向下传达。当这两个过程完成时,系统回到判断是否有无线电数据的判断过程,系统进入再一次循环。
图6 终端设备程序流程图
5 结束语
以ZigBee无线组网技术构建智能家居系统的底层基础网络,通过构建一种成本低廉、部署快捷的基础无线网络,进而降低智能家居系统的搭建成本和构建难度。此外,以此为基础的智能家居系统还具有良好的扩展性,可根据具体的应用需求,在不同的智能家电模块与无线数传模块之间实现连接,使之接入智能家居系统。
图7 中心协调器程序流程图
[1]侯海涛.国内外智能家居发展现状[J].建材发展导向,2004(5):92-93.
[2]潘维琴.智能社区及家庭网络技术研究[D].辽宁:大连理工大学,2005.
[3]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2008.
[4]Texas Instruments Inc.Z - Stack HAL Porting Guide[M].USA:Texas Instruments Inc,2007.
[5]Texas Instruments Inc.Z - Stack Developer's Guide[J].USA:Texas Instruments Inc,2007.
[6]Texas Instruments Inc.CC2430芯片使用手册A Truo Seystem - on - Chipsolution for 2.4 GHz IEEE 802.15.4/Zig-Bee[M].USA:Texas Instruments Inc,2005.
Smart Home System Internal Network Based on Zigbee Technology
WANG Bo
(School of Electronic Engineering,Xidian University,Xi'an 710071,China)
In order to enhance the rapid deployment of the intelligent household system and to reduce the cost of construction,this paper presents a design scheme of the intelligent household system,in which the Zigbee wireless networking technology has been used to construct the basic internal network.On the basis of CC2430 radio chip and in virtue of some peripheral circuits,the scheme designs the hardware circuit of the terminal device and the Center Coordinator;according to the Zigbee stack,C language is used to design the communication application software for the terminal device and the Center Coordinator.
ZigBee stack;CC2430;center coordinator;intelligent household system
TN926
A
1007-7820(2012)08-114-04
2012-01-07
王博(1986—),男,硕士研究生。研究方向:物联网。