基于ZigBee网络的Android平台粮情移动监测系统

2015-07-18 13:02江世根王锋
物联网技术 2015年5期
关键词:上位机

江世根++王锋

摘 要:针对传统粮情监测系统布线复杂、移动性差的问题,设计一种基于ZigBee网络的Android平台粮情移动监测系统。该系统由三个子系统组成:ZigBee无线传感器网络、PC上位机和Android客户端。系统基于ZigBee网络实现粮仓温湿度数据的采集和无线传输;基于Android平台开发的客户端实现了方便的粮情信息获取和查询。测试结果表明,系统运行稳定可靠、应用方便。

关键词:ZigBee网络;上位机;Android客户端;移动监测

中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2015)05-00-02

0 引 言

粮食是人民群众生活的基本物资,是国家应对自然灾害、战争或突发性事件的重要战略物资。作为人口大国,我国不可避免地需要面对粮食安全问题。粮食安全事关社会和谐,政治稳定和经济可持续发展[1],而科学储粮是粮食安全的一个重要环节,应着力避免因粮食储存不当而导致的粮食生虫、霉变和腐烂等问题[2]。因此,粮情监测显得尤为重要。现有的粮情监测系统大都只采用PC机系统来监测粮仓内的温湿度信息,终端比较单一且不具移动性。

随着移动智能终端的普及,由于其特有的移动性和易于接入网络的特性[3],可以成为不受地理位置限制、实时动态监测粮情的理想终端设备。本文结合目前Android平台快速发展的大趋势和现有粮情监测系统的不足,设计了基于ZigBee网络的Android平台粮情移动监测系统。

1 系统结构设计

粮情移动监测系统用以实现对粮仓内部温度和湿度数据的远程获取、传输、数据可视化显示为目标,整个系统由ZigBee无线传感器网络、PC上位机、Android手机客户端三部分组成,系统结构如图1所示。

图1 系统结构图

ZigBee无线传感器网络由ZigBee传感器终端节点和协调器节点组成,主要负责粮仓内部温湿度数据的采集。传感器终端节点是整个粮仓环境监测系统的核心部分,负责采集粮仓内部温度和湿度数据,并将采集到的可靠环境数据以无线的方式传输到协调器节点,再由协调器节点通过RS 232串口传输给PC上位机。

PC上位机的监控软件主要实现对粮仓内环境数据的实时监控,将接收到的数据数字化和图形化显示,并以不同颜色的波形表示不同位置传感器节点采集的环境数据。通过使用Socket套接字使上位机软件具有Socket服务器功能,以此来监听手机客户端的请求,并向手机客户端发送粮情数据。

Android手机客户端通过WiFi访问上位机监控软件,采用TCP通信协议和Socket通信技术实现手机端向上位机发送请求以及将温湿度数据从上位机传输到客户端。手机客户端将返回的温湿度数据可视化,从而实现管理员对粮情的远程、实时监控。

2 系统软件设计

2.1 粮仓ZigBee无线传感器网络软件设计

ZigBee无线传感器网络包括传感器终端节点和传感器协调节点。其中传感器终端节点负责将传感器采样得到的模拟信号转换成数字信号,并发送温湿度数据;传感器协调节点实现温湿度数据的双向传输,还负责组建无线传感器网络、维护网络和管理网络[4]。在对粮仓温湿度数据监测的过程中,每层放置一个传感器终端节点。传感器终端节点上集成的温湿度传感器负责采集粮仓不同区域的温湿度信息,而无线传输模块将采集到的温湿度信息以无线的方式发送到传感器协调节点上。ZigBee无线传感器网络终端节点和协调器节点的工作流程图如图2、图3所示。

2.2 PC上位机软件设计

PC上位机在整个系统中起到数据中转的作用,上位机通过RS 232串行口完成与协调器节点的通信,从而接收传感器终端节点采集到的粮仓温湿度数据,并通过Socket通信技术实现与手机客户端之间的数据传输。PC上位机上的粮情监测软件在VC6.0开发环境下采用C++语言开发而成,在工程中通过添加MSComm控件来实现数据传输功能。MSComm控件能够提供串行通信的所有功能,也可从串口读数据和写数据到串口上[5]。上位机软件工作流程如图4所示。

图2 协调器节点工作流程图 图3 传感器终端节点工作流程图

图4 上位机软件工作流程图

该上位机软件还可实现对粮仓内温湿度数据的实时监测,将接收到的数据数字化和图形化显示。管理员可通过监测界面实时掌握粮仓内温湿度变化,还可通过温湿度数据波形的变化对未来一段时间内粮仓环境的变化做出预测,提高粮仓管理的实时性和高效性。

2.3 Android移动客户端软件设计

本系统的移动客户端应用程序是在Windows 7操作系统环境下进行设计,采用Android系统平台的终端设备搭载客户端软件。搭建客户端软件开发环境需要安装和配置以下开发工具[6]:JDK、Java基础类库;Eclipse、Java语言开发环境;Android SDK、Android专属软件开发工具包;ADT、Android应用程序插件。

手机客户端通过无线WiFi网络实现与PC上位机之间的通信,采用TCP/IP通信协议和Socket通信技术向上位机发送请求,等待上位机的响应并将接收到的数据可视化显示。系统采用Socket通信来实现客户端与上位机之间的数据传输;Socket在计算机网络中通常被称为“套接字”,用于描述IP地址和端口号[7],是一个通信链的句柄。

手机客户端与上位机之间采用Socket通信技术来实现数据传输的示例如下:

PC上位机端(仅列举主要代码):

BOOL ret = WSAStartup(MAKEWORD(2,2),&wsaData);

//初始化TCP协议

Socket ServerSock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创建服务器端套接字

bind(ServerSock, (struct sockaddr*)&localaddr, sizeof(sockaddr)); //将套接字绑定到本地一个端口上

listen(ServerSock, 5); //将套接字设为监听模式,准备接收客户请求

Socket client = accept(ServerSock, (sockaddr*)&ClientAddr, &nLen); //等待客户请求到来,当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字

Send(ClientSock, strTxBuf, index+1); //发送数据

移动客户端(仅列举主要代码):

socketAddress = new InetSocketAddress(strIP, SERVER_PORT); //根据服务器IP地址和端口号创建套接字地址

socket = new Socket(); //创建客户端套接字

socket.connect(socketAddress, SERVER_PORT); //向指定服务器发送连接请求

一旦IP地址和端口号都与上位机端匹配,客户端发送的请求就会被上位机端接收,这时就实现了客户端与上位机端的通信。然后,在客户端创建InputStream(输入流)和OutputStream(输出流)的对象实例,便可调用write方法和read方法实现对粮仓温湿度数据的接收。

3 系统测试

系统在粮食储备库平房仓模型中进行测试。将粮仓模型分成上、中、下三层,在每层放置一个传感器终端节点,在Android客户端界面上采用终端1、终端2和终端3来表示。其中传感器终端节点采用DHT11温湿度传感器来采集温湿度数据。经调试,系统在上位机软件中通过定时器设置为每隔1s刷新一次数据。经测试,该系统能够长时间稳定运行,实现了粮仓温湿度采集、传输和远程显示等功能。PC上位机软件和Android客户端最终的显示界面如图5、图6所示。

4 结 语

本文设计实现了粮情信息的远程获取和移动性监测。系统采用ZigBee网络进行粮仓温湿度信息的采集,而移动终端客户端的开发打破了地域限制,且移动性好,实现了随时随地掌握粮情信息的功能。

图5 上位机软件显示界面 图6 手机客户端显示界面

参考文献

[1]胡岳岷.中国粮食安全:价值维度与战略选择[J].经济学家,2013,25(5):50-56.

[2]祁正亚,阙岳辉,梁柱有,等.加强科学管理 降低储粮损耗[J].粮食加工,2014,39(1):68-71.

[3]鞠传香,吴志勇.基于Android平台的矿井安全监控系统研制[J].煤炭工程,2013,45(S1):165-167.

[4] Gurjit Kaur,kiran Ahuja.Qos Measureme- nt of Zigbee Home Automation Network using Various Routing Protocols[J].Intern -ational Journal of Computer Application -s,2011,13(2):25-30.

[5]孙学岩.基于ZigBee的鸡舍智能测控系统[J].农机化研究,2011,33(1):107-110.

[6]李兴华.Android开发实战经典[M].北京:清华大学出版社,2012.

[7] Sunghoi Park,Myeong-in Choi.Design an-d Implementation of Smart Energy Man-agement System for Reducing Power C-onsumption Using ZigBee Wireless Com-munication Module[J].Procedia Computer Science,2013,19:662-668.

猜你喜欢
上位机
基于单片机的无线液位监测系统
基于单片机的远程控制智能浇水系统