摘 要: 通过物联网技术结合ZigBee相关模块构建无线传感网络,利用4个ZigBee节点实时采集特定环境的信息并进行控制,结合网关技术以及嵌入式ARM技术对环境进行监测并通过GPRS技术以及V4L2技术、Android技术来实现智能家居系统。通过软硬件的相关测试,验证了该系统的可靠性以及稳定性。
关键词: ZigBee;ARM;Android;GPRS;网关;智能家居
随着物联网技术以及嵌入式相关技术的快速发展,智能家居、智能传输、智能社区已经真实存在于我们的生活中。物联网实际上是物物相互连接构成的“互联网”,但是物联网在未来智能处理上,需要借助云计算、模式识别、人工智能等相关技术。本文通过ZigBee来构建无线传感网络。ZigBee[1]符合IEEE802.15.4标准的网络协议,可以利用CC2530处理芯片来构建ZigBee硬件模块,通过搭建无线传感网络[2]允许成百上千的设备加入,其中包括ZigBee协调器、ZigBee路由器、ZigBee节点设备等。近年来,ZigBee技术已经帮助企业解决了很多工业问题,同时在智能领域也有很好的应用前景。
1 系统总体设计
基于CC2530芯片的ZigBee节点首先通过一系列的传感器来获得实时的烟雾值、有无人活动、温度值、光敏值等,通过相应的ZigBee节点,利用Zstack协议栈以及2.4 GHz的无线,实时将获取到的数据发送给ZigBee的网关设备,网关设备获取到节点设备的值,通过串口传送给装载Android系统的ARM 11主控设备。主控设备通过对节点数据的收集与分析,将数据实时写入到Sqlite数据中并等待Boa服务器的读取。主控设备在Android设备上运行Boa服务器,这样用户可以远程通过Android手机的智能家居客户端登陆到系统Boa服务器来获取发来的数据控制相应的家电设备。用户也可以通过PC经过Internet网络以WEB的方式登陆到智能家居系统中,通过摄像头查看实时的画面。当传感器获取到的值与当前环境不匹配,例如温度过高(可能造成火灾)、烟雾值过大(可能煤气泄漏)、人体感应值发生跳变(可能有小偷进入)等情况,ARM主控模块则会通过GPRS模块发送消息给用户的手机并等待响应的处理方式,用户可以通过手机客户端控制,也可以通过PC登陆到系统中,进程处理(报警、灭火等)。若ARM主控模块在2 min内没有收到用户的ACK信息,则采用默认的处理方式。智能家居总体设计如图1所示。
2 系统硬件设计
2.1 ZigBee模块的设计[3]
ZigBee模块采用CC2530芯片,它是德州仪器生产的、基于2.4 GHz无线发射与接收器,内部包括数据的筛选以及地址的识别功能,同时内部集成了8051的CPU核。在ZigBee的节点模块中,配置了MQ-2系列的可燃气体及烟雾传感器模块(检测可燃气体的浓度)、人体红外感应模块[4](感应到人体活动)、电磁继电器(通过接入电器的零线和火线至继电器的常闭端以及公共端来控制电器设备)、DS18B20温度传感器(检测温度值)以及光敏传感器(检测光照值)。而ZigBee的网关模块主要接收节点的传感信息,并通过串口将收到的数据实时传输给主控设备。
2.2 ARM主控模块的设计
考虑到主控模块可以运行当前比较稳定的Android 2.3系统,所以在设计中使用了ARM 11系列的RISC处理器,采用了76JZ型号。同时配置了256 MB的内存、DM9000的百兆网卡用于进行网络连接、RS232串口用于和GPRS模块相连接,同时通过USB转串口与ZigBee模块的网关相连接。
2.3 GPRS模块的设计
GPRS模块采用的是BENQ公司的GPRS模块(又称GSM模块),内部由GSM基带控制器、射频模块、VBAT供电模块等硬件组成。工作电压在3.2 V~4.2 V,通常情况下,选取的电压为3.3 V,工作的电流为250 mA。通过串口和主控设备相互通信。同时摄像头模块采用中兴微ZC301系列的摄像头进行实时画面的捕捉。
3 系统软件设计
软件设计中,主要通过ZigBee模块(节点、网关)、ARM主控模块以及Android客户端的设计实现。本文通过流程图的方式来详细解析智能家居模块是如何工作的。
3.1 ZigBee模块设计
节点模块流程图如图2所示,网关模块流程图如图3所示。
3.2 主控模块的IO设计
主控模块的IO设计如图4所示。
3.3 Android客户端设计[5]
Android是基于Linux的开源操作系统,目前此系统主要用于定制开发,特别是当今的移动开发中,通常在Android系统上进行二次开发。图5所示为系统运行时客户端与服务器的交互过程。Android开发过程中,采用的开发工具是Eclipse,嵌入了ADT 16.0的管理插件,同时Android SDK采用的是2.3的稳定版本,运用JAVA语言进行编程开发。通过此开发方式,最后可以产生apk文件,将文件安装在手机中,即可使用。
4 总体实现
以下是实现用户远程登录到系统进程的操作。图6中,用户通过Android系统[6]运行智能家居客户端,客户端可以通过连接方式登录到ARM主控服务器中,继而查看温度、光强、烟雾等信息,并可以通过对节点继电器的控制,进而控制家用电器。图6中,一号节点控制的灯被打开了。图7所示为通过运行连接后,输入服务器的IP地址,准备远程登录到服务器中。图8所示为通过客户端查看节点的温度值,从数据上看,当前的温度值是稳定的,而且很正常。按照同样的方式,可以查看光强值、烟雾值等。图9显示的则是由WEB远程登录到服务器中,通过主控板上的摄像头实时查看远端的情况。
本文设计并实现了基于Android和物理网技术的智能家居系统,通过物联网以及ZigBee技术可以方便灵活的构建低功耗、低成本、安全的无线传感网络。主控设计基于Android系统可以很好地处理各种级别的IO问题,在Boa嵌入式服务器的运转下,用户可以很方便地通过Android手机的智能家居客户端或者PC以WEB的形式登录到服务器中,实现远程的监控与控制。总之,通过设计并实现此智能家居系统,可以发现它具有很好的应用价值。
参考文献
[1] 李岩岩,李敬兆.ZigBee技术在路灯监控系统中的应用[J]. 微型机与应用,2013,32(5):51-53.
[2] 司海飞,杨忠,王珺,等.无线传感器网络研究现状与应用[J].机电工程,2011,28(1):16-20.
[3] 张永梅,杨冲,马礼,等.一种低功耗的无线传感网络节点设计方法[J].计算机工程,2012,38(3):71-73.
[4] 陈继海,刘军民.无线网络的气体检测报警系统设计[J].电子科技,2012,25(10):29-31.
[5] 李凯.Android操作系统分析与移植[D].广州:华南理工大学,2011.
[6] 朱乃昌.基于Android的物联网无线报警系统[D].北京:北京邮电大学,2012.