劉福祥,沈甦,鄧世英
(寧波技師學院 電氣技術系,浙江寧波,315032)
隨著科技進步,大數據、物聯網、云計算等新技術已經滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業,大量的控制器、傳感器、變送器等現場設備都需要接入云平臺以實現產品的數字化、智能化。在食品加工車間、污水處理站、游泳館、環境監測站等場所亦有將溫度、pH值等數據上云、遠程監測的需求,故設計了基于OneNET云平臺的數據采集、監測系統,該系統通過傳感器實時采集現場的溫度和pH值信息,通過變送器、云網關將數據上傳至OneNET云平臺,用戶或管理人員可以通過Web端和移動端查看實時數據和歷史數據。
系統總體框圖如圖1所示,系統包括以下部件:溫度傳感器、專用溫度變送器、pH值傳感器及變送模塊、云網關、OneNET云平臺、終端等。溫度傳感器、pH值傳感器實時采集、監測現場數據,數據通過變送器與云網關之間使用RS-485與MODBUS協議通信,云網關通過4G通信模塊和HTTP協議將數據上傳至OneNET云平臺,終端使用Web端和微信小程序兩種方式呈現。

圖1 系統總體框圖
系統硬件主要由云網關、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可直接與網關的屏幕通訊,或者直接與遠程網關進行文件傳輸。
系統軟件部分主要需實現如下功能: OneNET平臺搭建,數據讀取,微信小程序數據呈現。系統軟件部分需在云網關、OneNET云平臺、微信開發者工具中實現, 部分流程圖如圖3所示。

圖3 部分軟件流程圖
系統使用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云平臺監控界面
云網關主要實現通過MODBUS協議從溫度、pH值變送器讀取實時溫度、pH值數據和將溫度數據以HTTP協議傳輸至云平臺兩個主要功能,以及遠程控制等輔助功能。云網關采用linux系統和python語言編程實現功能,這也是采用樹莓派的重要原因。對于現場設備端,其內置的Python可以導入MinimalModbus模塊,非常方便的實現MODBUS通訊。而對于云端,HTTP請求參數的內容為JSON格式,其內置的 Python 正是少數原生支持 JSON 的語言之一,不需要復雜的格式轉換,便可以非常方便的向服務器發送 Post 請求。云網關部分代碼如下:


相比于APP,微信活躍用戶多,操作簡單,可跨平臺使用,微信小程序具有免費云存儲空間、低時延、開放的API接口等特點,云平臺只要能夠發送Post請求,就可以進行數據交互。基于以上情況的分析,使用微信小程序作為移動監控端,開發了“數據云服務監測”微信小程序,得到授權者可以通過此微信小程序查看當前數據和歷史數據。微信小程序和現場之間通過OneNET云平臺通信。如前文所述,在OneNET服務器上創建產品后,會有設備ID和APIKEY,微信小程序需通過OneNET的API接口和HTTP協議查看設備上傳的數據、設備是否在線、下發給該設備指令。圖5為微信小程序用戶界面,界面同樣可以顯示現場所采集的 pH 值、2路溫度實時數據,用戶可以根據柱狀圖、折線圖查看當前所采集的信息和歷史數據信息。微信小程序使用JavaScript語言,部分程序如下:



圖5 微信小程序顯示圖
本系統設計了一種基于OneNET云平臺的數據采集、監測系統,實現了通過OneNET平臺與云網關和微信小程序數據交互,實現了多路溫度傳感器和pH值傳感器的實時數據在PC端與移動端顯示和存儲,實現了系統的遠程操控。此系統穩定可靠、成本低、使用簡單,能同時采集多路數據,代碼復用和遷移方便,便于擴展至其它數據采集項目應用中。