武麗英 ,沈林濤
(1.上海工業自動化儀表研究院有限公司,上海 200233;2.上海理工大學光電信息與計算機工程學院,上海 200093)
自2012年2月14日工信部頒布我國第一個物聯網五年規劃——《“物聯網十二五規劃”》以來,物聯網在工業、金融、醫療、智能家居等行業的應用越來越普及。工業物聯網(industrial internet of things,IIoT)是工業領域的物聯網技術。其將具有感知能力的傳感器、監控能力控制器以及移動通信、智能分析等技術融入工業生產過程的各個環節,最終將傳統工業提升到智能化的新階段。工業物聯網推動著企業的數字化變革,已經有很多流程行業企業把傳感器數據遠程發送至計算機,從而對過程進行監控。IIoT將連接作為擴展手段,實現從任意地點對數據的實時訪問、解讀和分享。但工廠大量的現有設備和監控系統依舊采用傳統方式,如人機界面軟件、操作員站等,供用戶監測。舊設備改造成本巨大。
針對此問題,本文提出一種結合ESP8266芯片的工業物聯網網關,結合MQTT服務器和工業應用(application,APP)軟件,即可將原有設備加入到工業物聯網,在工業APP中實現對設備的監控。
為了解決原有設備數據采集的本地化和數據資源非共享化問題,實現手機移動端和設備之間的實時監測和控制,原有設備通過工業物聯網網關將數據提供給云服務器,工業APP從云服務器獲取數據供用戶監測。系統結構如圖1所示。

圖1 系統結構圖Fig.1 Structure diagram of system
工業物聯網網關采用ESP8266WiFi芯片作為硬件主控制器,通過串口和設備進行通信[1],并將設備的運行參數(如溫度、速度、故障報警等數據)經云服務器處理后,實時顯示在工業APP設備管理頁面。同樣,在工業APP設備管理界面修改后的設備運行參數,也可以由物聯網網關通過MODBUS協議向設備寄存器寫數據,實現遠程修改設備運行參數。
系統硬件由供電模塊、主控芯片、通信接口、系統時鐘和按鍵LED構成,如圖2所示。

圖2 系統硬件框圖Fig.2 Block diagram of system hardware
穩定的工作電壓是保證網關正常運行的前提。開關電源提供5 V的外部電源,并通過穩壓器ASM1117模塊降至3.3 V,給ESP8266芯片提供穩定的工作電壓。
ESP8266是一款針對移動設備和物聯網應用推出的一款超低功耗的UART-WIFI模塊,具有性能穩定、高度集成、低功耗等特點。模塊有STA/AP/STA + AP 三種工作模式,內置TCP/IP協議棧,支持多路TCP Client連接。其硬件接口豐富,可支持UART、IIC、PWM、GPIO、ADC等。
系統主要使用ESP8266的STATION模式和GPIO控制功能。STATION模式下的ESP8266模塊在物聯網中作為設備和服務器之間的橋梁,可以連接網關附近的網絡,對采集到的數據進行處理并將其發送到服務器。
系統時鐘可以確保主控制器穩定有序的運轉。本文采用DS1307模塊作為系統時鐘。DS1307是低功耗、兩線制串行讀寫接口、日歷和時鐘數據按BCD碼存取的時鐘/日歷芯片。它提供秒、分、小時、星期、日期、月和年等時鐘日歷數據。
通信接口選擇RS-485串口,以兼容工業主流設備。RS-485接口采用差分接收器和平衡驅動器的組合,可有效提高抗抗噪聲能力和共模干擾。該接口的傳輸距離可達3 000 m,允許同時連接128個收發器,具有多站能力,方便用戶可以通過單一的RS-485接口便捷地建立起設備網絡。
物聯網網關軟件包括配置初始化程序、MQTT處理程序和串口通信程序。
初始化程序框圖如圖3所示。

圖3 初始化程序框圖Fig.3 Block diagram of initialization program
網關初始化程序包括物聯網網關初始化程序配置、網絡連接、I/O端口、MQTT連接等。配置初始化用于從EPROM中獲取持久保存的配置信息,例如用戶綁定了物聯網設備,需要記錄用戶的信息以及服務器下發給網關的簽名字符串。I/O端口初始化用于初始化按鍵與LED端口,網絡連接初始化實現連接無線路由器, MQTT 連接用于連接物聯網中間件,接收物聯網中間件轉發的消息。
網關作為物聯網中間件[2-8],是設備和服務器通信的橋梁。網關軟件流程如圖4所示。

圖4 網關軟件流程圖Fig.4 Flowchart of gateway software
串口通信程序用于周期性輪詢連接的工業設備,物聯網網關與設備通過Modbus-RTU 協議進行數據傳輸,物聯網網關通過周期性地發送 03 功能碼,從工業設備獲取實時參數。數據傳輸通過串口收發完成。每次發送完功能碼后,需要等待工業設備發送的數據完成。串口通信程序框圖如圖5所示。

圖5 串口通信程序框圖Fig.5 Serial communication program block diagram
MQTT處理程序設計是圍繞發布/訂閱模型設計的[10-12],主要是對來自物聯網中間件消息進行處理,并通過主題解析完成不同的業務邏輯。 MQTT 處理程序框圖如圖6所示。

圖6 MQTT處理程序框圖Fig.6 Block diagram of MQTT processing program
本文設計的基于物聯網技術的工業物聯網網關,結合服務器和工業APP實現了設備的遠程監控。該網關方便用戶對設備進行遠程監控,不涉及原有設備的改造就可以讓用戶獲得更加便捷的體驗效果。但此方案中物聯網網關僅限于在具備接入互聯網的無線網絡場所中使用。在后續的方案優化中,物聯網網關可考慮采用WiFi和4G/5G移動網絡模式相結合的形式:在無線網絡場所,網關使用WiFi形式聯網;在不具備WiFi的場所,網關自主切換到4G/5G聯網模式。