1. 引言
随着科技的进步,人们对通信技术的要求也不断增长,短距离无线通信技术也随之产生。
如今,各种短距离无线通信技术层出不穷,其中较为成功并且应用比较广泛的有Bluetooth(蓝牙)、ZigBee、Wi-Fi、WiMAX、无线USB 和UWB 等。
ZigBee 的协议构架是建立在IEEE 802.15.4 标准基础之上的。IEEE 802.15.4 标准定义了ZigBee 物理层(PHY)和媒体访问控制层(MAC);ZigBee 联盟则定义了ZigBee 协议的网络层(ZWK)、应用层(APL)和安全服务规范。作为一种新兴的低速率无线通信技术,ZigBee 技术拥有着速率低、功耗小、成本低、免许可无线通信频段、近距离通信、时延短、数据传输可靠和组网方式多样等多种技术特点,这些特点使ZigBee 技术很适合应用到工业控制、智能家居、医疗护理、智能农业、消费类电子和远程控制等领域。目前,蓝牙技术复杂,应用系统费用较高,功耗高,电池供电寿命短,在其无法突破价格瓶颈的情况下,ZigBee 技术将拥有更加广阔的应用前景。
本文按照ZigBee 协议规范的要求,设计了一套适用于智能家居网络的室内照明自动控制系统。该系统能够准确地实现对室内各照明器件的远程控制,并可通过监测室内光线的变化调整电灯的开断,实现对照明的智能控制,同时也使控制系统的可靠性和灵活性得到提高。
2. 基于MicrochipZigBee 协议栈的室内照明自动控制系统结构
本文所介绍的室内照明自动控制系统是 ZigBee 技术在智能家居中的一种典型应用。
Microchip ZigBee 协议栈是在ZigBee 无线协议规范的基础上定义的,但它不完全符合ZigBee 协议,不支持群集和点对点网络,没有安全和访问控制功能,没有路由器功能,也不支持一对多绑定。使用Microchip ZigBee 协议栈设计ZigBee 节点,需要具备的硬件条件至少要包括一个带有SPI 串口的PIC18F单片机,一个带有所需外部元件的RF 收发器,一根天线,可以是PCB 上的引线形成的天线或单极天线。
系统构建的是一个星状网络,即由一个协调器节点和若干终端节点构成的主从网络。最先启动的FFD(全功能设备)自任PAN 协调器,并选择一个和其覆盖区域内的其它PAN不同的标识符作为自己的PAN 标识符。通常在其工作区域内不存在其它PAN 时,PAN 标志符设置为0。协调器可以允许其它FFD 和RFD(精简功能设备)加入网络。在星状网络中,协调器节点和终端节点之间可以相互发送或者接收数据,但两个终端节点之间不能进行直接通信,如果一个终端节点要向另一个终端节点发送数据,只能通过协调器这个中间媒介完成。
依照Microchip ZigBee 协议栈的开发要求,我们设计了一个可以移植Microchip ZigBee协议栈的室内照明自动控制系统,系统的结构框图如图1 所示。
其中协调器节点和所有终端节点共同构成了ZigBee 无线通信网络。协调器节点的作用是建立一个网络,并为加人到网络中的节点分派网络地址,同时还负责通过串口和上位机进行通信,各个终端节点则是为了实现具体的开关电灯的功能,并将工作的结果反馈给协调器节点。上位机除了实时监控网络工作状况外还起到家庭网关的作用,即可以提供各种远程智能控制接口,在家庭内部的ZigBee 网络和Internet 之间建立起一种连接,使用户可以用一台连接到Internet 上的PC 机控制家里的电器设备。
图1照明控制系统结构示意图
3. 系统节点的硬件设计
设计选用 Microchip 公司的PIC18LF4620单片机作为控制器,射频收发器部分采用TI公司的CC2420射频模块。控制器通过SPI 总线和一些离散控制信号与射频模块相连,控制器充当SPI 主器件,而射频模块充当从器件。控制器实现了IEEE 802.15.4 MAC 层和ZigBee协议层,射频模块CC2420 则实现了IEEE 802.15.4 物理层和一些MAC 层功能。图2 为终端节点的结构框图:图3 为协调器节点的结构框图:
图2 终端节点的结构框图
图3 协调器节点结构框图
PIC18LF4620 单片机和CC2420 射频模块的接口电路如图4 所示:
图4 PIC 单片机与射频模块接口电路
终端节点控制器通过CC2420 射频模块接收来自协调器节点的数据,并按照协调器节点的指示,完成对继电器控制,从而实现室内各个电灯开关状态的转换。
终端节点可以通过光敏电阻监视室内光线的变化,当光线亮度超过某一特定值时,控制器将检测到来自于光敏电阻的输出信号的变化,并将这种变化告诉协调器。协调器收到信号后会重复前面的操作完成对电灯的开关动作。这种设计适用于墙角落地灯。
协调器节点通过键盘上的按键发送控制信号,开断相应终端节点上的继电器从而控制电灯的亮灭,并通过RS232串口将收到的从节点信号反馈给主节点。液晶显示屏用来显示各个终端节点的工作状态。
4. 系统节点的软件设计
这里涉及到一个端点绑定的概念。一个ZigBee 节点最多可以支持32 个端点(编号0~31)和8 个接口(编号0~7)。端点0 被保留用于设备配置,而端点31 被保留仅用于广播。剩下的30 个端点被用于应用。每个端点总共有8 个接口,这样应用在一个物理信道中最多能有240 条虚拟信道。协调器节点负责建立并维护一个描述各个端点之间逻辑链路的绑定表,并通过源端点和群集ID 来唯一定义一条数据链路。在本照明系统中,我们给每一个终端节点上的继电器和协调器上的按键都分配一个在节点内唯一的端点号,并用这个端点号来对这些应用对象进行标记,通过端点绑定的方法在终端节点中的继电器和协调器上的不同按键之间建立联系,协调器节点将各个开关端点发送的数据包发送到相应的端点,从而实现协调器节点对分布在室内的各个电灯的控制。
4.1 终端节点软件设计
终端节点的任务主要是接收来自协调器的数据并根据这些数据对相应的电灯执行开关操作,并将操作的结果反馈给协调器节点。终端节点上点电后扫描所有可用信道来寻找临近协调器,申请加入此网络。由于选用电池供电,因此要保证终端节点的低功耗,设计中采用定时唤醒的方式连接服务器,接收和发送数据,其它时间则进入休眠模式,以达到终端节点的功耗最低。终端节点的程序流程图如图5 所示。
图5 终端节点系统流程图
4.2 协调器节点软件设计
作为网络协调器,其功能主要分为两个部分,即建立网络和进行网络管理。ZigBee 协调器主要负责建立ZigBee 网络,分配网络地址和维护绑定列表。协调器通过扫描一个空闲信道来创建一个新网络,维护一个目前连接设备的网络列表,支持独立扫描程序来确保以前的连接设备能够重新加入网络。协调器节点的程序流程图如图6 所示。
图6 协调器节点系统流程图
5. 结论
把 ZigBee 技术应用到室内照明自动控制系统,不仅能够可靠地实现对室内照明设备的自动控制,而且还减少了现场布线带来的各种问题。采用此项技术设计的无线控制系统具有成本低廉,耗电量小和安放方便等突出优点。本系统已在实验室范围内成功应用。利用ZigBee技术设计的室内照明自动控制系统必将成为未来智能家居系统中重要的组成部分。