沈林濤,王 凱
(1.上海理工大學光電信息與計算機工程學院;2.上海理工大學上海出版印刷高等專科學校,上海 200093)
實驗室是人才培養、科學研究必備場所,實驗室有大量貴重儀器設備、化學藥品和重要技術資料,其管理工作非常專業且重要。傳統的實驗室管理模式仍停留在紙質記錄、人工干涉階段,此種管理模式存在諸多弊端:設備管理非自動化、安全管理非智能化、環境管理非低碳化、資源管理非共享化等[1]。隨著高校學生擴招,學校實驗室規模擴大,實驗室使用頻繁,人員集中且流動性大,造成實驗室發生火災事故、中毒事故、傷人事故和環境污染等重大問題[2]。在我國第一個物聯網五年規劃——物聯網十二五規劃指導下,物聯網在工業、金融、醫療、智能家居等行業應用越來越廣,為實驗室的智能化管理帶來新的機遇[3]。文獻[4]針對高校實驗中心資源管理效率低下、共享不及時問題,提出基于物聯網技術的高校實驗中心資源管理平臺設計概念;文獻[5]針對實驗室管理提出數據采集、數據傳輸、數據處理的三層智慧實驗室架構模型,采用網頁監控形式實現對實驗設備遠程聯網監控和智能安防;文獻[6]通過ESP8266 與分子泵控制器和手機APP 數據通信,實現基于WiFi 的分子泵控制器跨平臺無線監控。
WiFi 組網與有線以太網絡整合,具有組網成本低等優勢,逐漸受到人們推崇。目前WiFi 芯片性能越來越好,其中ESP8266 是一款性價比較高的低功耗WiFi 芯片[7]。本文提出一種結合ESP8266 芯片、mqtt 服務器和微信公眾號的實驗設備監控系統設計方案。以生活中常用的微信作為監控平臺,用戶只需要簡單的授權即可登錄該公眾號管理系統,能有效避免APP 監控時繁瑣的下載和注冊流程,且不會造成APP 大量占用手機存儲空間現象,實現在An?droid 和IOS 系統跨設備、跨平臺工作,有效提高用戶體驗感。經過測試驗證,采用ESP8266 芯片的網關可實時將采集到的實驗設備運行狀態數據發送到服務器,經過服務器處理后在微信公眾號中以1s 速度更新顯示,可對實驗設備進行遠程設置。
系統實現手機移動端和實驗設備之間的實時監測和控制,搭載ESP8266WiFi 芯片的開發板作為主控制器,采用SmartConfig 一鍵配網,當WiFi 芯片連接到網絡后,會自動連接指定的MQTT 服務器并訂閱與實驗相關主題消息。此時主控制器通過串口和實驗設備進行通信,將實驗設備運行參數如溫度、速度、故障報警等數據通過POST 方式發送至服務器,經服務器處理后將實驗設備運行狀態信息實時顯示在設備管理頁面。在微信公眾號設備管理界面可修改設備運行參數,后臺將設置信息通過MQTT 服務器相關主題轉發至物聯網網關,網關通過MODBUS 協議向設備寄存器寫數據,實現遠程修改設備運行參數。該系統還具備故障報警、危險報警功能,對網關上傳的實驗數據科學系統記錄并可一鍵分享,大大提高了實驗的高效性、安全性和共享性,總體框架如圖1 所示。

Fig.1 Iot architecture as a whole圖1 物聯網總體架構
硬件包括主控芯片、通信接口、按鍵LED、系統時鐘和供電模塊,如圖2 所示。主控芯片ESP8266 負責網關聯網訂閱MQTT 主題,向服務器上傳設備運行參數,主控和實驗設備之間通過RS485 串口相連并進行數據收發,穩壓模塊提供3.3V 的穩定電壓保證主控設備穩定工作,按鍵作為網關配網和綁定時的輸入控制,LED 負責網關狀態指示,用戶操作時可觀察網關工作狀態。

Fig.2 Hardware architecture圖2 硬件架構
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 工作電壓。

Fig.3 Main control chip circuit圖3 主控芯片電路
主控制器穩定有序運轉離不開時鐘系統,本文采用DS1307 模塊作為系統時鐘,時鐘電路如圖4 所示。DS1307 是低功耗、兩線制串行讀寫接口、日歷和時鐘數據按BCD 碼存取的時鐘/日歷芯片,提供秒、分、小時、星期、日期、月和年等時鐘日歷數據,集成如下幾點功能:①56 字節掉電時電池保持NV SRAM 數據存儲;②可編程的方波信號輸出;③掉電檢測及自動切換電池供電模式。

Fig.4 The system clock circuit圖4 系統時鐘電路
網關作為物聯網的中間物件,穩定的工作電壓是保證其正常運行的前提,方案采用開關電源適配器給物聯網網關提供5V 外部電源,通過穩壓器ASM1117 模塊降至3.3V給ESP8266 芯片提供穩定的工作電壓,電源電路如圖5 所示。ASM1117 是一個正向低壓穩壓器,在電路輸入端、輸出端都加入了極性電容和旁路電容,該設計具有良好的去耦合和濾波作用,能夠有效保證電源電路的穩定性。ASM1117 模塊內部集成有過熱保護以及限流電路,防止環境溫度異常導致硬件損壞,是電池供電和便攜式計算機的最佳選擇[10]。

Fig.5 The power supply module circuit圖5 供電模塊電路
通信接口選擇RS485 串口兼容工業中主流設備,串口電路如圖6 所示。RS-485 接口采用平衡驅動器和差分接收器組合,有效提高抗共模干擾和抗噪聲能力。該接口官方公布的傳輸距離為4 000ft,實際傳輸距離可達3 000m,可同時連接128 個收發器,即具有多站能力,這種特性使用戶可利用單一的RS-485 接口方便地建立設備網絡[11]。

Fig.6 Communication interface circuit圖6 通信接口電路
網關作為物聯網中間件,是實驗設備和服務器通信的橋梁。實驗設備和網關之間通過RS485 串口連接,采用工業中通用的MODBUS 通信協議進行通信。網關上電后,通過微信的一鍵配網功能將網關接入指定的WiFi 熱點實現聯網,并建立MQTT 客服端和HTTP 客服端。網關獲取到實驗設備運行參數后以1 秒為間隔向服務器發送POST 數據,同時當網關監聽到相關主題消息后進行數據解析,通過通信接口修改試驗設備運行狀態,網關軟件流程如圖7所示。
微信公眾平臺是騰訊公司旗下產品微信的一個重要功能。微信公眾平臺主要面向名人、政府、媒體、企業等機構推出合作推廣業務[12]。微信公眾平臺支持HTML 網頁,微信公眾平臺賬號包括訂閱號、服務號和企業號3 種類型,其中企業號用途如下:為企業或組織提供移動應用入口,幫助企業建立與員工、上下游供應鏈及企業應用間的鏈接[13],本設計就是通過將網頁嵌入到企業號的方式實現對物聯網設備的綁定和遠程監控[14],主要功能如表1 所示。

Fig.7 Gateway software process圖7 網關軟件流程

Table 1 WeChat public platform function表1 微信公眾平臺功能
微信公眾號主界面如圖8 所示。用戶點擊“添加設備”按鈕進入綁定網關界面,輸入網關序列號進行網關綁定;點擊“查看網關”可查看已經綁定的網關;點擊“查看設備”可查看連接網關的實驗設備實時運行信息,包括實時信息和歷史信息;點擊“高級設置”進入設置界面,可進行網關配網,修改參數,實現遠程控制。
在物聯網中,服務器和客服端之間如何高效可靠地推送消息對物聯網系統至關重要[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]。服務器和客戶端消息推送設計包括消息發布接口、客戶端消息處理接口、客戶端訂閱接口。用戶在微信公眾號遠程修改設備狀態,網關的綁定通過客戶端訂閱接口;客戶端消息處理接口用來接收和處理網關發送的報警消息。
在給網關智能配網前,手機確保已經連接好網絡,在微信公眾號監控主界面點擊“高級設置”,選擇“WiFi 智能配網”進入配網功能,此時長按網關的配網按鍵等待配網成功,配網界面如圖9 所示。

Fig.8 Public account main interface圖8 公眾號主界面

Fig.9 Gateway intelligent distribution network圖9 網關智能配網
網關聯網成功后,在主界面選擇“添加設備”進入網關綁定界面,依次輸入網關序列號和網關名稱,點擊“確認添加”后長按網關綁定按鍵3 秒等待網關綁定結束;系統還提供掃描二維碼快捷綁定網關功能,網關綁定界面如圖10所示。
在微信公眾號綁定網關后,可點擊“查看設備”進入設備列表,查看與網關連接的實驗設備運行狀態,如圖11 所示。點擊“實時查看”可查看設備運行參數動態變化情況,該曲線每秒更新一次;點擊“一小時”可查看過去一小時記錄的運行參數曲線,點擊“一天”可查看該設備過去一天的運行曲線,同理可查看一周的運行曲線。

Fig.10 Gateway binding圖10 綁定網關

Fig.11 The equipment history data check圖11 查看設備歷史數據
在“我的設備”界面點擊“高級設置”進入遠程控制實驗設備界面,選擇需要設置運行狀態的設備和需要修改的參數,輸入修改值后點擊“確定”可遠程修改實驗設備運行狀態,如圖12 所示。比如實驗設備當前溫度36.8℃,遠程設定實驗設備溫度45℃后設備一直加熱直至目標45℃后保持恒溫運行。

Fig.12 Remote temperature control圖12 遠程溫度控制
本方案利用物聯網技術結合微信公眾平臺優化了傳統實驗室管理模式,用戶不需要額外下載APP 和繁瑣的注冊流程,只需簡單授權即可遠程監控實驗設備。采用微信公眾號作為監控平臺,解決了監控系統跨設備、跨平臺使用的限制,用戶可獲得更加便捷的體驗效果。但此方案中物聯網網關僅限于具備接入互聯網的無線網絡場所使用,后續方案可考慮采用WiFi 和4G/5G 移動網絡模式相結合的形式優化物聯網網關,在無線網絡場所網關使用WiFi形式聯網,在不具備WiFi 的場所網關可自動切換到4G/5G聯網模式。