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