高波,董思招,黄世杰,黎建华
(台州学院数学与信息工程学院,浙江台州317000)
基于ZigBee的宿舍疫情移动监控系统的设计与实现
高波,董思招,黄世杰,黎建华
(台州学院数学与信息工程学院,浙江台州317000)
针对当前校园宿舍安全隐患与疫情监测系统所存在的高成本及监测滞后性问题,基于Android和ZigBee技术,设计开发了一套低成本的宿舍安全及疫情远程监控系统。该系统的整体设计是基于CC2530高性能处理器,同时在PCB(Print⁃ed Circuit Board)集成了多种传感器,采用ZigBee协议建立网络,在Android平台的操作,同步服务器的数据收发实现对疫情信息报送以及快速、及时、准确、有效的处理。
Android;ZigBee;疫情监控;传感器
无线传感网是新一代的传感器网络,具有非常广泛的应用前景,其发展和应用将会给人类生产和生活各个方面带来深远的影响[1]。而基于IEEE802.15.4无线协议标准的ZigBee无线通信技术[2],相比其他同类无线传感网安全性高,稳定性强,功耗低等优点,所以我们采用ZigBee无线传输方式来构建相应的无线传感器网络,能够较好地解决人工及有线方式存在的问题[3]。
本文介绍了以ZigBee网络中的硬件节点为核心,基于An⁃droid系统设计的宿舍疫情移动监控系统。经过合理分析与设计使得系统收集的信息量更加广泛,最终完成一系列的疫情监控任务。
宿舍疫情移动监控系统的整体设计如图1。该图描绘了从ZigBee网络中的终端节点到协调器,协调器到Web(World Wide Web)服务端,服务端到Android客户端[4]。
图1 宿舍疫情移动监控系统监控系统的整体设计
系统分为集成传感器的硬件节点、数据通信的Web服务端以及信息交互的智能Android客户端三个部分。
首先协调器组建ZigBee网络,终端节点加入网络,协调器节点通过串口将终端节点的信息与PC服务器进行数据通信,其次服务器可以实时获取由协调器发送至服务器终端节点采集的信息并且在Web前端同步显示,而Android客户端通过Wifi连接服务器,当服务器收到Android客户端发出的中断请求时,服务器可以从数据库中调用数据反馈到Android客户端,同时在Android客户端显示。
三个部分通过软件整合,实现从下到上,自上而下的一个整体,从而可以实现疫情监控系统的整体控制。
1.1 硬件节点设计
针对单一环境变量的疫情监控的不足,我们弥补了这些不足之处,分析设计出图2的硬件电路模块整体设计图。
图2 硬件电路模块的整体设计
该硬件电路通过主控芯片为三端固定电压3.3V的AMS1117-3.3芯片的电源模块实现电平转换使整个硬件电路供电正常工作,通过JTAG接口上电及下载硬件程序代码,同时CC2530核心板对各个传感器模块进行监测,进而可以达到控制发光二极管的亮灭,测量环境温度、光照强度、人流量、人体温度,从而达到疫情监控的实际效果。
对于宿舍疫情移动监控系统传感器的选择,根据监测环境的需要,同时结合各种传感器的精度较高,灵敏度较强,抗干扰性能良好[5]等优点,温度传感器选用DS18B20,光敏电阻选用GL5516,人体红外温度传感器选用IR_MLX90615,人体红外传感器选用HC-SR501。图3是硬件电路的部分原理图,包含了温度传感器、CC2530核心板、光敏电阻和人体红外传感器。
1.2 Web服务端设计
Web服务端的实现是基于Myeclipse这款开源功能强大的集成开发环境,数据传输采用基本的jsp(Java Server Pages)、servlet(Java Servlet)和jdbc(Java DataBase Connectivity)结构,Web服务部署到Tomcat[6],实现基于PC端的服务器。
图3 硬件电路的部分原理图
对于Web服务端涉及的封装类,功能实现流程如图4。
图4 Web服务端封装类实现功能
Web服务端的封装类包含了jsp界面、servlet控制器、后台逻辑代码和sql sever数据库。对应每次数据库更改的信息时会通过servlet控制器返回到jsp界面显示。
对于Web服务端中的数据库,数据采集与数据修改都会同步至数据库。
图5 数据库同步数据
图5展示的是主要数据同步联系:底层硬件节点的信息通过协调器发送到服务器的数据进行封装,封装的数据存储到数据库当中;另外Android客户端发送更改数据的请求之后会经过正确校验之后会保存至数据库当中。
1.3 Android客户端及socket通信机制的实现
根据Android客户端的设计,Android客户端通过Wifi连接至服务器,Android客户端通过TCP/IP协议与服务器连接[7],建立socket通信机制,完成Android客户端与服务器之间的数据收发。
Android客户端和Web服务端数据通信机制采用C/S(Cli⁃ent/Server)结构,这种常见的结构在客户端上安装软件,数据的处理主要放到客户端上进行,而服务器主要进行数据的存储和交互[8]。
基于socket通信机制的建立过程如图5。服务器启动之后监听服务程序处于监听状态,监听Web服务端端口是否被连接,当Android客户端发送连接的请求时,服务端接收到请求的信号会发送出接收该请求的消息,最后Android客户端和Web服务端经过TCP/IP“三次握手”[9]建立连接,此时数据发送和接收的socket通信机制就建立起来了。
图6 socket通信机制建立
经过严格的设计,我们对本系统完成进一步的全面性测试。
首先协调器建立ZigBee网络,图6中靠近JTAG接口的灯常亮。
图7 协调器建立ZigBee网络
这时等待终端节点的加入,直到终端节点加入ZigBee网络之后终端节点会显示靠近天线的两个灯常亮。图7显示终端节点已经加入Zigbee网络,可以表明已经组网成功。
图8 协调器建立ZigBee网络及终端节点的入网
同时Android客户端连接服务器,图8显示的是登陆对应的网关。
图9 Android客户端登陆服务端
这时界面显示的是当前的终端节点的信息,消息界面包括灯的路号,ID号,光强度,温度和灯的状态,同时灯状态是可以改变的。
图10 Android客户端消息界面
当Android客户端改变终端节点的灯信息被改变时,数据会同步至服务器,同时Web前端界面实时显示当前终端节点收集的信息。
图11 web前端监控数据1
图12 web前端监控数据2
图11和图12是在室内web前端监控数据结果显示,表明系统终端节点收集的信息正常。
经过对本系统完整的测试,Android客户端可以改变终端节点信息并同步显示,硬件设备传感器能正确的监测到当前的环境信息,并通过web前端显示出来,系统的设计实现了预期的效果。
Android和ZigBee网络的结合在校园的广泛应用,通过结合硬件实现基本实现了宿舍疫情移动监控系统的监控。本系统了实现在Android客户端查看和修改节点数据,PC服务器同步数据,很好地进行实现实时监控,可以在很多场合加以应用[10]。
[1]李成大,张京,龚茗茗.无线传感器网络及其应用综述[J].成都电子机械高等专科学校学报,2007(3):10-14.
[2]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.
[3]蔡利婷,陈平华,罗彬,等.基于CC2530的ZigBee数据采集系统设计[J].计算机技术与发展,2012(11):197-200.
[4]中智讯(武汉)科技有限公司.基于CC2530 ZigBee无线传感网协议开发[M].2015-3.
[5]吴伟明.传感器应用与发展[J].电子制作,2007(4):6-8.
[6]王慧.基于J2EE的四川教育学院网络教学系统的设计与实现[D].成都:电子科技大学,2011.
[7]方思维,张盼盼.Android与ZigBee的远程控制无线网关设计[J].单片机与嵌入式系统应用,2013(4):68-71.
[8]焦伟平.基于无线传感网的校园宿舍安全与疫情监测系统的设计与实现[D].成都:西南交通大学,2012.
[9]张梦娜,于鸿洋.基于C/S模式的远程云台控制系统设计与实现[J].电视技术,2014(13):145-148.
[10]郑先海,吕海华,杨弘平.基于AndroidPN技术的Zigbee无线网络的物联网数据采集[J].沈阳工程学院学报:自然科学版,2014(4):370-372,381.
TP399
A
1009-3044(2017)21-0061-03
2017-06-08
浙江省大学生科技创新项目(2016R430004)