APP下载

基于Android和ZigBee的移动环境监控系统

2017-03-29李松涛尹清爽

计算机技术与发展 2017年3期
关键词:网关路由器路由

李松涛,尹清爽

(河南工程学院 计算机学院,河南 郑州 451191)

基于Android和ZigBee的移动环境监控系统

李松涛,尹清爽

(河南工程学院 计算机学院,河南 郑州 451191)

针对远程监控的需求和特点,在分析Android智能手机平台结构和ZigBee无线网络通信技术特点的基础上,设计了一种新的移动环境监控系统。该系统集成Android智能终端和ZigBee传感器网络,可以实现区域环境数据采集和远距离的数据通信。系统硬件平台由ZigBee节点和Tiny6410嵌入式开发平台组成,ZigBee节点采用高性能CC2430芯片,多个节点自组织成无线传感网络,实现环境数据的采集和无线传输。基于S3C6410微控制器的Tiny6410作为网关,其上运行Android系统,用户使用智能终端可以远程访问运行于网关的Web服务器,通过浏览器获取监控对象的数据。系统测试结果表明,该系统具有低成本、高可靠性等特点,可以满足移动环境监测的需要。

Android;ZigBee;远程监控;无线传感器网络

0 引 言

随着无线通信技术的发展,无线信息传递越来越稳定可靠,其抗干扰能力、纠错能力和保密能力越来越强[1]。而有线监控系统存在着铺设成本高、建设周期长、抗破坏能力弱等一系列问题。在远程监控领域,无线技术取代有线将是大势所趋。

伴随移动通信技术的发展,手机成为新的获取信息的终端。由于现在智能手机的主频频率、内存容量不断提升,而且集成了越来越多的传感器,特别是基于Android的智能手机的快速普及,使手机成为一种新型的智能监控终端[2-3]。

Android智能手机是一种全新的开源系统架构,有强大的应用层和丰富的传感器功能,其开放的平台有利于开发者开发出各类应用软件[4]。由于Android基于Linux系统,因此可以使用C语言访问底层硬件,对硬件进行功能扩展,能够与其他模块进行有线或无线的数据通信[5]。ZigBee技术是一种低功耗、自组织的网络系统,是物联网中的核心技术,作为一种新型的短距离无线通信技术,特别适用于多点分布式的数据采集系统的无线通信。

文中提出一种基于Android和ZigBee技术的监控系统,在系统中使用以S3C6410为核心处理器的Tiny6410开发板作为Android系统网关,其上运行Web服务程序,服务程序通过ZigBee协调器节点与ZigBee无线网络交互,对采集到的数据进行处理。用户可以通过3G网络访问网关,获取监控对象的数据。

1 相关技术介绍

1.1 Android开源平台

Android是Google公司推出的一个基于Linux内核的智能移动平台的解决方案,由于Android具有人机界面友好、可扩充性强、安全易用等特点,在推出后短短几年就已经占据了移动平台的领军地位。

Android操作系统自顶向下分为4个层次,即应用层、应用框架层、本地框架和Java运行环境以及Linux内核层[6]。应用层是系统自带的或者由用户开发的应用程序,应用程序使用Java编写。应用框架层提供方便复用的组件,可以调用该层的组件构建应用程序。本地框架使用C/C++实现,包含C库,多媒体库,浏览器引擎,2D、3D图形引擎等。Android中使用Dalvik作为Java虚拟机,每个Android应用程序都拥有一个独立的Dalvik虚拟机实例,在各自的线程中运行。开发者可以通过应用程序框架调用这些库函数,实现满足特定领域需求的应用程序[7]。Android底层是一个基于Linux内核开发的独立操作系统。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其他的软件层之间。

1.2 ZigBee技术

ZigBee技术具有自组织、稳定性好、抗干扰性强、功耗低等一系列优点[8],在无线局域网、物联网和低功耗传感网络等领域得到了广泛应用[9]。ZigBee技术基于IEEE802.15.4标准,该标准满足国际标准组织(ISO)开放系统互连(OSI)参考模式。它定义了单一的MAC层和多样的物理层。网络层以上协议由ZigBee联盟制定,ZigBee实现了网络层和应用层。

ZigBee由实现不同功能的节点通过无线通信组成星状、网状和树状网络,为降低成本,网络中的大部分节点只实现了全功能的一个子集,称为精简功能设备,而另外一些节点实现了通信、路由数据等功能,称为全功能设备。

2 系统总体设计

系统整体上是一个C/S结构。ZigBee协调器和路由器节点组成了一个短距离无线网络,负责传感器数据的采集和传输。系统使用基于Android的系统作为网关,其上运行Web服务程序,服务程序可以和ZigBee网络中的协调器节点交互,获取来自ZigBee路由节点的传感器数据。用户可以通过手机远程访问网关、获取实时数据。系统的总体结构如图1所示。

Android网关起到一个协议转换的作用,实现了采集数据的处理和传输。它一方面接收来自用户的数据请求,另一方面与ZigBee协调器节点交互,获取ZigBee节点检测到的现场数据[2]。

图1 系统的整体结构

ZigBee网络实现了系统的采集和无线近距离传输功能,分布在监测点的路由节点采集数据并将其发送至协调器节点。同时,协调器节点会向路由节点发送各类控制命令。

2.1 Android网关节点设计

Android网关的硬件平台采用Tiny6410嵌入式开发板,Tiny6410使用ARM11(S3C6410)处理器芯片作为嵌入式核心板,板载256 M DDR RAM,256 M/2 GB Nand Flash存储器,开发板接口资源丰富,集成了多个串行口、USB口等,支持SD卡启动、通过2.0 mm间距的排阵,引出ARM芯片引脚,便于系统扩展。由于Tiny6410丰富的板上资源及可扩展性,非常适合进行二次开发[10]。

网关运行Android 2.3系统,通过串口实现了与ZigBee网络中协调器节点的通信,并可以利用有线或GPRS的形式实现网关设备与Internet的连接。Android应用程序在Activity中通过应用框架和硬件抽象层调用串口通信函数,获取来自ZigBee协调器的数据,串口通信函数使用C语言编写,最终编译成so文件。传感器采集到的数据保存在Android内置的SQLite数据库中。运行在Android系统上的服务软件可以将温度、湿度等数据通过Web服务器向外发布。网关软件结构如图2所示。

图2 Android网关软件结构

2.2 ZigBee节点设计

近距离无线网络由ZigBee节点组成。在系统中设定了两种类型的节点:协调器节点和路由器节点。前者负责ZigBee网络的建立和管理、与Android网关的通信。后者与传感器模块相连,可以自动加入已经存在的ZigBee网络,建立路由及进行数据采集。

(1)节点的硬件结构。

ZigBee协调器节点和路由节点都采用CC2430作为硬件结构的核心[11]。CC2430内部集成了业界领先的射频收发器、丰富的片内外设和强大的DMA控制器,以及高性能的射频收发器。协调器节点不需要外接传感器,但需要用到UART口和网关通信。

ZigBee路由节点需要连接传感器,传感器用于将各种物理量转换为计算机能够处理的数字量[12]。硬件结构框图如图3所示。

系统中采用SHT11作为温湿度传感器来采集分散的环境数据。该传感器为具有二线串行接口的单片全校数字式新型相对湿度和温度传感器,具有数字式输出、免标定、免外围电路、寿命长、适用性广等优点,在管道、温室、机房等场合得到了广泛应用。

SHT11将传感器、信号放大、A/D转换、串行接口集成到一个芯片内,可以很方便地实现与微处理器的连接[13]。

(2)节点的软件设计。

节点的软件设计建立在ZigBee网络协议栈的基础上,TI推出了一种针对CC2430的协议栈Z-stack,该协议栈基于OSAL操作系统[14]。应用程序被分成一个个不同的用户任务,用户任务和ZDO等ZigBee系统任务一起在OSAL操作系统的调度下运行,其调度机制基于优先级,用户任务的优先级是最低的。无线网络开始工作时,首先由协调器建立网络,路由器节点检测并加入ZigBee网络,由协调器给每一个加入网络的路由器分配唯一的16位网络地址。在编程时,为每一个节点设定不同的设备号。路由器节点周期性地向协调器发送采集到的传感器数据。协调器接收并区分来自不同路由器节点的传感器数据,对数据进行处理、存储和显示。协调器与路由器节点之间的交互如图4所示。

在一个节点之上可以运行多个任务,任务之间通过消息和事件进行通信。在协调器上运行串口收发任务和数据处理任务,在路由节点上运行数据采集和无线传输任务。不同节点的任务通过命令簇建立起连接。

图4 协调器与路由器节点之间的交互

通过簇建立起来的通信模型如图5所示。

图5 节点之间基于簇的链接模型

在ZigBee网络中,协调器节点采用广播的方式向各个路由器节点发送命令,路由器节点接收到来自协调器的命令后,自动匹配自己的命令簇。如果相同,路由器节点响应协调器的命令并调用相应的函数完成操作,如启动传感器的工作,同时将采集到的数据发送到协调器。

3 系统测试

系统运行时,首先启动ZigBee协调器节点,由ZigBee协调器扫描可用的信道,建立ZigBee网络,然后依次启动各个ZigBee路由节点并自动加入ZigBee网络。最后启动运行在Android平台之上的Web服务程序,服务程序将来自ZigBee协调器节点的数据,保存到Android内嵌的数据库中,用户就可以通过PC或者智能手机的浏览器获取远程监控对象的数据。终端的显示界面如图6所示。

图6 手机客户端运行界面

4 结束语

将ZigBee技术和Android智能平台技术软硬件资源的多样性结合起来,在Android网关上构建服务器程序,实现了客户的远程访问。该系统具有部署方便、可扩充性强等特点,可以充分利用Android系统的软硬件资源,是对远程监控在移动互联网环境下的一次有效尝试。适用于小范围、低数据量的监控系统设计。测试结果表明,系统的设计达到了预期目标。

[1] Mottola L,Picco G P.Programming wireless sensor networks:fundamental concepts and state of the art[J].ACM Computing Surveys,2011,43(3):1-51.

[2] 耿东久,索 岳,陈 渝,等.基于Android手机的远程访问和控制系统[J].计算机应用,2011,31(2):559-561.

[3] 许强键,杨 飞,翁玲瑜.基于Android的一种主动监控系统设计与研究[J].计算机技术与发展,2014,24(4):189-192.

[4] Wu Yonghong,Luo Jianchao,Luo Lei.Porting mobile web application engine to the Android platform[C]//Proceedings of 2010 IEEE 10th international conference on computer and information technology.Chengdu,China:IEEE,2010:2157-2161.

[5] 周时伟,谢维波.基于Android的智能家居终端设计与实现[J].微型机与应用,2012,31(14):10-13.

[6] 姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,17(11):110-112.

[7] 王朝华,陈德艳,黄国宏,等.基于Android的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):225-228.

[8] Byun J,Jeon B,Noh J,et al.An intelligent self-adjusting sensor for smart home services based on ZigBee communications[J].IEEE Transactions on Consumer Electronics,2012,58(3):794-802.

[9] Park S,Choi M.Design and implementation of smart energy management system for reducing power consumption using ZigBee wireless communication module[J].Procedia Computer Science,2013,19(4):662-668.

[10] 郑 娟,王建华.基于ARM的智能家居安防监控系统的设计与实现[J].电子设计工程,2014,22(5):183-186.

[11] 杨福宝.基于ZigBee无线传感器网络节点的研究[J].制造业自动化,2011,33(19):85-88.

[12] 张 猛,房俊龙,韩 雨.基于ZigBee和Internet的温室群环境远程监控系统设计[J].农业工程学报,2013,29(4):171-176.

[13] 陈子龙,张红雨,李俊斌.CC2540和SHT11的无线温湿度采集系统设计[J].单片机与嵌入式系统应用,2013,13(4):41-44.

[14] 杨春勇,牛 磊,路 杰,等.环境监测网络中的ZigBee网关服务器[J].大地测量与地球动力学,2011,31(2):156-159.

Mobile Environmental Monitoring System Based on Android and ZigBee

LI Song-tao,YIN Qing-shuang

(School of Computer,Henan Institute of Engineering,Zhengzhou 451191,China)

In accordance with the applicable demands and features of remote monitoring,on the base of the analysis of Android smart phone platform structure and the characteristics of ZigBee,a new mobile environment monitoring system is designed.The system which consists of Android intelligent terminal and ZigBee sensor network can achieve regional environmental data and remote data communications.ZigBee node and Tiny6410 are used to build hardware platform.ZigBee node adopts high performance CC2430 chip.In order to achieve and transfer data,multiple nodes are self-organized into wireless sensor networks.Tiny6410 based on S3C6410 microcontroller is used as a gateway.Not only in local but also through the network,user can access to data on Android phone.The test results show that the system is of low cost and high liability.It can meet the requirements for environmental monitoring.

Android;ZigBee;remote monitoring;wireless sensor network

2015-05-21

2015-10-13

时间:2017-02-17

河南省科技攻关计划项目(122102310443)

李松涛(1971-),男,讲师,硕士,研究方向为计算机网络、嵌入式系统。

http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1623.010.html

TP311.5

A

1673-629X(2017)03-0197-04

10.3969/j.issn.1673-629X.2017.03.042

猜你喜欢

网关路由器路由
买千兆路由器看接口参数
基于改进RPS技术的IPSEC VPN网关设计
探究路由与环路的问题
你所不知道的WIFI路由器使用方法?
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
PRIME和G3-PLC路由机制对比
一种实时高效的伺服控制网关设计
WSN中基于等高度路由的源位置隐私保护
eNSP在路由交换课程教学改革中的应用