APP下载

基于MQTT协议的远程监管系统的设计

2021-11-08兰元帅李洋舒静李春全邓钦洋

电脑知识与技术 2021年27期
关键词:云平台数据采集

兰元帅 李洋 舒静 李春全 邓钦洋

摘要:该系统采用LUA开发ESP8266,实现两种功能:联网与数据转发功能;数据采集、控制功能,和传统物联网有很大区别。在实现远程监管功能上,该系统采用了阿里云平台作为数据的收发。ESP8266 将收集到的数据通过 MQTT协议发送至云端,然后通过阿里云转发到手机App即可监测终端数据。为了实现远程移动端的监控,还用Android开发了手机App客户端,一旦网络连接成功,即可随时随地实现远程监管。

关键词:ESP8266;数据采集;远程监管;云平台;App客户端

中图分类号:TN948.6    文献标识码:A

文章编号:1009-3044(2021)27-0101-02

物联网(Internet of Thing)[1-2]技术是互联网的重要部分,现代生活很多场景都运用物联网技术。其应用已经延伸到生活的各个方面,在现代的物联网控制应用当中,主要强调的是智能监管。本文采用全新MQTT通信物联网技术实现智能控制和数据接收。

现如今远程智能监管系统的实现方式通常较为复杂,其中,大部分的方案都是基于Zigbee自组网加处理器ARM [3],这种方案实现成本高。针对这一问题,本系统采用了ESP8266模块[4]和阿里云。该系统布局简单,终端模块和无线通信模块被巧妙的融合,相对传统的物联网解决方案而言,省去了主控芯片,在阿里云平台的MQTT服务器不需要专门的开发,只需要在云平台上配置MQTT服务器,我们的WIFI模块和手机与云端的MQTT通信,便可实现移动端监测管理[5],节省了开发周期和成本。

1监管系统的总体方案设计

本研究设计的远程智能监管系统包括电源模块、数据采集端(火焰探测,温湿度检测和燃气检测),8266控制端、阿里云平台和远程控制端。

终端数据经由ESP8266WIFI模块接收,然后将接收到的数据发送到MQTT中转服务器,从而实现智能采集控制终端与云平台建立稳定的TCP网络连接[6],将数据经过MQTT协议发送给云端的MQTT服务器,中转服务器将对这些数据做相应的存储或转发。当收到远程的控制信号时,将数据一样经过MQTT协议传输给ESP8266模块做出相应操作。

手机App同样是以MQTT协议与云平台进行数据交流,实现客户端到服务端的通讯,两者之间是双工通讯,即手机App可以发控制信号给云平台,物联网云平台将此数据转发给终端,从而实现远距离操控[7]。

因为ESP8266资源有限,本设计用两块ESP8266实现,ESP8266用于数据收集環境温湿度、检测燃气浓度是不是超标、探测火焰环境、监控人体进入、远程操作继电器开关,此空气湿度可监测的范围在10%-95%,温度范围在5-45摄氏度。控制系统用手机实现实时在线。本研究的设计框架如图1所示。

2系统硬件电路设计

本系统着眼于物联网现代化,重点打造简洁的智慧工厂监管系统,与物联网技术建立紧密联系,进而使物联网远程技术成为智慧工厂监管系统的最终形态。

针对基于云智慧监管系统的现实需求,本系统选用了一系列软硬件无线产物,其中硬件物联网设备主要分为三大类:一、可以使用无线传输协议的智能终端。二、传感器种类多。三、采用继电器控制的智能化控制设备。

2.1 ESP8266外围电路设计

本设计的核心电路包括ESP8266最小系统电路、电源电路、继电器控制电路,在这些基本电路的基础上外加各种传感器,实现对智慧工厂的各项数据的检测和远程控制功能[8]。

ESP8266最大的好处是既可以WIFI通信,又可以作主控MCU,在实际开发里的互联网或者局域网部分中,均可作为通讯终端,已达到联网特点。通过使用5V电压对模块供电,可以检验ESP8266芯片是否正常工作,检查晶振是否起振,通过ESP8266模块[9]与传感器进行数据交流,然后将采集的数据发往云平台。

2.2 继电器控制电路

在万物互联时代智慧工厂系统中,设备实现自动化、智能化是至关重要的问题。本系统采用App下发的命令控制继电器,由于继电器采用电平原理设计,因此本系统可在+5V供电的情况下,完成对系统各类模块的控制,此继电器可以控制4种不同的负载装备。

3软件程序的设计

3.1无线通信软件程序的设计

在智能监管中,数据采集和移动端远程控制通信功能是必须实现的。此外在主程序设计时实现了重连机制,保证二者持续连接。本设计采用轻量级LUA开发,使用它的通信功能的同时,也使用内部剩余的MCU资源,利用率极高。本设计采用LUA编程,因此,需要刷入LUA固件,在其基础上实现WIFI连接和控制功能[10]。

ESP8266主程序实现了物联网智能监管的各项功能,具有简单的程序结构。当给系统上电时,首先初始化输入输出端口、内外部时钟等内部模块。

当系统中一些必要的模块完成初始化以后,ESP8266模块需要与外网进行连接,在这之后需要连接云端服务器的IP地址和端口号。ESP8266无线WIFI终端模块与物联网设备云平台进行双向数据传输。本设计与云端的数据传输协议使用的是MQTT网络通信协议,使用订阅主题的方式采集数据,使用发布主题的方式云端发出控制命令。

3.2 Android应用程序开发

本设计的智慧工厂远程监管系统是以Android为控制终端,用户可以在Android设备上远程无线监测和管理工厂流水线,并且Android App客户端需要作为智慧工厂网关的控制器,共同组建物联网网关[11-12]。当用户有网时,能接收数据并且发送控制指令,用户可以选择智慧工厂的4个模块,检测和控制不同的场景。

根据系统设计的功能需求,验证智慧工厂阿里云监管系统的具体功能的App实现过程[3],由于四个控制子模块实现的功能基本上相同,所以只针对一个控制子模块的代码实现做一定的阐述。

猜你喜欢

云平台数据采集
Docker技术在Web服务系统中的应用研究
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
高职院校开展基于云平台网络教学的探索与思考
企业云平台建设研究
基于开源系统的综合业务数据采集系统的开发研究