0 引言
近年来,智能家居这一概念随着物联网新技术的推动,逐渐走入人们的视野,市场需求发展空间巨大。这类新技术包括以ZigBee数传为代表的无线传感器网络,在此次智能家居系统里面将看到ZigBee数传无线传感器网络在家庭自动化上的应用。
本设计为了实现上述目标,解决了四个方面的技术问题,一是ZigBee模块传感器网络的组网;二是发挥ARM Cortex-M3的高性能,设计出基于嵌入式多任务技术的智能家居系统的主控制器,内含WebSever 功能;三是实现了基于动态网页的网页远程控制家电形式;四是嵌入GSM 短信模块,将整个系统与GSM 网络联系起来。
1 系统方案
本系统使用TI 公司的ZigBee模块芯片CC2530 组成树形拓扑的家庭无线传感器网络,每个ZigBee 网路节点接上相应的设备,如LED灯、温度传感器、M-Bus智能抄表系统,以及模拟家中开关设备等,ZigBee 各个节点或直接与协调器链接,或经由路由器中转再连接协调器。对上述信息进行ZigBee数据采集,本系统的主控制器使用的是TI 公司的LM3S9B96 微控制器。在实时操作系统的多任务环境下本系统采用了GSM网络和以太网通信方式。对于GSM短信监控部分,采用的是华为GTM900无线模块,使用了该模块的GSM短信功能。
整个系统可以分成三个部分,分别为用户监控终端、主控制器、ZigBee 无线传感网络。
2 ZigBee无线传感网络
2.1 技术体系结构
在ZigBee数传模块技术中,采用层来量化它的各个简化标准。每一层负责完成所规定的任务,并且向上层提供服务。这些体系结构主要由物理(PHY)层、媒体接入(MAC)层、网络/安全(NWK)层以及应用框架(AF)层组成。
2.2 组网形式
在组网形式上,由于本系统只存在终端节点与协调器之间的数据交换,不存在终端节点之间的数据交换,所以本系统采用的网络拓扑结构为树形拓扑。
2.3 ZigBee网络软件设计
在软件方面使用的是TI 公司提供的ZigBee 协议栈(ZStack),Z-Stack操作系统像所有的操作系统样,都要经过系统的初始化和执行操作系统两个阶段。
系统的初始化需要完成初始化硬件平台和软件构架所需要的各个模块,为操作系统的运行做好准备工作。而在执行操作系统部分,由于TI Z-Stack是基于一个轮转查询式的操作系统,所以它总是处理当前最高优先级的事件。
Z-Stack 的主函数main()在ZMain.c 中,它完成了系统的初始化后,才开始执行操作系统实体。
(1)协调器建立网络。ZigBee无线模块协调器扫描DDEFAULT_CHANLIST参数定制的信道和选择一个最小能量的信道。如果有两个或者以上的信道,则协调器会选择在ZigBee 无线传感器网络中存在的序号最小的信道。ZigBee无线模块协调器将根据自身的IEEE 地址和DZDAPP_CONFIG_PAN_ID 建立网络。
(2)路由器和传感器节点设备加入网络。路由和传感器节点设备启动后,将扫描DDEFAULT_CHANLIST 指定的信道,发现并调用NLME_NetworkDiscoveryRequest 函数来发现网络,该函数要求网络层去发现邻居路由器节点,并且在进行网络扫描之前调用。发现网络存在后,调用NMME_OrphanJoinRequest()函数来加入网络。
(3)绑定。要允许绑定,首先要将ZigBee模块目标设备设置为zb_Allow-Bind()发出的允许绑定状态,然后在源设备处调用zb_BindDevice()函数进行绑定操作。同样,解除绑定的请求函数也是zb_BindDevice(),只是第一个参数不同,若为TRUE,则表示建立绑定;若为FALSE,则表示解除绑定。
(4)数据传输。无论发送什么数据,均要调用AF_DataRequest()函数。在协调器中,当其接收到传感器节点发送的ZigBee数据采集信息后,将出发SYS_EVENT_MSG 事件,对AF_INCOMING_MSG_CMD信息做出处理。
3 系统硬件设计
(1)主控制器硬件设计。图1 显示的是整个系统的硬件部分设计,整个示意图与实际的硬件连接相符。主控制器的核心是一块LM3S9B96 开发板。开发板提供一个RJ45 网口,用网线可以讲开发板连入互联网。
图1 连接示意图
(2)ZigBee 无线模块传感器网络硬件设计。在ZigBee 无线模块传感器网络的硬件方面,本系统采用SK-CC2530ZDK,其硬件开发平台包含了SKSmartRF05EB评估底板和SK-SmartRF05BB 的电池底板,此外还提供了SK-CC2530EM评估模块和SK-CCDebugger多功能仿真器。
4 评测与结论
目前,本系统已基本完成,所有软硬件均已调试通过。本系统的测试分三部分,一是网页监测控制测试,二是GSM 短信监测控制测试,三是对ZigBee 树形结构进行演示。
(1)网页监测控制测试。首先将主控制器开发板连接入局域网,在一台电脑上的浏览器里输入WEB 服务器的IP 地址。
在该网页上点击更新设置按钮,ZigBee数据采集的LED灯、电机、水表、温度的状态和数据都会出现在“当前值”栏里面。当选择了电机控制或LED灯控制的相应选项后,在ZigBee网络中的对应设备会立即响应控制的动作。
(2)GSM 短信监测控制测试。GSM 短信测试则直接用手机向系统发送控制命令和查询命令的短信,ZigBee数传模块网络的设备在接收到主控制器的信息后会立即做出响应。短信报警部分,人为将温度提升到预设的温度(35.5 摄氏度)之上,系统会向用户发送一条报警短信。在手机终端会有这条短信的显示。
(3)对ZigBee 树形结构进行演示。另外测试的过程中还对ZigBee 树形拓扑结构进行了演示。在房间的拐角放置一个ZigBee路由设备,然后将一个子节点放在房间的另一端,由路由器路由子节点和协调器的通信。实验结果显示这种拓扑结构能够适应家居环境。