沈林濤,王 凱
(1.上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院;2.上海理工大學(xué)上海出版印刷高等專科學(xué)校,上海 200093)
實(shí)驗(yàn)室是人才培養(yǎng)、科學(xué)研究必備場(chǎng)所,實(shí)驗(yàn)室有大量貴重儀器設(shè)備、化學(xué)藥品和重要技術(shù)資料,其管理工作非常專業(yè)且重要。傳統(tǒng)的實(shí)驗(yàn)室管理模式仍停留在紙質(zhì)記錄、人工干涉階段,此種管理模式存在諸多弊端:設(shè)備管理非自動(dòng)化、安全管理非智能化、環(huán)境管理非低碳化、資源管理非共享化等[1]。隨著高校學(xué)生擴(kuò)招,學(xué)校實(shí)驗(yàn)室規(guī)模擴(kuò)大,實(shí)驗(yàn)室使用頻繁,人員集中且流動(dòng)性大,造成實(shí)驗(yàn)室發(fā)生火災(zāi)事故、中毒事故、傷人事故和環(huán)境污染等重大問(wèn)題[2]。在我國(guó)第一個(gè)物聯(lián)網(wǎng)五年規(guī)劃——物聯(lián)網(wǎng)十二五規(guī)劃指導(dǎo)下,物聯(lián)網(wǎng)在工業(yè)、金融、醫(yī)療、智能家居等行業(yè)應(yīng)用越來(lái)越廣,為實(shí)驗(yàn)室的智能化管理帶來(lái)新的機(jī)遇[3]。文獻(xiàn)[4]針對(duì)高校實(shí)驗(yàn)中心資源管理效率低下、共享不及時(shí)問(wèn)題,提出基于物聯(lián)網(wǎng)技術(shù)的高校實(shí)驗(yàn)中心資源管理平臺(tái)設(shè)計(jì)概念;文獻(xiàn)[5]針對(duì)實(shí)驗(yàn)室管理提出數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理的三層智慧實(shí)驗(yàn)室架構(gòu)模型,采用網(wǎng)頁(yè)監(jiān)控形式實(shí)現(xiàn)對(duì)實(shí)驗(yàn)設(shè)備遠(yuǎn)程聯(lián)網(wǎng)監(jiān)控和智能安防;文獻(xiàn)[6]通過(guò)ESP8266 與分子泵控制器和手機(jī)APP 數(shù)據(jù)通信,實(shí)現(xiàn)基于WiFi 的分子泵控制器跨平臺(tái)無(wú)線監(jiān)控。
WiFi 組網(wǎng)與有線以太網(wǎng)絡(luò)整合,具有組網(wǎng)成本低等優(yōu)勢(shì),逐漸受到人們推崇。目前WiFi 芯片性能越來(lái)越好,其中ESP8266 是一款性價(jià)比較高的低功耗WiFi 芯片[7]。本文提出一種結(jié)合ESP8266 芯片、mqtt 服務(wù)器和微信公眾號(hào)的實(shí)驗(yàn)設(shè)備監(jiān)控系統(tǒng)設(shè)計(jì)方案。以生活中常用的微信作為監(jiān)控平臺(tái),用戶只需要簡(jiǎn)單的授權(quán)即可登錄該公眾號(hào)管理系統(tǒng),能有效避免APP 監(jiān)控時(shí)繁瑣的下載和注冊(cè)流程,且不會(huì)造成APP 大量占用手機(jī)存儲(chǔ)空間現(xiàn)象,實(shí)現(xiàn)在An?droid 和IOS 系統(tǒng)跨設(shè)備、跨平臺(tái)工作,有效提高用戶體驗(yàn)感。經(jīng)過(guò)測(cè)試驗(yàn)證,采用ESP8266 芯片的網(wǎng)關(guān)可實(shí)時(shí)將采集到的實(shí)驗(yàn)設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)發(fā)送到服務(wù)器,經(jīng)過(guò)服務(wù)器處理后在微信公眾號(hào)中以1s 速度更新顯示,可對(duì)實(shí)驗(yàn)設(shè)備進(jìn)行遠(yuǎn)程設(shè)置。
系統(tǒng)實(shí)現(xiàn)手機(jī)移動(dòng)端和實(shí)驗(yàn)設(shè)備之間的實(shí)時(shí)監(jiān)測(cè)和控制,搭載ESP8266WiFi 芯片的開發(fā)板作為主控制器,采用SmartConfig 一鍵配網(wǎng),當(dāng)WiFi 芯片連接到網(wǎng)絡(luò)后,會(huì)自動(dòng)連接指定的MQTT 服務(wù)器并訂閱與實(shí)驗(yàn)相關(guān)主題消息。此時(shí)主控制器通過(guò)串口和實(shí)驗(yàn)設(shè)備進(jìn)行通信,將實(shí)驗(yàn)設(shè)備運(yùn)行參數(shù)如溫度、速度、故障報(bào)警等數(shù)據(jù)通過(guò)POST 方式發(fā)送至服務(wù)器,經(jīng)服務(wù)器處理后將實(shí)驗(yàn)設(shè)備運(yùn)行狀態(tài)信息實(shí)時(shí)顯示在設(shè)備管理頁(yè)面。在微信公眾號(hào)設(shè)備管理界面可修改設(shè)備運(yùn)行參數(shù),后臺(tái)將設(shè)置信息通過(guò)MQTT 服務(wù)器相關(guān)主題轉(zhuǎn)發(fā)至物聯(lián)網(wǎng)網(wǎng)關(guān),網(wǎng)關(guān)通過(guò)MODBUS 協(xié)議向設(shè)備寄存器寫數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程修改設(shè)備運(yùn)行參數(shù)。該系統(tǒng)還具備故障報(bào)警、危險(xiǎn)報(bào)警功能,對(duì)網(wǎng)關(guān)上傳的實(shí)驗(yàn)數(shù)據(jù)科學(xué)系統(tǒng)記錄并可一鍵分享,大大提高了實(shí)驗(yàn)的高效性、安全性和共享性,總體框架如圖1 所示。
Fig.1 Iot architecture as a whole圖1 物聯(lián)網(wǎng)總體架構(gòu)
硬件包括主控芯片、通信接口、按鍵LED、系統(tǒng)時(shí)鐘和供電模塊,如圖2 所示。主控芯片ESP8266 負(fù)責(zé)網(wǎng)關(guān)聯(lián)網(wǎng)訂閱MQTT 主題,向服務(wù)器上傳設(shè)備運(yùn)行參數(shù),主控和實(shí)驗(yàn)設(shè)備之間通過(guò)RS485 串口相連并進(jìn)行數(shù)據(jù)收發(fā),穩(wěn)壓模塊提供3.3V 的穩(wěn)定電壓保證主控設(shè)備穩(wěn)定工作,按鍵作為網(wǎng)關(guān)配網(wǎng)和綁定時(shí)的輸入控制,LED 負(fù)責(zé)網(wǎng)關(guān)狀態(tài)指示,用戶操作時(shí)可觀察網(wǎng)關(guān)工作狀態(tài)。
Fig.2 Hardware architecture圖2 硬件架構(gòu)
ESP8266 是上海樂(lè)鑫公司針對(duì)移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用推出的一款超低功耗的UART-WiFi 模塊,具有性能穩(wěn)定、高度集成、低功耗等特點(diǎn)。模塊有STA/AP/STA+AP 三種工作模式,內(nèi)置TCP/IP 協(xié)議棧,支持多路TCP Client 連接[8]。其硬件接口豐富,可支持UART、IIC、PWM、GPIO、ADC 等。
系統(tǒng)主要使用ESP8266 的STATION 模式和GPIO 控制功能。STATION 模式下的ESP8266 模塊在物聯(lián)網(wǎng)中作為設(shè)備和服務(wù)器之間的橋梁[9],可將采集到的數(shù)據(jù)進(jìn)行處理并發(fā)送到服務(wù)器,模塊引腳接線如圖3 所示,外部需提供3.3V 工作電壓。
Fig.3 Main control chip circuit圖3 主控芯片電路
主控制器穩(wěn)定有序運(yùn)轉(zhuǎn)離不開時(shí)鐘系統(tǒng),本文采用DS1307 模塊作為系統(tǒng)時(shí)鐘,時(shí)鐘電路如圖4 所示。DS1307 是低功耗、兩線制串行讀寫接口、日歷和時(shí)鐘數(shù)據(jù)按BCD 碼存取的時(shí)鐘/日歷芯片,提供秒、分、小時(shí)、星期、日期、月和年等時(shí)鐘日歷數(shù)據(jù),集成如下幾點(diǎn)功能:①56 字節(jié)掉電時(shí)電池保持NV SRAM 數(shù)據(jù)存儲(chǔ);②可編程的方波信號(hào)輸出;③掉電檢測(cè)及自動(dòng)切換電池供電模式。
Fig.4 The system clock circuit圖4 系統(tǒng)時(shí)鐘電路
網(wǎng)關(guān)作為物聯(lián)網(wǎng)的中間物件,穩(wěn)定的工作電壓是保證其正常運(yùn)行的前提,方案采用開關(guān)電源適配器給物聯(lián)網(wǎng)網(wǎng)關(guān)提供5V 外部電源,通過(guò)穩(wěn)壓器ASM1117 模塊降至3.3V給ESP8266 芯片提供穩(wěn)定的工作電壓,電源電路如圖5 所示。ASM1117 是一個(gè)正向低壓穩(wěn)壓器,在電路輸入端、輸出端都加入了極性電容和旁路電容,該設(shè)計(jì)具有良好的去耦合和濾波作用,能夠有效保證電源電路的穩(wěn)定性。ASM1117 模塊內(nèi)部集成有過(guò)熱保護(hù)以及限流電路,防止環(huán)境溫度異常導(dǎo)致硬件損壞,是電池供電和便攜式計(jì)算機(jī)的最佳選擇[10]。
Fig.5 The power supply module circuit圖5 供電模塊電路
通信接口選擇RS485 串口兼容工業(yè)中主流設(shè)備,串口電路如圖6 所示。RS-485 接口采用平衡驅(qū)動(dòng)器和差分接收器組合,有效提高抗共模干擾和抗噪聲能力。該接口官方公布的傳輸距離為4 000ft,實(shí)際傳輸距離可達(dá)3 000m,可同時(shí)連接128 個(gè)收發(fā)器,即具有多站能力,這種特性使用戶可利用單一的RS-485 接口方便地建立設(shè)備網(wǎng)絡(luò)[11]。
Fig.6 Communication interface circuit圖6 通信接口電路
網(wǎng)關(guān)作為物聯(lián)網(wǎng)中間件,是實(shí)驗(yàn)設(shè)備和服務(wù)器通信的橋梁。實(shí)驗(yàn)設(shè)備和網(wǎng)關(guān)之間通過(guò)RS485 串口連接,采用工業(yè)中通用的MODBUS 通信協(xié)議進(jìn)行通信。網(wǎng)關(guān)上電后,通過(guò)微信的一鍵配網(wǎng)功能將網(wǎng)關(guān)接入指定的WiFi 熱點(diǎn)實(shí)現(xiàn)聯(lián)網(wǎng),并建立MQTT 客服端和HTTP 客服端。網(wǎng)關(guān)獲取到實(shí)驗(yàn)設(shè)備運(yùn)行參數(shù)后以1 秒為間隔向服務(wù)器發(fā)送POST 數(shù)據(jù),同時(shí)當(dāng)網(wǎng)關(guān)監(jiān)聽到相關(guān)主題消息后進(jìn)行數(shù)據(jù)解析,通過(guò)通信接口修改試驗(yàn)設(shè)備運(yùn)行狀態(tài),網(wǎng)關(guān)軟件流程如圖7所示。
微信公眾平臺(tái)是騰訊公司旗下產(chǎn)品微信的一個(gè)重要功能。微信公眾平臺(tái)主要面向名人、政府、媒體、企業(yè)等機(jī)構(gòu)推出合作推廣業(yè)務(wù)[12]。微信公眾平臺(tái)支持HTML 網(wǎng)頁(yè),微信公眾平臺(tái)賬號(hào)包括訂閱號(hào)、服務(wù)號(hào)和企業(yè)號(hào)3 種類型,其中企業(yè)號(hào)用途如下:為企業(yè)或組織提供移動(dòng)應(yīng)用入口,幫助企業(yè)建立與員工、上下游供應(yīng)鏈及企業(yè)應(yīng)用間的鏈接[13],本設(shè)計(jì)就是通過(guò)將網(wǎng)頁(yè)嵌入到企業(yè)號(hào)的方式實(shí)現(xiàn)對(duì)物聯(lián)網(wǎng)設(shè)備的綁定和遠(yuǎn)程監(jiān)控[14],主要功能如表1 所示。
Fig.7 Gateway software process圖7 網(wǎng)關(guān)軟件流程
Table 1 WeChat public platform function表1 微信公眾平臺(tái)功能
微信公眾號(hào)主界面如圖8 所示。用戶點(diǎn)擊“添加設(shè)備”按鈕進(jìn)入綁定網(wǎng)關(guān)界面,輸入網(wǎng)關(guān)序列號(hào)進(jìn)行網(wǎng)關(guān)綁定;點(diǎn)擊“查看網(wǎng)關(guān)”可查看已經(jīng)綁定的網(wǎng)關(guān);點(diǎn)擊“查看設(shè)備”可查看連接網(wǎng)關(guān)的實(shí)驗(yàn)設(shè)備實(shí)時(shí)運(yùn)行信息,包括實(shí)時(shí)信息和歷史信息;點(diǎn)擊“高級(jí)設(shè)置”進(jìn)入設(shè)置界面,可進(jìn)行網(wǎng)關(guān)配網(wǎng),修改參數(shù),實(shí)現(xiàn)遠(yuǎn)程控制。
在物聯(lián)網(wǎng)中,服務(wù)器和客服端之間如何高效可靠地推送消息對(duì)物聯(lián)網(wǎng)系統(tǒng)至關(guān)重要[15]。MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議)是由IBM 開發(fā)的一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級(jí)”通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP 協(xié)議上。MQTT 最大優(yōu)點(diǎn)是可以極少的代碼和有限的帶寬為遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開銷、低帶寬占用的即時(shí)通訊協(xié)議,其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)設(shè)備等方面應(yīng)用廣泛。
MQTT 服務(wù)器解決方案包括Mosca 模塊搭建和Mos?quito 軟件搭建。Mosca 是MQTT 在Node.js 中的一個(gè)Bro?ker 開源實(shí)現(xiàn),即MQTT 通信協(xié)議中的服務(wù)器實(shí)現(xiàn);Mos?quitto 是一款開源消息代理軟件,使用MQTT v3.1 協(xié)議[16]。服務(wù)器和客戶端消息推送設(shè)計(jì)包括消息發(fā)布接口、客戶端消息處理接口、客戶端訂閱接口。用戶在微信公眾號(hào)遠(yuǎn)程修改設(shè)備狀態(tài),網(wǎng)關(guān)的綁定通過(guò)客戶端訂閱接口;客戶端消息處理接口用來(lái)接收和處理網(wǎng)關(guān)發(fā)送的報(bào)警消息。
在給網(wǎng)關(guān)智能配網(wǎng)前,手機(jī)確保已經(jīng)連接好網(wǎng)絡(luò),在微信公眾號(hào)監(jiān)控主界面點(diǎn)擊“高級(jí)設(shè)置”,選擇“WiFi 智能配網(wǎng)”進(jìn)入配網(wǎng)功能,此時(shí)長(zhǎng)按網(wǎng)關(guān)的配網(wǎng)按鍵等待配網(wǎng)成功,配網(wǎng)界面如圖9 所示。
Fig.8 Public account main interface圖8 公眾號(hào)主界面
Fig.9 Gateway intelligent distribution network圖9 網(wǎng)關(guān)智能配網(wǎng)
網(wǎng)關(guān)聯(lián)網(wǎng)成功后,在主界面選擇“添加設(shè)備”進(jìn)入網(wǎng)關(guān)綁定界面,依次輸入網(wǎng)關(guān)序列號(hào)和網(wǎng)關(guān)名稱,點(diǎn)擊“確認(rèn)添加”后長(zhǎng)按網(wǎng)關(guān)綁定按鍵3 秒等待網(wǎng)關(guān)綁定結(jié)束;系統(tǒng)還提供掃描二維碼快捷綁定網(wǎng)關(guān)功能,網(wǎng)關(guān)綁定界面如圖10所示。
在微信公眾號(hào)綁定網(wǎng)關(guān)后,可點(diǎn)擊“查看設(shè)備”進(jìn)入設(shè)備列表,查看與網(wǎng)關(guān)連接的實(shí)驗(yàn)設(shè)備運(yùn)行狀態(tài),如圖11 所示。點(diǎn)擊“實(shí)時(shí)查看”可查看設(shè)備運(yùn)行參數(shù)動(dòng)態(tài)變化情況,該曲線每秒更新一次;點(diǎn)擊“一小時(shí)”可查看過(guò)去一小時(shí)記錄的運(yùn)行參數(shù)曲線,點(diǎn)擊“一天”可查看該設(shè)備過(guò)去一天的運(yùn)行曲線,同理可查看一周的運(yùn)行曲線。
Fig.10 Gateway binding圖10 綁定網(wǎng)關(guān)
Fig.11 The equipment history data check圖11 查看設(shè)備歷史數(shù)據(jù)
在“我的設(shè)備”界面點(diǎn)擊“高級(jí)設(shè)置”進(jìn)入遠(yuǎn)程控制實(shí)驗(yàn)設(shè)備界面,選擇需要設(shè)置運(yùn)行狀態(tài)的設(shè)備和需要修改的參數(shù),輸入修改值后點(diǎn)擊“確定”可遠(yuǎn)程修改實(shí)驗(yàn)設(shè)備運(yùn)行狀態(tài),如圖12 所示。比如實(shí)驗(yàn)設(shè)備當(dāng)前溫度36.8℃,遠(yuǎn)程設(shè)定實(shí)驗(yàn)設(shè)備溫度45℃后設(shè)備一直加熱直至目標(biāo)45℃后保持恒溫運(yùn)行。
Fig.12 Remote temperature control圖12 遠(yuǎn)程溫度控制
本方案利用物聯(lián)網(wǎng)技術(shù)結(jié)合微信公眾平臺(tái)優(yōu)化了傳統(tǒng)實(shí)驗(yàn)室管理模式,用戶不需要額外下載APP 和繁瑣的注冊(cè)流程,只需簡(jiǎn)單授權(quán)即可遠(yuǎn)程監(jiān)控實(shí)驗(yàn)設(shè)備。采用微信公眾號(hào)作為監(jiān)控平臺(tái),解決了監(jiān)控系統(tǒng)跨設(shè)備、跨平臺(tái)使用的限制,用戶可獲得更加便捷的體驗(yàn)效果。但此方案中物聯(lián)網(wǎng)網(wǎng)關(guān)僅限于具備接入互聯(lián)網(wǎng)的無(wú)線網(wǎng)絡(luò)場(chǎng)所使用,后續(xù)方案可考慮采用WiFi 和4G/5G 移動(dòng)網(wǎng)絡(luò)模式相結(jié)合的形式優(yōu)化物聯(lián)網(wǎng)網(wǎng)關(guān),在無(wú)線網(wǎng)絡(luò)場(chǎng)所網(wǎng)關(guān)使用WiFi形式聯(lián)網(wǎng),在不具備WiFi 的場(chǎng)所網(wǎng)關(guān)可自動(dòng)切換到4G/5G聯(lián)網(wǎng)模式。