基于安卓平台的重点设备远程监测系统设计

2018-05-15 08:31郭起轩仲梁维
软件导刊 2018年4期
关键词:远程监测数据采集物联网

郭起轩 仲梁维

摘 要:传统制造行业设备监控存在信息故障反馈不及时、提取和处理数据效率低下等问题。为提高设备使用调度管控效率,及时掌握现场设备情况,基于物联网技术,开发了一套监测重点设备系统。系统能实时采集现场设备运行过程中的参数信息,将处理的数据实时发布到安卓平台移动端。实验结果表明,采用该系统能提高获取数据的有效性和及时性,方便管理人员实时监控,高效、便捷、准确了解现场重点设备运行情况,为实时跟踪设备、分析设备状态及有效管理提供决策支持。

关键词:设备监测;物联网;远程监测;数据采集

DOI:10.11907/rjdk.172619

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)004-0115-03

Abstract:There are problems such as untimely information failure feedback and low efficiency of data extraction and procession in traditional manufacturing industry. In order to improve equipment scheduling control efficiency and have acquaintance with on-site equipment, we develop a set of effective key equipment monitoring system based on Internet of things (IOC) technology. The system can collect parameter information in the running of on-site equipment in real-time and transmit processed data to Android mobile terminals. The experimental results show that the system can improve efficiency and timeliness of data extraction and facilitate the management staff in real-time monitoring of on-site equipment effectively, conveniently and accurately, which is of great help for decision-making about real-time equipment tracking, equipment status analysis and effective management.

Key Words:equipment monitoring; Internet; remote monitoring; data acquisition

0 引言

目前,我國对设备监测的主要方式是采用被动式监测系统,将监测数据上传到调度中心,调度中心管理人员根据上传数据获知设备情况从而控制设备。这种按照规章制度进行的监测方案存在信息不能及时反馈,监管不到位等问题。本文将这种被动式检测系统替换为主动获取现场设备信息,通过构建基于安卓平台的设备检测系统,随时获取设备运行的状态信息,利用实时采集的信息进行决策判断,在第一时间作出应急反应[1],具有较好的应用价值。

1 系统总体架构

设备监测系统依托物联网技术,采用拥有自主环境交互能力的智能硬件和软件体系结构设计,针对设备运行情况进行及时有效监测。系统模块分为底层数据采集控制模块、通讯模块、服务器、本地现场监控、远程监控以及安卓手机移动端模块[2]。其中,底层数据采集控制模块由传感器元件、STM32控制板、开关执行元件组成,主要负责获取设备的温度、压力、振动等信息。STM32对原始数据进行处理后,发送给通讯模块,通讯模块将处理后的数据经GPRS网络发送到指定的远程服务器,并将数据存储在数据库中,系统架构如图1所示。

2 系统硬件设计

2.1 STM32系统板

STM32系统板成本、功耗低,增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32-128K闪存。时钟频率72MHz时,STM32功耗36mA,相当于0.5mA/MHz。

2.2 压力、温度、震动传感器

本系统选用FSR402压力传感器。该款传感器重量轻、精度高、体积小,能够将施加在传感器感应区域的压力转换为电阻值变化,以此获取压力信息。采用DS18B20数字温度传感器。DS18B20测温原理是把芯片感知的温度转换成数值放在数据寄存器中,按照DALLAS规定的时序传出数据,CPU通过单总线协议取得DS18B20中的温度值。震动传感器采用MEC原装震动开关SW-18015P,该开关灵敏度高,对环境震动敏感,一般用来检测周围环境的震动强度。

2.3 摄像头模块

摄像头模块用于实时了解现场情况。本系统采用中星微公司的ZC2301P摄像头模块,这种模块可将采集的视频信号压缩为视频数据传送到嵌入式Web服务器上,用户可通过登入Web网页或安卓平台下的指定网页,监控现场环境。

2.4 WiFi模块

为了将采集的数据传送到上位机,需要在STM32控制板上集成WiFi无限通讯模块,本系统采用的ESP8266WiFi模块是一款超低功耗的UART-WiFi模块,具有耗能低、尺寸封装等优势,能够将用户的物理设备连接到WiFi无线网络上[5]。

3 系统软件设计

监控软件包括MySQL数据库、通信接口端程序以及Android端APP三个部分。其中,服务器端的MySQL数据库主要功能是采集数据的存储、整理,为用户终端提供查询、修改等功能。通讯接口程序完成数据的采集、处理和指令发送功能,从而实现下位机与服务器端的通讯。Android客户端提供实时数据的监控、设备管理、用户权限登录、实时报警、历史数据查询等功能[6]。系统流程如图2所示。

3.1 服务器端软件设计

3.1.1 网络数据接收与解析

服务器端软件接收数据的形式是:接收数据报文、解析報文,得到原始数据。根据需要将数据存储到指定的数据库中,然后对数据进行处理。系统采用Apache Mina Server网络通讯应用框架。该框架底层通过JAVA NIO实现,可以支持TCP、UDP、串口等发过来的数据,具有异步、无阻塞、事件驱动等优点,并发量较大的情况也能处理,架构如图3所示。各个类主要功能如下:

(1)IoService(可以选择Acceptor实现):执行实际的I/O流,以此接收客户端的连接请求。通信地址和端口设置可通过setDefauitLocalAddres()函数实现,通过bind()函数监听指定的端口,处理网络连接。一旦一个新的连接到达后,IOAcceptor就产生一个session,后续所有从这个IP和端口发送过来的请求通过这个Session处理。

(2)IoProcessor:这个接口在另一个线程上,负责检查是否有数据在通道上读写,也就是说它也拥有自己的Selector,这是与Java NIO编码的不同之处。通常在Java NIO编码中都是使用一个Selector,也就是不区分IoService与IoProcessor两个功能接口。另外,IoProcessor负责调用注册在IoService上的过滤器,并在过滤器链之后调用IoHandler。

(3)IoFilter:这个接口定义一组拦截器,这些拦截器包括日志输出、黑名单过滤、数据的编码(write方向)与解码(read方向)等功能,其中数据的encode与decode是最为重要、也是使用Mina时最重要的地方。

(4)IoHandler:这个接口负责编写业务逻辑,也就是接收、发送数据的地方,核心代码如下:

public class ClientMinaServerHanlder extends IoHandlerAdapter {

private int count = 0;

public void sessionCreated(IoSession session) {

public void sessionOpened(IoSession session) throws Exception {

count++;

public void messageReceived(IoSession session, Object message)

throws Exception {

session.write(s+count); count++;

ClientObject ho = (ClientObject) message;

System.out.println(ho.getName());

ho.setName("serverClient");

session.write(ho);

3.1.2 数据交互端软件设计

物联网服务器是Web服务器的一种,基于标准网络调用约定,与操作系统和编程语言无关,仅仅通过相同的调用命令执行程序并返回处理结果。本系统选用Myeclipse2014的IDE(集成开发环境)、tomcat轻量级Web应用服务器和MVC模式进行系统开发。数据库采用MySQL数据库,用来存储通过数据接收软件解析的原始数据。Web服务在服务器上发布成功之后,可通过浏览器输入相应的url进行调用。

当客户终端向服务器发出Http请求时,监控系统的客户操作界面会以网页的形式返回,当远程客户需要查看设备的运转状态或查询设备运行的历史参数时,会通过服务器端软件调用数据的历史记录,Web服务器通过客户端实行相应的action,然后通过MVC模式中的Hibernate框架访问数据库,获取需要的数据[9]。

3.2 安卓终端软件设计

下位机不断通过传感器获取数据,服务器端软件会每隔一定时间读取数据库中新插入的数据,然后通过波形图动态显示在客户终端页面上,通过安卓技术对客户端界面进行渲染,实现在安卓终端上的监控。

4 结语

随着互联网技术、工业信息网络和控制技术的不断发展,现场底层数据网络已和上层互联网技术打通,实现了设备数据向远端客户端的传递[10]。本远程监控系统能实时显示设备的运行状态和故障信息,具备强大的数据库功能,实现数据的分析处理,为管理人员提供有效的数据支持,帮助维修人员及时掌握设备的运行状态,为故障判断赢得宝贵时间[11]。

参考文献:

[1] 公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):86-89.

[2] 王磊,许晓琳.GPRS 无线数据传输中服务端软件的设计和实现[J].测控技术,2007,26(11):55-56.

[3] 郑萌.Android系统移植和驱动开发[M].北京:电子工业出版社,2013:102-105.

[4] 秦华,孙晓松.基于STM32/Android的环境状况监测系统设计[J].无线互联科技,2013(1):59-61.

[5] 孙其博,刘杰.物联网:概念、架构与关键技术研究综述[J].北京邮电大学学报,2010(3):1-9.

[6] HAMD F,SMALOV L,JAMES A. Energy-aware security in m-commerce and the internet of things [J] .IETE Technical Review ,2009,26(5):57-362.

[7] 工业和信息化部.物联网“十二五”发展规划[EB/OL]. https://wenku.baidu.com/view/930ca21ac5da50e2524d7f5a.html.

[8] 胡永利,孙艳丰.物联网信息感知与交互技术[J].计算机学报,2012(6):147-163.

[9] 陈强.Android底层接口与驱动开发技术详解[M].北京:中国铁道出版社,2012:155-157.

[10] 孙利民.无线传感器网络[M].北京:清华大学出版社,2005:113-117.

[11] 詹成国,朱伟.基于Android的测控人机界面的设计与开发[J].电力自动化设备,2012,32(1):119-122.

(责任编辑:杜能钢)

猜你喜欢
远程监测数据采集物联网
基于开源系统的综合业务数据采集系统的开发研究
中国或成“物联网”领军者