APP下载

工业物联网网关设计

2020-11-12武丽英沈林涛

自动化仪表 2020年9期
关键词:程序框图网关串口

武丽英 ,沈林涛

(1.上海工业自动化仪表研究院有限公司,上海 200233;2.上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

自2012年2月14日工信部颁布我国第一个物联网五年规划——《“物联网十二五规划”》以来,物联网在工业、金融、医疗、智能家居等行业的应用越来越普及。工业物联网(industrial internet of things,IIoT)是工业领域的物联网技术。其将具有感知能力的传感器、监控能力控制器以及移动通信、智能分析等技术融入工业生产过程的各个环节,最终将传统工业提升到智能化的新阶段。工业物联网推动着企业的数字化变革,已经有很多流程行业企业把传感器数据远程发送至计算机,从而对过程进行监控。IIoT将连接作为扩展手段,实现从任意地点对数据的实时访问、解读和分享。但工厂大量的现有设备和监控系统依旧采用传统方式,如人机界面软件、操作员站等,供用户监测。旧设备改造成本巨大。

针对此问题,本文提出一种结合ESP8266芯片的工业物联网网关,结合MQTT服务器和工业应用(application,APP)软件,即可将原有设备加入到工业物联网,在工业APP中实现对设备的监控。

1 总体设计

为了解决原有设备数据采集的本地化和数据资源非共享化问题,实现手机移动端和设备之间的实时监测和控制,原有设备通过工业物联网网关将数据提供给云服务器,工业APP从云服务器获取数据供用户监测。系统结构如图1所示。

图1 系统结构图Fig.1 Structure diagram of system

工业物联网网关采用ESP8266WiFi芯片作为硬件主控制器,通过串口和设备进行通信[1],并将设备的运行参数(如温度、速度、故障报警等数据)经云服务器处理后,实时显示在工业APP设备管理页面。同样,在工业APP设备管理界面修改后的设备运行参数,也可以由物联网网关通过MODBUS协议向设备寄存器写数据,实现远程修改设备运行参数。

2 硬件电路设计

系统硬件由供电模块、主控芯片、通信接口、系统时钟和按键LED构成,如图2所示。

图2 系统硬件框图Fig.2 Block diagram of system hardware

2.1 供电模块

稳定的工作电压是保证网关正常运行的前提。开关电源提供5 V的外部电源,并通过稳压器ASM1117模块降至3.3 V,给ESP8266芯片提供稳定的工作电压。

2.2 主控芯片

ESP8266是一款针对移动设备和物联网应用推出的一款超低功耗的UART-WIFI模块,具有性能稳定、高度集成、低功耗等特点。模块有STA/AP/STA + AP 三种工作模式,内置TCP/IP协议栈,支持多路TCP Client连接。其硬件接口丰富,可支持UART、IIC、PWM、GPIO、ADC等。

系统主要使用ESP8266的STATION模式和GPIO控制功能。STATION模式下的ESP8266模块在物联网中作为设备和服务器之间的桥梁,可以连接网关附近的网络,对采集到的数据进行处理并将其发送到服务器。

2.3 系统时钟

系统时钟可以确保主控制器稳定有序的运转。本文采用DS1307模块作为系统时钟。DS1307是低功耗、两线制串行读写接口、日历和时钟数据按BCD码存取的时钟/日历芯片。它提供秒、分、小时、星期、日期、月和年等时钟日历数据。

2.4 通信接口

通信接口选择RS-485串口,以兼容工业主流设备。RS-485接口采用差分接收器和平衡驱动器的组合,可有效提高抗抗噪声能力和共模干扰。该接口的传输距离可达3 000 m,允许同时连接128个收发器,具有多站能力,方便用户可以通过单一的RS-485接口便捷地建立起设备网络。

3 软件设计

3.1 整体设计

物联网网关软件包括配置初始化程序、MQTT处理程序和串口通信程序。

3.2 网关初始化程序设计

初始化程序框图如图3所示。

图3 初始化程序框图Fig.3 Block diagram of initialization program

网关初始化程序包括物联网网关初始化程序配置、网络连接、I/O端口、MQTT连接等。配置初始化用于从EPROM中获取持久保存的配置信息,例如用户绑定了物联网设备,需要记录用户的信息以及服务器下发给网关的签名字符串。I/O端口初始化用于初始化按键与LED端口,网络连接初始化实现连接无线路由器, MQTT 连接用于连接物联网中间件,接收物联网中间件转发的消息。

3.3 设备、网关和服务器之间数据传输

网关作为物联网中间件[2-8],是设备和服务器通信的桥梁。网关软件流程如图4所示。

图4 网关软件流程图Fig.4 Flowchart of gateway software

3.4 串口通信程序设计

串口通信程序用于周期性轮询连接的工业设备,物联网网关与设备通过Modbus-RTU 协议进行数据传输,物联网网关通过周期性地发送 03 功能码,从工业设备获取实时参数。数据传输通过串口收发完成。每次发送完功能码后,需要等待工业设备发送的数据完成。串口通信程序框图如图5所示。

图5 串口通信程序框图Fig.5 Serial communication program block diagram

3.5 MQTT处理程序设计

MQTT处理程序设计是围绕发布/订阅模型设计的[10-12],主要是对来自物联网中间件消息进行处理,并通过主题解析完成不同的业务逻辑。 MQTT 处理程序框图如图6所示。

图6 MQTT处理程序框图Fig.6 Block diagram of MQTT processing program

4 结论

本文设计的基于物联网技术的工业物联网网关,结合服务器和工业APP实现了设备的远程监控。该网关方便用户对设备进行远程监控,不涉及原有设备的改造就可以让用户获得更加便捷的体验效果。但此方案中物联网网关仅限于在具备接入互联网的无线网络场所中使用。在后续的方案优化中,物联网网关可考虑采用WiFi和4G/5G移动网络模式相结合的形式:在无线网络场所,网关使用WiFi形式联网;在不具备WiFi的场所,网关自主切换到4G/5G联网模式。

猜你喜欢

程序框图网关串口
基于FPGA的工业TSN融合网关设计
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
一种主从冗余网关的故障模式分析与处理
“顺势而下”破解程序框图
浅谈AB PLC串口跟RFID传感器的通讯应用
基于EM9000工控板高性能双串口通信模型设计与实现
算法与程序框图常考类型
天地一体化网络地面软网关技术及其应用
程序框图问题的精彩交汇
船舶电子设备串口数据的软件共享方法