基于物联网技术的实验设备监控系统设计与实现
2021-03-12沈林涛
沈林涛,王 凯
(1.上海理工大学光电信息与计算机工程学院;2.上海理工大学上海出版印刷高等专科学校,上海 200093)
0 引言
实验室是人才培养、科学研究必备场所,实验室有大量贵重仪器设备、化学药品和重要技术资料,其管理工作非常专业且重要。传统的实验室管理模式仍停留在纸质记录、人工干涉阶段,此种管理模式存在诸多弊端:设备管理非自动化、安全管理非智能化、环境管理非低碳化、资源管理非共享化等[1]。随着高校学生扩招,学校实验室规模扩大,实验室使用频繁,人员集中且流动性大,造成实验室发生火灾事故、中毒事故、伤人事故和环境污染等重大问题[2]。在我国第一个物联网五年规划——物联网十二五规划指导下,物联网在工业、金融、医疗、智能家居等行业应用越来越广,为实验室的智能化管理带来新的机遇[3]。文献[4]针对高校实验中心资源管理效率低下、共享不及时问题,提出基于物联网技术的高校实验中心资源管理平台设计概念;文献[5]针对实验室管理提出数据采集、数据传输、数据处理的三层智慧实验室架构模型,采用网页监控形式实现对实验设备远程联网监控和智能安防;文献[6]通过ESP8266 与分子泵控制器和手机APP 数据通信,实现基于WiFi 的分子泵控制器跨平台无线监控。
WiFi 组网与有线以太网络整合,具有组网成本低等优势,逐渐受到人们推崇。目前WiFi 芯片性能越来越好,其中ESP8266 是一款性价比较高的低功耗WiFi 芯片[7]。本文提出一种结合ESP8266 芯片、mqtt 服务器和微信公众号的实验设备监控系统设计方案。以生活中常用的微信作为监控平台,用户只需要简单的授权即可登录该公众号管理系统,能有效避免APP 监控时繁琐的下载和注册流程,且不会造成APP 大量占用手机存储空间现象,实现在An⁃droid 和IOS 系统跨设备、跨平台工作,有效提高用户体验感。经过测试验证,采用ESP8266 芯片的网关可实时将采集到的实验设备运行状态数据发送到服务器,经过服务器处理后在微信公众号中以1s 速度更新显示,可对实验设备进行远程设置。
1 总体设计
系统实现手机移动端和实验设备之间的实时监测和控制,搭载ESP8266WiFi 芯片的开发板作为主控制器,采用SmartConfig 一键配网,当WiFi 芯片连接到网络后,会自动连接指定的MQTT 服务器并订阅与实验相关主题消息。此时主控制器通过串口和实验设备进行通信,将实验设备运行参数如温度、速度、故障报警等数据通过POST 方式发送至服务器,经服务器处理后将实验设备运行状态信息实时显示在设备管理页面。在微信公众号设备管理界面可修改设备运行参数,后台将设置信息通过MQTT 服务器相关主题转发至物联网网关,网关通过MODBUS 协议向设备寄存器写数据,实现远程修改设备运行参数。该系统还具备故障报警、危险报警功能,对网关上传的实验数据科学系统记录并可一键分享,大大提高了实验的高效性、安全性和共享性,总体框架如图1 所示。
Fig.1 Iot architecture as a whole图1 物联网总体架构
2 硬件设计
硬件包括主控芯片、通信接口、按键LED、系统时钟和供电模块,如图2 所示。主控芯片ESP8266 负责网关联网订阅MQTT 主题,向服务器上传设备运行参数,主控和实验设备之间通过RS485 串口相连并进行数据收发,稳压模块提供3.3V 的稳定电压保证主控设备稳定工作,按键作为网关配网和绑定时的输入控制,LED 负责网关状态指示,用户操作时可观察网关工作状态。
Fig.2 Hardware architecture图2 硬件架构
2.1 主控芯片
ESP8266 是上海乐鑫公司针对移动设备和物联网应用推出的一款超低功耗的UART-WiFi 模块,具有性能稳定、高度集成、低功耗等特点。模块有STA/AP/STA+AP 三种工作模式,内置TCP/IP 协议栈,支持多路TCP Client 连接[8]。其硬件接口丰富,可支持UART、IIC、PWM、GPIO、ADC 等。
系统主要使用ESP8266 的STATION 模式和GPIO 控制功能。STATION 模式下的ESP8266 模块在物联网中作为设备和服务器之间的桥梁[9],可将采集到的数据进行处理并发送到服务器,模块引脚接线如图3 所示,外部需提供3.3V 工作电压。
2.2 系统时钟
Fig.3 Main control chip circuit图3 主控芯片电路
主控制器稳定有序运转离不开时钟系统,本文采用DS1307 模块作为系统时钟,时钟电路如图4 所示。DS1307 是低功耗、两线制串行读写接口、日历和时钟数据按BCD 码存取的时钟/日历芯片,提供秒、分、小时、星期、日期、月和年等时钟日历数据,集成如下几点功能:①56 字节掉电时电池保持NV SRAM 数据存储;②可编程的方波信号输出;③掉电检测及自动切换电池供电模式。
Fig.4 The system clock circuit图4 系统时钟电路
2.3 供电模块
网关作为物联网的中间物件,稳定的工作电压是保证其正常运行的前提,方案采用开关电源适配器给物联网网关提供5V 外部电源,通过稳压器ASM1117 模块降至3.3V给ESP8266 芯片提供稳定的工作电压,电源电路如图5 所示。ASM1117 是一个正向低压稳压器,在电路输入端、输出端都加入了极性电容和旁路电容,该设计具有良好的去耦合和滤波作用,能够有效保证电源电路的稳定性。ASM1117 模块内部集成有过热保护以及限流电路,防止环境温度异常导致硬件损坏,是电池供电和便携式计算机的最佳选择[10]。
Fig.5 The power supply module circuit图5 供电模块电路
2.4 通信接口
通信接口选择RS485 串口兼容工业中主流设备,串口电路如图6 所示。RS-485 接口采用平衡驱动器和差分接收器组合,有效提高抗共模干扰和抗噪声能力。该接口官方公布的传输距离为4 000ft,实际传输距离可达3 000m,可同时连接128 个收发器,即具有多站能力,这种特性使用户可利用单一的RS-485 接口方便地建立设备网络[11]。
Fig.6 Communication interface circuit图6 通信接口电路
3 软件设计
3.1 设备、网关和服务器之间数据传输
网关作为物联网中间件,是实验设备和服务器通信的桥梁。实验设备和网关之间通过RS485 串口连接,采用工业中通用的MODBUS 通信协议进行通信。网关上电后,通过微信的一键配网功能将网关接入指定的WiFi 热点实现联网,并建立MQTT 客服端和HTTP 客服端。网关获取到实验设备运行参数后以1 秒为间隔向服务器发送POST 数据,同时当网关监听到相关主题消息后进行数据解析,通过通信接口修改试验设备运行状态,网关软件流程如图7所示。
3.2 微信公众号
微信公众平台是腾讯公司旗下产品微信的一个重要功能。微信公众平台主要面向名人、政府、媒体、企业等机构推出合作推广业务[12]。微信公众平台支持HTML 网页,微信公众平台账号包括订阅号、服务号和企业号3 种类型,其中企业号用途如下:为企业或组织提供移动应用入口,帮助企业建立与员工、上下游供应链及企业应用间的链接[13],本设计就是通过将网页嵌入到企业号的方式实现对物联网设备的绑定和远程监控[14],主要功能如表1 所示。
Fig.7 Gateway software process图7 网关软件流程
Table 1 WeChat public platform function表1 微信公众平台功能
微信公众号主界面如图8 所示。用户点击“添加设备”按钮进入绑定网关界面,输入网关序列号进行网关绑定;点击“查看网关”可查看已经绑定的网关;点击“查看设备”可查看连接网关的实验设备实时运行信息,包括实时信息和历史信息;点击“高级设置”进入设置界面,可进行网关配网,修改参数,实现远程控制。
3.3 MQTT 服务器
在物联网中,服务器和客服端之间如何高效可靠地推送消息对物联网系统至关重要[15]。MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是由IBM 开发的一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP 协议上。MQTT 最大优点是可以极少的代码和有限的带宽为远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,其在物联网、小型设备、移动设备等方面应用广泛。
MQTT 服务器解决方案包括Mosca 模块搭建和Mos⁃quito 软件搭建。Mosca 是MQTT 在Node.js 中的一个Bro⁃ker 开源实现,即MQTT 通信协议中的服务器实现;Mos⁃quitto 是一款开源消息代理软件,使用MQTT v3.1 协议[16]。服务器和客户端消息推送设计包括消息发布接口、客户端消息处理接口、客户端订阅接口。用户在微信公众号远程修改设备状态,网关的绑定通过客户端订阅接口;客户端消息处理接口用来接收和处理网关发送的报警消息。
4 系统功能测试
4.1 网关联网和绑定
在给网关智能配网前,手机确保已经连接好网络,在微信公众号监控主界面点击“高级设置”,选择“WiFi 智能配网”进入配网功能,此时长按网关的配网按键等待配网成功,配网界面如图9 所示。
Fig.8 Public account main interface图8 公众号主界面
Fig.9 Gateway intelligent distribution network图9 网关智能配网
网关联网成功后,在主界面选择“添加设备”进入网关绑定界面,依次输入网关序列号和网关名称,点击“确认添加”后长按网关绑定按键3 秒等待网关绑定结束;系统还提供扫描二维码快捷绑定网关功能,网关绑定界面如图10所示。
4.2 设备数据实时显示
在微信公众号绑定网关后,可点击“查看设备”进入设备列表,查看与网关连接的实验设备运行状态,如图11 所示。点击“实时查看”可查看设备运行参数动态变化情况,该曲线每秒更新一次;点击“一小时”可查看过去一小时记录的运行参数曲线,点击“一天”可查看该设备过去一天的运行曲线,同理可查看一周的运行曲线。
Fig.10 Gateway binding图10 绑定网关
Fig.11 The equipment history data check图11 查看设备历史数据
4.3 远程修改设备运行状态
在“我的设备”界面点击“高级设置”进入远程控制实验设备界面,选择需要设置运行状态的设备和需要修改的参数,输入修改值后点击“确定”可远程修改实验设备运行状态,如图12 所示。比如实验设备当前温度36.8℃,远程设定实验设备温度45℃后设备一直加热直至目标45℃后保持恒温运行。
Fig.12 Remote temperature control图12 远程温度控制
5 结语
本方案利用物联网技术结合微信公众平台优化了传统实验室管理模式,用户不需要额外下载APP 和繁琐的注册流程,只需简单授权即可远程监控实验设备。采用微信公众号作为监控平台,解决了监控系统跨设备、跨平台使用的限制,用户可获得更加便捷的体验效果。但此方案中物联网网关仅限于具备接入互联网的无线网络场所使用,后续方案可考虑采用WiFi 和4G/5G 移动网络模式相结合的形式优化物联网网关,在无线网络场所网关使用WiFi形式联网,在不具备WiFi 的场所网关可自动切换到4G/5G联网模式。