基于ZigBee网络的Android平台粮情移动监测系统
扫描二维码
随时随地手机看文章
引 言
粮食是人民群众生活的基本物资,是国家应对自然灾害、战争或突发性事件的重要战略物资。作为人口大国,我国不可避免地需要面对粮食安全问题。粮食安全事关社会和谐,政治稳定和经济可持续发展 [1],而科学储粮是粮食安全的一个重要环节,应着力避免因粮食储存不当而导致的粮食生虫、霉变和腐烂等问题 [2]。因此,粮情监测显得尤为重要。现有的粮情监测系统大都只采用PC 机系统来监测粮仓内的温湿度信息, 终端比较单一且不具移动性。
随着移动智能终端的普及,由于其特有的移动性和易于接入网络的特性 [3],可以成为不受地理位置限制、实时动态监测粮情的理想终端设备。本文结合目前Android 平台快速发展的大趋势和现有粮情监测系统的不足,设计了基于ZigBee 网络的Android 平台粮情移动监测系统。
1 系统结构设计
粮情移动监测系统用以实现对粮仓内部温度和湿度数据的远程获取、传输、数据可视化显示为目标,整个系统由ZigBee 无线传感器网络、PC上位机、Android 手机客户端三部分组成,系统结构如图 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 Android移动客户端软件设计
本系统的移动客户端应用程序是在Windows 7 操作系统环境下进行设计,采用 Android 系统平台的终端设备搭载客户端软件。搭建客户端软件开发环境需要安装和配置以下开发工具[6] :JDK、Java 基础类库 ;Eclipse、Java 语言开发环境; Android SDK、Android 专属软件开发工具包 ;ADT、Android 应用程序插件。
手机客户端通过无线WiFi 网络实现与PC上位机之间的通信,采用TCP/IP 通信协议和Socket 通信技术向上位机发送请求,等待上位机的响应并将接收到的数据可视化显示。系统采用Socket 通信来实现客户端与上位机之间的数据传输; Socket 在计算机网络中通常被称为“套接字”,用于描述 IP 地址和端口号[7],是一个通信链的句柄。
手机客户端与上位机之间采用Socket 通信技术来实现数据传输的示例如下:
一旦IP 地址和端口号都与上位机端匹配,客户端发送的请求就会被上位机端接收,这时就实现了客户端与上位机端的通信。然后, 在客户端创建 InputStream(输入流)和OutputStream(输出流)的对象实例,便可调用 write 方法和read 方法实现对粮仓温湿度数据的接收。
3 系统测试
系统在粮食储备库平房仓模型中进行测试。将粮仓模型分成上、中、下三层,在每层放置一个传感器终端节点,在Android客户端界面上采用终端 1、终端 2和终端 3来表示。其中传感器终端节点采用DHT11温湿度传感器来采集温湿度数据。经调试,系统在上位机软件中通过定时器设置为每隔 1s刷新一次数据。经测试,该系统能够长时间稳定运行,实现了粮仓温湿度采集、传输和远程显示等功能。PC上位机软件和Android客户端最终的显示界面如图 5、图 6所示。
结 语
本文设计实现了粮情信息的远程获取和移动性监测。系统采用ZigBee 网络进行粮仓温湿度信息的采集,而移动终端客户端的开发打破了地域限制,且移动性好,实现了随时随地掌握粮情信息的功能。