基于OneNET的数据采集监测系统设计与实现
2022-09-14刘福祥沈甦邓世英
刘福祥,沈甦,邓世英
(宁波技师学院 电气技术系,浙江宁波,315032)
0 引言
随着科技进步,大数据、物联网、云计算等新技术已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业,大量的控制器、传感器、变送器等现场设备都需要接入云平台以实现产品的数字化、智能化。在食品加工车间、污水处理站、游泳馆、环境监测站等场所亦有将温度、pH值等数据上云、远程监测的需求,故设计了基于OneNET云平台的数据采集、监测系统,该系统通过传感器实时采集现场的温度和pH值信息,通过变送器、云网关将数据上传至OneNET云平台,用户或管理人员可以通过Web端和移动端查看实时数据和历史数据。
1 数据采集监测系统总体设计
系统总体框图如图1所示,系统包括以下部件:温度传感器、专用温度变送器、pH值传感器及变送模块、云网关、OneNET云平台、终端等。温度传感器、pH值传感器实时采集、监测现场数据,数据通过变送器与云网关之间使用RS-485与MODBUS协议通信,云网关通过4G通信模块和HTTP协议将数据上传至OneNET云平台,终端使用Web端和微信小程序两种方式呈现。
图1 系统总体框图
2 数据采集监测系统硬件设计
系统硬件主要由云网关、Pt100热电阻温度传感器、E5CN欧姆龙温度变送器、E-201-C型复合电极pH传感器和变送模块等组成。传感器与变送器均使用工业上应用广泛的元件,如温度变送器所采用的OMRON E5CN,为通用元件,具有可视、高速、高精度、简易运算的特点,可以通过简单设置适配于热电偶、热电阻等多种型号温度传感器,既可以独立运行于简单温控设备,又可以通过Modbus通讯协议与各种控制器配合应用于复杂温控系统,故在医疗器械、机械制造、食品加工、环保绿化等行业均有广泛使用。
云网关为自行设计,采用树莓派4B作为硬件平台,其尺寸只有信用卡大小,却具有电脑大部分功能,载有高性能64位四核处理器、提供4K双显示屏的Micro-HDMI端口、8GB的RAM,双频2.4/5.0 GHz无线网卡、蓝牙5.0、千兆以太网端口及多路GPIO,这些特性较好的保证云网关硬件的稳定、可靠、便携、低功耗,保证云网关与现场设备和云平台对接方便。云平台使用485总线通讯,能实现多路采集,其软件系统在Linux系统下采用Python语言编程实现,具有代码精炼,代码复用与迁移方便等特点。
图2 云网关硬件平台
云网关使用SIM7600X 4G HAT网络扩展模块,该模块保证云网关可以通过4G网络远程通讯。考虑到可能无法到场进行调试,本系统采用了Zerotier工具来实现远程调试功能。Zerotier是一款用于构建异地虚拟局域网的工具,通过网页后台创建虚拟网络并进行管理,并通过电脑上的Zerotier客户端连接各个异地控制器到虚拟局域网从而实现组网,由后台分配虚拟IP地址,以通过虚拟IP对同一虚拟局域网下的其他控制器进行访问。要达成这一功能需要在PC端和控制器端安装Zerotier工具端后进行设定,若网络联通就会显示绿色的ONLINE。由于本系统网关控制器采用树莓派,其具有VNC功能,因此本地PC可直接与网关的屏幕通讯,或者直接与远程网关进行文件传输。
3 数据采集监测系统软件设计
系统软件部分主要需实现如下功能: OneNET平台搭建,数据读取,微信小程序数据呈现。系统软件部分需在云网关、OneNET云平台、微信开发者工具中实现, 部分流程图如图3所示。
图3 部分软件流程图
■ 3.1 OneNET云平台搭建
系统使用OneNET云平台实现云端数据读与传输,OneNET是由中国移动打造的物联网开放云平台,提供数据点、API接口,能实现设备连接、设备管理、数据收发、数据存储等功能,可以适配多种网络环境和网络协议,包括本系统所需HTTP及MQTT等协议,具有较好的便捷性、兼容性、安全性,OneNET平台作为连接和数据的中心,能适应各种传感网络和通信网络,生态环境良好,满足智能家居、可穿戴设备、车联网、移动健康、智能创客等多个领域平台级需求,能有效降低部署和开发成本。本系统选择了 HTTP 协议上传传感器数据到云平台,HTTP 请求主要使用 POST 请求方法打包上传数据,创建完成后需添加设备,设置产品温度、pH值等属性,获得设备的ID和 API-KEY,如表1所示。同一个项目可以添加多个设备,以此通信信息在连接组件中用以识别设备,实现设备和云端对接,进而再进行设备发布,显示相关数据和采集时间。
表1 OneNET云平台接口获取通信信息
本系统选取的OneNET云平台可以在云端进行软件的监控界面的创建。当现场检测设备与云端建立连接成功之后,数据通过HTTP协议上传到云平台,从而产生相应的数据流,进而可以在数据展示区进行监控界面的设计。监控控界面设计完成后,可以在PC端或者手机上登录注册OneNET的账号实现远程的监控和操作。OneNET云平台监控界面如图4所示,界面可以显示现场所采集的 pH 值、2路温度实时数据。用户可以根据表盘、柱状图、折线图形式查看当前所采集的信息,也可以通过近阶段的历史数据折线图,判断相应情况。
图4 OneNET云平台监控界面
■ 3.2 云网关数据读取与传输
云网关主要实现通过MODBUS协议从温度、pH值变送器读取实时温度、pH值数据和将温度数据以HTTP协议传输至云平台两个主要功能,以及远程控制等辅助功能。云网关采用linux系统和python语言编程实现功能,这也是采用树莓派的重要原因。对于现场设备端,其内置的Python可以导入MinimalModbus模块,非常方便的实现MODBUS通讯。而对于云端,HTTP请求参数的内容为JSON格式,其内置的 Python 正是少数原生支持 JSON 的语言之一,不需要复杂的格式转换,便可以非常方便的向服务器发送 Post 请求。云网关部分代码如下:
■ 3.3 OneNET微信小程序监控平台
相比于APP,微信活跃用户多,操作简单,可跨平台使用,微信小程序具有免费云存储空间、低时延、开放的API接口等特点,云平台只要能够发送Post请求,就可以进行数据交互。基于以上情况的分析,使用微信小程序作为移动监控端,开发了“数据云服务监测”微信小程序,得到授权者可以通过此微信小程序查看当前数据和历史数据。微信小程序和现场之间通过OneNET云平台通信。如前文所述,在OneNET服务器上创建产品后,会有设备ID和APIKEY,微信小程序需通过OneNET的API接口和HTTP协议查看设备上传的数据、设备是否在线、下发给该设备指令。图5为微信小程序用户界面,界面同样可以显示现场所采集的 pH 值、2路温度实时数据,用户可以根据柱状图、折线图查看当前所采集的信息和历史数据信息。微信小程序使用JavaScript语言,部分程序如下:
图5 微信小程序显示图
本系统设计了一种基于OneNET云平台的数据采集、监测系统,实现了通过OneNET平台与云网关和微信小程序数据交互,实现了多路温度传感器和pH值传感器的实时数据在PC端与移动端显示和存储,实现了系统的远程操控。此系统稳定可靠、成本低、使用简单,能同时采集多路数据,代码复用和迁移方便,便于扩展至其它数据采集项目应用中。