基于ZigBee技术的家居智能管理系统的设计
2014-09-04张如
张 如
(福州职业技术学院 计算机系,福建 福州 350108)
基于ZigBee技术的家居智能管理系统的设计
张 如
(福州职业技术学院 计算机系,福建 福州 350108)
文章设计了一套基于ZigBee技术的家居智能管理系统。该系统由Zigbee无线传输模块、嵌入式智能网关、传感器等设备组成,能准确采集显示温湿度信息、烟雾信息、入侵信息,并能完成对窗帘与家电设备的自由控制。经测试,该系统控制性能良好,采集信息准确,具有扩展性好、实时性强、功耗低等优点。
家居智能;ZigBee;智能网关;传感器;管理系统
0 引言
物联网是使用局域网或互联网等技术把传感器、控制器、人和物等相联,形成人物、物物相联,是实现智能化识别、智能化监控管理的网络[1]。随着物联网与智能家居技术的迅速发展,家居智能系统正朝着网络化、信息化、智慧化方向发展,无论用户身在何处,均能实时监控自家的环境情况并远程控制家电设备。在家居智能系统中,采用无线组网技术比采用有线组网技术更具实用性、灵活性、扩展性等诸多优越性[2]。而在无线组网技术中,ZigBee技术又以其低功耗、低成本、自组多跳网络、超大网络容量等特点,成为无线传感网络的最优选择,并被广泛运用在自动监控领域[3]。
本文设计的家居智能管理系统是基于ZigBee技术构建的,通过ZigBee技术无线连接各终端节点(传感器采集节点与控制节点),实现对家居环境的动态监测与家电设备的智能化控制。Zigbee 的组网有星型网、树型网和网状网三种拓扑结构:星型网只有一个协调器控制,终端节点只与协调器通信;树型网是因协调器和终端节点距离较远,需加入路由节点的“加强型星型网”;网状网是树型网的拓展,网络中的所有路由节点的信息是互通的[4]。因在本系统中用到的终端节点数目较少,故采用星型拓扑结构进行组网。
1 系统整体设计
家居智能管理系统主要由终端节点、协调器和智能网关三部分组成。终端节点由不同功能的信息采集节点和控制节点组成。信息采集节点主要是将传感器采集的环境信息发送给协调器,控制节点主要是接受来自协调器的转发指令并执行相关操作,终端节点与协调器通过ZigBee无线传感网络进行信息传输。协调器负责将采集节点传来的信息传递给智能网关,智能网关负责提供图形化的监控管理界面来显示采集信息,并通过协调器将控制命令传至无线传感网络中的对应控制节点。系统具体应用结构如图1所示。
图1 系统具体应用结构图
系统总体操作流程如下:
1)将各种不同功能的终端节点与特定的设备(如温湿度传感器、智能排插)进行绑定相联,以便形成传感网络后能实现对设备的实时监测与控制。协调器通过串口与智能网关相联。
2)协调器开启并进行初始化,根据设置好的参数建立一个ZigBee网络,然后等待其他设备的加入,随着终端节点的陆续开启,这些节点成功加入此ZigBee网络,并将各自对应的网络地址和MAC地址等信息通过协调器反馈到智能网关上。
3)无线传感网成功组建后,就可对终端节点绑定的设备进行实时监控。信息采集节点周期性采集传感器信息,通过Zigbee自组网传送至协调器,协调器节点再将采集信息通过串口传至网关。同理对于控制节点,智能网关将控制指令通过串口传至协调器,再由协调器将控制指令传至对应的控制节点上,使绑定设备按要求指令进行操作。
系统要能实时采集家居中的温湿度数值,实时采集烟雾值,实时发现有无人员入侵,能自由控制窗帘的开关停,能通过智能排插控制与之相连的家电开关(比如当用户发现烟雾值超标时,可以打开电扇进行排气)。
2 系统硬件设计
系统硬件设计包括智能网关的设计、ZigBee无线传输模块设计、用于采集信息的传感器模块设计、控制模块设计等。
2.1 智能网关设计
智能网关采用的是Tiny6410SDK开发板。Tiny6410SDK采用Tiny6410作为核心板,Tiny6410是一款以ARM11芯片(三星S3C6410芯片)作为主处理器的嵌入式核心板,该CPU基于ARM1176JZF-S核设计,内部集成了强大的多媒体处理单元,支持Mpeg4、H.264/H.263等格式的视频文件硬件编解码,可同时输出至LCD和TV显示。Tiny6410集成了128 M DDR RAM、256 M/1 GB SLC Nand Flash存储器,采用5 V供电,在板实现CPU必需的各种核心电压转换。三星S3C6410芯片是一个16/32位RISC微处理器,可为2.5G和3G通信服务提供优化的H/W性能。它还包括许多强大的硬件加速器,如视频处理、音频处理、二维图形、显示操作和缩放等,使用此开发板可以很方便的进行嵌入式开发。
2.2 ZigBee无线传输模块设计
尽管协调器和终端节点的功能不同,但是它们的硬件核心却是相同的,都有ZigBee无线传输模块。ZigBee无线传输模块的功能是进行数据信号的无线传输,其在zigbee自组网里的角色会根据功能的不同分为协调器节点、路由器节点和终端节点。本系统的ZigBee无线模块采用TI的ZigBee片上系统CC2530作为控制器,主要由ZigBee芯片、晶振、天线、扩展引脚及LED灯等组成。CC2530工作于2.4G的ISM频段,其结合了一个完全集成的、高性能的RF收发器和一个8051微处理器、8 kB的RAM、32/64/128/256 KB闪存、以及其他强大的支持功能和外设。协调器与终端节点之间的通信依靠 CC2530 芯片来完成,它们之间的数据传输都是无线的,而协调器与智能网关之间通过串口相连完成数据通讯。
2.3 传感器模块设计
传感器模块主要负责家居环境中信息的采集,它们与ZigBee 无线传输模块相联后,就可通过ZigBee无线网络将采集信息传至智能网关。基于本系统要采集的信息内容,传感器模块选择烟雾传感器模块、主动红外对射传感器模块,温湿度传感器模块三种传感器模块。
温湿度传感器模块采用的是数字型温湿度传感器SHT10,其在一个微型电路板上集成了传感元件和信号处理电路,并能输出标定的数字信号。传感器在同一芯片上将电容性聚合体测湿敏感元件、能隙材料制成的测温元件与14 位的A/D转换器以及串行接口电路实现无缝连接,并采用专利的CMOSens®技术,确保传感器具有高可靠性与长期稳定性。
烟雾传感器模块采用MQ2烟雾传感器。MQ2的气敏材料是在清洁空气中电导率低的二氧化锡(SnO2)。当传感器检测到有可燃气体时,传感器的电导率会随气体浓度的增加而增大,使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ2适用于液化气、丁烷、丙烷、甲烷、烟雾等气体检测。
主动红外对射传感器模块采用WYC H2010槽型对射式光电开关,是一款集红外线发射器和红外线接收器于一体的红外感应光电产品。其发射器和接收器各自位于U型槽的两边,发射器主动发射红外波,接收器接收,形成一光轴。U槽宽为10 mm,当有物体经过U型槽阻断光轴时,光电开关就会产生检测到的开关信号,可对窗、阳台等出入口形成封闭式的防范,为家居提供良好的安保作用。
2.4 控制模块设计
控制模块与ZigBee无线传输模块相联形成终端控制节点,其主要包括窗帘控制模块与智能排插模块。窗帘控制模块会根据相应的指令,控制窗帘的开关停。本模块利用28BYJ-48型四相八拍步进电机模拟智能家居中的窗帘部分,当对步进电机施以连续不断的控制脉冲时,它可连续地转动,以此模拟控制家居环境中的电动窗帘。
智能排插模块的功能是自由控制与之相连家电的开关,系统使用本特B-837数码遥控开关作为主要器件来完成控制工作。无线智能遥控开关由遥控器和继电器开关组成,遥控开关有六根线,由右侧起分别为蓝、白、黄、红、黑1、黑2,红线连接市电的火线,黑1线连接市电的零线,蓝、白、黄分别为对应遥控器上的A、B、C三路(遥控上的D为三路的总开关),黑2线为蓝、白、黄共同的零线。将这些线与排插对应联接后,家电就可以受控进行开关了。
3 系统软件设计
系统软件主要完成环境数据的采集、数据无线通信、数据处理以及回馈控制信息等功能,可以简单地将其描述成两项工作:实时采集数据与实时控制操作,系统工作流程如图2所示。根据系统内各组件分工及功能的不同分别进行软件开发,主要集中在智能网关软件开发、ZigBee网络的软件开发、各终端采集与控制节点的软件开发等。
3.1 智能网关的软件开发
智能家居网关实现以下功能:通过ZigBee 网络实现家居环境的信息采集显示;同样通过ZigBee 网络对各终端控制节点进行控制。系统以 Win CE作为嵌入式操作系统,使用Microsoft Visual Studio 2005专业版作为开发工具,以C#作为应用程序开发语言,来进行智能网关的软件开发。智能网关软件开发包括操作系统的软件平台开发与应用程序的开发,而操作系统的软件平台开发包括根据目标平台的实际情况进行的Win CE操作系统定制、移植与Win CE驱动开发。将开发的智能网关软件系统整个刷写到智能网关里后,网关即可进行工作。
图2 系统工作流程图
3.2 ZigBee网络软件开发
ZigBee网络软件系统是以IAR Embedded Workbench作为开发环境,以TI公司的ZStack2006协议栈作为开发基础,以模块化的设计原则,由协调器模块和各终端采集控制节点模块二个部分组成。
3.2.1 协调器软件开发
协调器在Zigbee自组网络中起着非常重要的领导管理作用,它负责Zigbee网络的建立维护、与各终端节点通过Zigbee协议实现组网并在节点间传递信息、与智能网关进行信息交互。首先,启动后的协调器先进行初始化,并根据事先设定好的网络参数建立了一个Zigbee网络。当终端节点搜索到此网络后会申请加入此网络,协调器收到申请后会给终端节点分配一个16位网络地址,并在地址表中记录该节点,ZigBee网络便组建成功。ZigBee组网成功后,协调器进入ZigBee协议栈事件处理循环中,调用osal_start_system()主循环函数,轮询所有触发事件然后调用相关的任务处理函数,无任务时进入休眠状态。这些触发事件包括节点加入、查询采集节点的采集数据、向终端控制节点传递网关的控制指令。如果节点加入事件发生,协调器收到入网请求后,会先检查是否已记录了此节点,如没有,则会分配给节点网络地址,并增加节点信息;如果是查询节点采集数据,协调器会先查找对应采集节点,并向节点发送查询命令,然后接收节点的采集信息,并将信息传达至网关;如果是收到网关的控制信号,协调器查找对应的终端控制节点,查询到后将控制信号转发至对应的节点上。协调器程序流程如图3所示。
图3 协调器程序流程图
3.2.2 ZigBee终端采集控制节点软件开发
ZigBee终端节点是对家居中的某一个具体设备进行数据采集或控制,因此它们的软件开发必须根据各个节点实际实现的功能进行设计。终端节点初始化后,自动搜索到网络后发送进网申请,获得应允后会得到一个16位的网络地址。若为采集节点则定时调用信息采集程序进行采集,再将采集来的信息发送给协调器,然后由协调器发给智能网关。如果是控制节点,它在接到协调器转来的网关控制命令后,调用对应控制程序对设备进行控制。
4 系统测试情况
为更好地进行整个系统测试工作,应先对系统各部分分别进行独立测试,排查解决每个部分的问题,待所有部分均能完成各自功能后,再进行整个系统总测试,查看系统整体运行情况。整体测试步骤如下:
1)首先将ZigBee协调器通过串口与网关相连接,打开智能网关和ZigBee协调器开关,然后逐个打开ZigBee终端节点的电源,等待几秒钟后观察各节点是否成功组网。
2)进入网关的家居智能管理软件界面,如图4所示,选择协调器连接的串口,点击连接,查看各节点按钮状况,如果按钮是灰色的说明节点连接有问题,如果是高亮显示说明节点已连接成功可进行控制了。
3)测试终端采集节点的运行状况:点击对应的选项按钮,这里先选择“红外对射”,将非透明障碍物放于U型槽的中间,当红外对射传感器模块有所感应时,就可以看到网关会有相应提示信息“有人侵入,请注意!”(如图4-A所示)。其他的终端采集结点也一一操作,观察网关提示信息。
4)测试终端控制节点的运行状况:点击对应的选项按钮,这里先选择“窗帘”,可以看到右侧出现几个控制按钮(如图4-B所示),分别点击,查看窗帘的具体操作情况。其他控制节点一样查看运行情况。
经最终测试,整体运行正常,本系统完成以下几个功能:
1)ZigBee无线组网成功,网络中的各终端节点均正常运行,并完成通信。
2)智能网关能够正常接收从ZigBee无线传感网传递来的传感采集信息并进行显示。
3)智能网关的控制指令能正常传到ZigBee无线传感网络中的指定控制结点,设备按指令完成操作。
图4 家居智能管理软件界面
5 结论
本系统是基于ZigBee无线传感技术而设计的家居智能管理系统。在真实环境的测试中,系统能实时准确的采集环境中的温湿度信息、烟雾信息、入侵信息,并将这些信息经由协调器传至智能网关加以显示;同时将智能网关对于窗帘与智能排插的控制指令通过协调器传至与窗帘、排插相联的的终端控制节点,完成对窗帘的开关停以及对与排插相连的家电设备的开关控制。本系统实现了对家居环境的真实监测与控制,无需另外布线,节点摆放自由,具有扩展性好、实时性强、运行准确、成本低、功耗低等优点。
[1] 黄玉兰.物联网概论[M].北京:人民邮电出版社,2011:1-30.
[2] 戴敏,陈波.基于ZigBee技术的智能家居系统设计[J].自动测量与控制,2008,27(3):80-81.
[3] 孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005:1-26.
[4] 李蕾.基于智能家居环境的无线传感器网络结构研究[J].信阳师范学院学报:自然科学版,2013,26(4):616-619.
2014-06-19
福建省教育厅教育科研项目(JB13338);福州市科技局项目(2011-G-108)
张如(1975-),女,福建福鼎人,福州职业技术学院讲师,硕士。研究方向:计算机应用。
TP273.5
A
1008-4657(2014)04-0032-05
寸晓非]