呂俊蓉,王利恒
(武漢工程大學 電氣信息學院,武漢430205)
恒溫恒濕箱是用于對各種產(chǎn)品、零器件進行環(huán)境測試的實驗裝置,一次實驗時間一般很長,如需要及時了解測試過程中的參數(shù),需要試驗人員就地守護,否則只能試驗完成之后離線查詢數(shù)據(jù)。
隨著物聯(lián)網(wǎng)技術(shù)、計算機技術(shù)和嵌入式技術(shù)的發(fā)展,將物聯(lián)網(wǎng)技術(shù)與工業(yè)測試設備相結(jié)合,可以實現(xiàn)遠程在線實時的監(jiān)測到所有測試數(shù)據(jù),并且可以提高自動化程度,實現(xiàn)一人在線管理多臺設備。同時物聯(lián)網(wǎng)技術(shù)也可以將設備廠家和用戶連接起來,實現(xiàn)遠程故障診斷與處理,改善設備的用戶體驗。針對工業(yè)測試設備的數(shù)據(jù)不大和實時性要求高的特點。本文在傳統(tǒng)的恒溫恒濕試驗箱的基礎(chǔ)上搭建了窄帶物聯(lián)網(wǎng)系統(tǒng),從而實現(xiàn)工業(yè)恒溫恒濕試驗箱遠程智能化的管理和監(jiān)控功能。
恒溫恒濕試驗箱控制系統(tǒng)是一個多變量、非線性、大滯后、強耦合的系統(tǒng),需要短時間內(nèi)提供一個符合檢測精密零器件所需溫濕度的穩(wěn)定環(huán)境,所以恒溫恒濕試驗箱需要無偏差的控制溫濕度的值。
為了使試驗箱快速穩(wěn)定的到達所設定的溫濕度值,并使試驗人員了解測試過程中的參數(shù),設計了一套基于物聯(lián)網(wǎng)的恒溫恒濕試驗箱遠程監(jiān)控系統(tǒng),可以及時地查看試驗箱的運行狀態(tài),調(diào)整試驗箱工作運行時的參數(shù),保證試驗箱正常的工作狀態(tài),系統(tǒng)的總體設計方案如圖1所示。
圖1 系統(tǒng)的總體設計方案Fig.1 Overall design of system
系統(tǒng)中體現(xiàn)了完整的物聯(lián)網(wǎng)方案,本方案中包括物聯(lián)網(wǎng)平臺、業(yè)務應用和終端設備。恒溫恒濕試驗箱作為終端設備,通過無線模塊,將采集的溫濕度參數(shù)變化的值通過數(shù)據(jù)鏈路傳輸?shù)轿锫?lián)網(wǎng)平臺中,試驗人員可在業(yè)務應用層上讀取到相應的數(shù)據(jù);試驗人員也可通過業(yè)務應用層把控制信號傳輸?shù)轿锫?lián)網(wǎng)平臺中,通過相應的數(shù)據(jù)鏈路傳輸,進行控制信號的類型轉(zhuǎn)化,從而調(diào)控試驗箱的運行狀態(tài)。整個數(shù)據(jù)的傳輸過程,實現(xiàn)了恒溫恒濕試驗箱基于物聯(lián)網(wǎng)的遠程查看和控制。
主控芯片選擇的是STM32F103C8T6 微處理器,STM32F103C8T6 是一款基于ARM Cortex-M 內(nèi)核STM32 系列的32 位的微控制器,其運行功耗較小,能夠連接多種類的外設,需要的工作電壓是2~3.6 V,工作時的溫度為-40 ℃~85 ℃。其最高頻率高達72 MHz,程序存儲器容量是64 KB,可連接CAN,I2C,UART/USART 和USB 等接口實現(xiàn)數(shù)據(jù)的有效傳輸,同時具備較多的IO 接口,所以被廣泛的應用于各種嵌入式系統(tǒng)的開發(fā)設計中。在本系統(tǒng)設計中,可以控制執(zhí)行相關(guān)程序,接收和發(fā)送采集的數(shù)據(jù)。
溫度傳感器采用的是PT100 溫度傳感器,該傳感器主要是用于將溫度變量轉(zhuǎn)換為可以標準化輸出的測量信號,主要是用于溫度參數(shù)的測量,該傳感器工作的實現(xiàn)是基于測量鉑電阻阻值的變化。
在本系統(tǒng)中,PT100 傳感器對于測量溫度和濕度以及其相關(guān)參數(shù)的變化,需要測量電路配合使用,用于采集阻值的變化,從而推算出對應的參數(shù)值,由于采集到的信號為模擬信號,所以需要由AD轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信號,該溫控的工作模塊如圖2所示。
圖2 PT100 工作接線圖Fig.2 Working wiring diagram of PT100
NB-IoT 通信技術(shù)是窄帶物聯(lián)網(wǎng)(narrow band internet of things)的簡稱,是IoT 行業(yè)中基于蜂窩的窄帶物聯(lián)網(wǎng)的一種新興技術(shù),支持低功耗設備在廣域網(wǎng)中進行蜂窩數(shù)據(jù)的連接,可直接部署于GSM 網(wǎng)絡、UMTS 網(wǎng)絡或者LIE 網(wǎng)絡[1]。并且NB-IoT 技術(shù)是屬于授權(quán)頻譜,使用License 頻段,可采用帶內(nèi)、保護帶或者獨立載波等3 種部署方式,具有覆蓋廣、連接多、速率低、成本低等特點[2]。
本系統(tǒng)選用BC28 無線通信模塊進行上行數(shù)據(jù)和下行數(shù)據(jù)的傳輸,BC28 是一款超緊湊、高性能、低功耗的多頻段NB-IoT 無線通信模塊,由BC28 模塊完成數(shù)據(jù)的無線傳輸,可以保證在低頻或者信號不穩(wěn)定的工業(yè)環(huán)境中,有效地進行數(shù)據(jù)傳輸。BC28無線通信模塊作為獨立的外設,通過串口TX 和RX與STM32 進行連接,接線如圖3所示。
圖3 BC28 工作接線圖Fig.3 Working wiring diagram of BC28
整個物聯(lián)網(wǎng)系統(tǒng)需要完成對設備數(shù)據(jù)信息的存儲和分析,通過業(yè)務應用層實現(xiàn)用戶和物聯(lián)網(wǎng)系統(tǒng)的通信,在軟件終端完成與設備的實時數(shù)據(jù)交互,實現(xiàn)對恒溫恒濕試驗箱的有效監(jiān)控。
試驗人員可以通過業(yè)務平臺實現(xiàn)對試驗箱的遠程控制。登錄web 端或者移動端,申請查看數(shù)據(jù)庫中的數(shù)據(jù),軟件控制系統(tǒng)流程如圖4所示,可在登錄頁面中查看終端設備上傳的溫濕度值變化趨勢和實時數(shù)值,同時可根據(jù)該數(shù)值進行判斷,若當前溫濕度值沒有到達設定值,則可在頁面中修改參數(shù),完成遠程控制,并查看相應的溫濕度變化折線圖。
圖4 軟件控制系統(tǒng)流程Fig.4 Flow chart of software control system
網(wǎng)頁頁面終端的設計,是進行人工交互的重要一步。網(wǎng)頁設計采用esplise 軟件進行編寫,使用JavaScript,HTML 和CSS 語言進行編寫,通過ajax技術(shù)異步讀取存儲在數(shù)據(jù)庫里的數(shù)據(jù),實現(xiàn)遠程監(jiān)控數(shù)據(jù)。網(wǎng)頁頁面設計如圖5所示,可在頁面中完成溫濕度及其相關(guān)參數(shù)的變化趨勢的折線圖和實時顯示當前溫濕度的值等相關(guān)查詢,同時根據(jù)查詢結(jié)果完成相應的控制,可保證試驗箱穩(wěn)定的工作狀態(tài)。
圖5 網(wǎng)頁控制頁面Fig.5 Web page control page
3.2.1 實時數(shù)據(jù)顯示
在網(wǎng)頁控制頁面中可完成對實時數(shù)據(jù)的顯示。整個頁面和數(shù)據(jù)庫的控制通過servlet 技術(shù)進行連接,發(fā)送指令public void deGet()函數(shù)來進行數(shù)據(jù)庫的讀取,利用HttpServletRequest 類中的封裝方法進行頁面元素的調(diào)用,由于整個監(jiān)控過程需要實時的顯示當前溫濕度的值,所以采用out.print(rs.get-String(“value”))等函數(shù)直接顯示溫濕度,運行過程如圖6所示。
圖6 實時數(shù)據(jù)顯示程序控制框圖Fig.6 Control block diagram of real-time data display program
3.2.2 動態(tài)折線圖顯示
試驗人員需要根據(jù)觀察恒溫恒濕箱的溫濕度的變化規(guī)律以及對應參數(shù)的變化趨勢去判斷設備是否工作在穩(wěn)定的狀態(tài),需要在網(wǎng)頁中動態(tài)顯示相關(guān)數(shù)據(jù)參數(shù)折線圖。在java 文件中進行數(shù)據(jù)類的編寫,同時進行數(shù)據(jù)庫的連接,通過HttpServletRequest類發(fā)送控制指令,使網(wǎng)頁端進行ajax 技術(shù),對數(shù)據(jù)庫里存儲的數(shù)據(jù)進行異步調(diào)用,同時使用Echart 技術(shù)完成數(shù)據(jù)的可視化操作,把數(shù)據(jù)以折線圖的形式顯示到網(wǎng)頁界面中,整個頁面的顯示過程如圖7所示。
圖7 溫濕度折線圖顯示程序控制框圖Fig.7 Temperature and humidity line diagram shows the program control block diagram
物聯(lián)網(wǎng)平臺購買的是華為云服務器,在服務器中搭建Linux 系統(tǒng),完成C 語言、JAVA 語言和數(shù)據(jù)庫等環(huán)境配置,支持NB-IoT 無線傳輸設備入網(wǎng),在服務器中完成端口配置,進行無線數(shù)據(jù)傳輸。在該系統(tǒng)中,物聯(lián)網(wǎng)終端可以分為3 個部分:華為云服務器、應用層和邊緣設備,如圖8所示。通過登錄華為云服務器,運行相應的環(huán)境配置,與NB 模塊的連接,實現(xiàn)STM32F103 芯片控制通信模塊與服務器的數(shù)據(jù)傳輸,通過MQTT 消息傳輸協(xié)議,進行數(shù)據(jù)的上傳并顯示,同時可以在服務器中通過執(zhí)行指令,檢測到NB 模塊的運行情況和狀態(tài)。
圖8 物聯(lián)網(wǎng)平臺終端的設計Fig.8 Design of IoT platform terminal
華為云服務器:是一個虛擬服務器,不再受限于地理位置上的限制,實現(xiàn)了CPU,內(nèi)存和I/O 接口等硬件的動態(tài)管理服務,簡化了系統(tǒng)的管理,提高了資源利用率。
應用層:可通過在華為云服務器上部署連接自己的應用服務,通過網(wǎng)頁端實時顯示上傳的數(shù)據(jù)。
邊緣設備:NB 通信模塊將硬件終端采集到的數(shù)據(jù)傳輸?shù)椒掌髦?,實現(xiàn)了硬件終端和軟件終端的聯(lián)系[3]。
通過NB-IoT 通信技術(shù)把數(shù)據(jù)從終端設備傳輸?shù)椒掌髦袝?jīng)過6 個部分。從終端設備發(fā)送數(shù)據(jù),依次經(jīng)過了基站、核心網(wǎng)、云平臺,最后達到了服務器中[4]。當恒溫恒濕試驗箱采集到相應的參數(shù)變化值時,可以通過NB-IoT 無線傳輸模塊把數(shù)據(jù)傳輸?shù)皆贫耍瓿蓴?shù)據(jù)存儲。NB-IoT 技術(shù)不需要接入網(wǎng)關(guān),每一個設備都可以直接接入NB 網(wǎng)絡,即可與控制平臺通信,NB-IoT 技術(shù)數(shù)據(jù)傳輸流程如圖9所示。
圖9 NB-IoT 技術(shù)數(shù)據(jù)傳輸框圖Fig.9 Data transmission block diagram of NB-IoT technology
恒溫恒濕試驗箱在運行過程中,試驗人員需要及時的檢測該設備的運行狀態(tài),需要對數(shù)據(jù)進行實時的傳輸。在硬件終端中利用Keil uVision5 軟件編寫C 程序控制NB-IoT 模塊進行數(shù)據(jù)的無線傳輸,處理由傳感器采集的數(shù)據(jù)。
BC28 模塊與服務器平臺進行通信時,需要進行地址訪問和協(xié)議端口號的確定。在數(shù)據(jù)傳輸過程中,采用消息隊列遙測傳輸協(xié)議(message queuing telemetry transport,MQTT)與平臺進行通信。MQTT協(xié)議若是傳輸二進制類型的數(shù)據(jù),需要在服務器中配置編解碼插件,完成數(shù)據(jù)類型的相互轉(zhuǎn)換,上行數(shù)據(jù)傳輸過程如圖10所示。
圖10 上行數(shù)據(jù)傳輸框圖Fig.10 Block diagram of uplink data transmission
當恒溫恒濕試驗箱設備出現(xiàn)故障時,需要進行遠程控制完成控制指令的傳輸。在網(wǎng)頁端下發(fā)控制指令,下行消息傳輸至云平臺,由編解碼插件把下發(fā)的消息智能轉(zhuǎn)化為二進制數(shù),根據(jù)MQTT 協(xié)議由BC 模塊接收指令,向設備終端發(fā)布控制信號,由終端設備訂閱控制信息,如圖11所示,完成下行數(shù)據(jù)的傳輸。
圖11 下行數(shù)據(jù)傳輸框圖Fig.11 Downlink data transmission block diagram
基于物聯(lián)網(wǎng)的恒溫恒濕箱的遠程監(jiān)控系統(tǒng)的設計,主要目的是為了實現(xiàn)數(shù)據(jù)的遠距離傳輸和遠程控制。通過以上的設計可以完成在網(wǎng)頁端對數(shù)據(jù)的遠距離傳輸?shù)牟榭春驮O備的遠程控制,如圖12和圖13所示。通過查看相應的折線圖,根據(jù)對應的溫濕度可以查看到相應的參數(shù)值,試驗人員可以根據(jù)參數(shù)走向判斷試驗箱的工作狀態(tài)是否穩(wěn)定,完成相應的遠程控制。
在折線圖中,可以判斷恒溫恒濕試驗箱在工作時對溫濕度的調(diào)整是否精確,根據(jù)對應偏差、偏差變化率以及增加量的變化,判斷溫濕度在調(diào)整過程中的波動問題,從圖中可以看出,試驗箱在隨著時間變化的過程中,各相關(guān)參數(shù)逐漸趨于0,溫濕度的值也逐漸穩(wěn)定的達到設定狀態(tài)。
圖12 溫度及其相關(guān)參數(shù)變化折線圖Fig.12 Line chart of temperature and related parameter changes
圖13 濕度及其相關(guān)參數(shù)變化折線圖Fig.13 Line chart humidity and related parameter changes
通過對恒溫恒濕試驗箱的遠程調(diào)試,可以實時在軟件終端查看到相應的數(shù)據(jù)及其相關(guān)參數(shù)的變化情況,動態(tài)的檢測恒溫恒濕箱的運行環(huán)境,在滿足傳統(tǒng)的溫濕度控制要求的條件下,物聯(lián)網(wǎng)的控制為恒溫恒濕箱設備的運行節(jié)省了人力和物力,在短時間內(nèi)能夠迅速的查看到恒溫恒濕箱的工作狀態(tài),及時做出調(diào)整和管理。運用在工業(yè)系統(tǒng)中,極大的簡化了試驗人員的辦公條件,操作方便[5]。