鞏桂芬,周健民,何興娟,張美琦
(陜西科技大學 a.陜西省造紙技術(shù)與特種紙品開發(fā)重點研究室 b.中國輕工業(yè)紙基功能材料重點實驗室 c.輕化工程國家級實驗教學示范中心,西安 710021)
近年來,在新冠疫情暴發(fā)和全國防控常態(tài)化的背景下,醫(yī)藥冷鏈運輸?shù)男枨箝_始劇增,據(jù)世界衛(wèi)生組織和德國物流巨頭麥肯錫公司統(tǒng)計全球的新冠疫苗的需求量將超過100 億劑,需要20 萬的托盤,1 500萬個冷藏箱和15 000 個完整的波音747 貨物運輸[1]。目前,我國冷鏈物流產(chǎn)業(yè)正處在發(fā)展的初級階段,行業(yè)呈現(xiàn)出規(guī)模小、分布混散和冷鏈低溫環(huán)境、難以監(jiān)控的特性。在當下疫情防控仍然艱巨,保障冷鏈物流安全就成為冷鏈物流發(fā)展的迫切需要解決的問題,因此,研究冷鏈物流的溫度實時監(jiān)控系統(tǒng)就十分重要與緊迫[2]。
分析對比現(xiàn)如今流通使用的智能疫苗冷藏箱,大多數(shù)智能冷藏箱都只帶有單點溫度顯示和溫度打印的功能,信息參考價值有限且不具備實時查看,這對運輸物品的實際保護并不能提供有力的保障,這些問題同樣反映了現(xiàn)在國內(nèi)冷鏈物流都存在信息模糊不透明,難以實時監(jiān)測等共同問題[3-6]。目前,用于疫苗冷藏箱的信息化系統(tǒng)設(shè)計方案十分有限。朱宏等[7]設(shè)計了冷鏈保溫箱用溫濕度云監(jiān)測系統(tǒng)。雖然上述設(shè)計實現(xiàn)了自動化采集信息和遠程信息監(jiān)測系統(tǒng)[8-10],但其缺點也十分明顯,如GPRS 網(wǎng)絡(luò)容量限制了小片區(qū)域只能存在十幾臺設(shè)備節(jié)點,以及GPRS 模塊耗電量和成本高等劣勢,都不利于其大規(guī)模部署實施。
基于上述問題,本文在節(jié)點信息傳輸方面選用LORA 通信模塊符合功耗低、數(shù)據(jù)包小和傳輸延時不敏感等優(yōu)點[11]。將傳感器、通信模塊與嵌入式單片機技術(shù)相結(jié)合,采用LORA 組網(wǎng)+Wi–Fi 轉(zhuǎn)發(fā)的方式,研究開發(fā)出一套可用于疫苗冷藏箱中的遠程溫度監(jiān)控系統(tǒng)。
本系統(tǒng)框架采用物聯(lián)網(wǎng)經(jīng)典的設(shè)備層、網(wǎng)絡(luò)傳輸層和應(yīng)用層3 層架構(gòu)[12]搭建出基于物聯(lián)網(wǎng)平臺的醫(yī)用冷藏箱實時遠程溫度監(jiān)測系統(tǒng)。整體系統(tǒng)框架如圖1 所示。
圖1 冷藏箱實時遠程在線監(jiān)測系統(tǒng)Fig.1 Real time remote online monitoring system of refrigerator
系統(tǒng)感知層是為本次實現(xiàn)的功能核心,主要由各冷藏箱中的子機節(jié)點組成,其實現(xiàn)的工作為自采集冷藏箱中的溫度數(shù)據(jù)、信息打包處理和信息上傳。其運行邏輯和調(diào)度皆由ARM 內(nèi)核主控芯片[13]調(diào)度完成;上傳的數(shù)據(jù)按MODBUS 協(xié)議格式對數(shù)據(jù)進行組包,通過LoRa 模塊將打包好的數(shù)據(jù)通過一主多從的星形網(wǎng)絡(luò)拓撲結(jié)構(gòu)實時上傳至主機LoRa 節(jié)點。此外,用戶可通過子機上的OLED 屏幕對該冷藏箱中的溫度區(qū)間參數(shù)進行實時查看。
本次設(shè)計應(yīng)用層軟件是基于Qt 軟件和SQLite 數(shù)據(jù)庫獨自編寫開發(fā)的一款上位機終端軟件[15]。該軟件本質(zhì)是MQTT 客戶端,通過與MQTT 服務(wù)連接,實時監(jiān)聽接收MQTT 服務(wù)器中下位機傳上來的JSON數(shù)據(jù)包;對接收到的數(shù)據(jù)進行解析,解析出的數(shù)據(jù)顯示到終端軟件界面,并且保存到SQLite 數(shù)據(jù)庫中;為上位機軟件中的溫度折線圖繪制和報警記錄功能提供有效數(shù)據(jù)。
下位機是傳感層子機節(jié)點和傳輸層主機的統(tǒng)稱。下位機統(tǒng)指為上傳信息、接受和處理上位機終端軟件下發(fā)命令的具體實例機器。本次下位機實現(xiàn)含有硬件層和軟件驅(qū)動程序2 個方面。
本文下位機中子機硬件電路主要由主控微控制單元(Microcontroller Unit,MCU)芯片及外圍電路、電源模塊電路、溫度數(shù)據(jù)采集和傳輸模塊等3 個部分組成。下位機整體硬件系統(tǒng)組成如圖2 所示。
圖2 下位機硬件系統(tǒng)組成Fig.2 Hardware system composition of lower computer
2.1.1 芯片核心電路模塊
主機節(jié)點和子機節(jié)點的 MCU 選用型號為GD32F330C8T6,芯片電路模塊由8 M 和32.768 K 晶振電路、MCU 芯片供電電路和BOOT 下載電路組成。8 M 晶振提供芯片時間脈沖,即為芯片的時鐘源;32.768 K 晶振則為芯片的RTC 時鐘源;芯片兩路電源引腳和ADC 電源引腳均由3.3 V 電源供電。此外,VBAT 引腳由紐扣電池提供電源,此電源是為了芯片在斷點情況下RTC 時鐘一樣可以計時運行。
2.1.2 電源模塊電路
本次外部供電電源選用的為5 V 直流源蓄電池,因此,整體電源電路只需設(shè)計3.3 V 轉(zhuǎn)換芯片、穩(wěn)壓電路和濾波電路,整體電路中只含有5 V 和3.3 V 這2種電源。5 V 電源主要為繼電器提供使用電源,3.3 V電源則為其余功能模塊和主芯片提供電源。同時為保護整體功能模塊,電源輸入口設(shè)計有保險絲,以防止操作失誤使得外部大電流流進整體電路,損壞器件。
另外,過去數(shù)月,股價下跌使A股市場的高質(zhì)押風險浮出水面。今年榜單的前百位富豪中,有五位富豪控股上市公司股份已被質(zhì)押過半,其中排名第74位的盧志強所持有的泛??毓晒善币讶抠|(zhì)押。
2.1.3 溫度數(shù)據(jù)采集與通信模塊
本次溫度數(shù)據(jù)采集通過DS18B20 溫度傳感器,該傳感器采用單總線數(shù)據(jù)采集,有利于溫度分布采集。通信模塊選用可配置低功耗、遠距離傳輸?shù)腁TK–LoRa 模塊。此通信模塊是基于SX1278 設(shè)計的,可與主機LoRa 模塊進行雙向信息傳輸,每次信息傳輸完成,模塊都會進入睡眠狀態(tài),等待下次數(shù)據(jù)需要傳輸時被喚醒。模塊睡眠狀態(tài)時的工作電流為2.3 μA,發(fā)送信息時的功耗為100 mW。
2.1.4 蜂鳴器與繼電器模塊
本次設(shè)計在主機系統(tǒng)硬件中加入有兩路繼電器模塊。此模塊的主要功能是可以外接車載制冷器的電源或者其他制冷設(shè)備的電源,應(yīng)對在運輸時發(fā)生冷藏箱中蓄冷劑消耗過快,箱中溫度上升達到預(yù)定報警溫度時,主機繼電器會自動閉合開啟制冷器。當箱內(nèi)的溫度超過警告溫度時,蜂鳴器就會發(fā)出警報,提醒操作員。加入兩路繼電器可方便多情況環(huán)境使用,不僅可外接2 臺制冷器,也可外接1 臺制冷器防止過溫、1 臺供熱器防止極端地區(qū)出現(xiàn)過低溫的風險。子機硬件實物和主機硬件實物如圖3 所示。
圖3 下位機硬件實物Fig.3 Physical diagram for hardware of lower computer
該下位機軟件分為子機和主機2 個部分軟件代碼。子機主要通過滴答定時器計時,采用時間片輪詢的方式判斷溫度傳感器采集的溫度是否異常,以及是否到達溫度數(shù)據(jù)上傳時間。滿足以上任意一個條件就喚醒LoRa 模塊給主機發(fā)送子機溫度區(qū)間信息,要是不滿足模塊就繼續(xù)睡眠維持低功耗狀態(tài)。主機則是采取一直監(jiān)聽模式,當收到子機上傳的數(shù)據(jù)則開始對數(shù)據(jù)進行解析和校驗,信息驗證正確則對數(shù)據(jù)進行打包,通過Wi–Fi 模塊上傳至服務(wù)器。具體軟件設(shè)計運行邏輯如圖4 所示。
圖4 下位機軟件設(shè)計邏輯Fig.4 Software design logic of lower computer
2.2.1 子機主程序運行流程
由圖4 子機軟件層所示,子機主程序運行流程可知,接通蓄電池電源后GD32F330C8T6 會開始先對內(nèi)核時鐘進行初始化然后開始運行 main( )函數(shù)。mian( )函數(shù)會先從flash 內(nèi)存中讀取一些硬件的參數(shù)信息,然后再初始化外設(shè)硬件(包含按鍵、溫度傳感器、OLED 顯示屏、LoRa 模塊和蜂鳴器)。硬件初始化完成后子機每30 s 讀取一次溫度數(shù)據(jù),當讀取的相鄰2 次溫度差值大于0.5 ℃或者距離上次溫度數(shù)據(jù)上報間隔達到5 min 時,子機都會對本次讀取的數(shù)據(jù)進行數(shù)據(jù)打包上報給主機。
2.2.2 主機主程序運行流程
由圖4 主機軟件層所示、主機主程序運行流程可知,上電后初始化流程和子機主機是相同的。硬件初始化之后,程序會一直在LoRa 數(shù)據(jù)接收和Wi–Fi 數(shù)據(jù)接收循環(huán)中運行。當有按鍵按下時會觸發(fā)外部中斷,軟件會轉(zhuǎn)到中斷服務(wù)函數(shù)中先處理按鍵操作。按鍵主要控制OLED 屏幕菜單,用于設(shè)置子機報警溫度,設(shè)置完成會通過LoRa 模塊發(fā)送給子機。main 函數(shù)內(nèi)容如圖5 所示。
圖5 主機main 函數(shù)內(nèi)容Fig.5 Main function content of host
本次設(shè)計應(yīng)用層軟件是基于使用Qt 軟件獨立編寫開發(fā)的一款上位機軟件。該應(yīng)用層軟件主要行為是實時監(jiān)聽接收下位機主機上傳到物聯(lián)網(wǎng)OneNET 中的JSON 數(shù)據(jù)包[16-17],并對接收到的數(shù)據(jù)進行解析,實時顯示到軟件界面中并保存到SQLite 數(shù)據(jù)庫中,為上位機軟件中的溫度折線圖繪制和異常記錄功能提供有效數(shù)據(jù)。
上位機軟件主要提供功能有:實時數(shù)據(jù)記錄(在表格中羅列出接收到的各冷藏箱中的溫度區(qū)間)、接收數(shù)據(jù)(在面板上打印出接收的原始數(shù)據(jù))、日記記錄、溫度曲線、設(shè)備管理、參數(shù)設(shè)置(可設(shè)置軟件界面的一些提示信息、報警溫度、登錄賬號和密碼)、車輛管理等。上位機數(shù)據(jù)監(jiān)測界面如圖6 所示。
圖6 上位機軟件監(jiān)控界面Fig.6 Software monitoring interface of upper computer
2.3.1 應(yīng)用層繪制溫度曲線
應(yīng)用層可對所監(jiān)控的同一車輛中所有冷藏箱或單個冷藏箱進行溫度曲線查看,可通過時間區(qū)間選擇進行圖像數(shù)據(jù)篩選。若只輸入車輛編號,可實現(xiàn)查看此車中所有冷藏箱內(nèi)的溫度曲線,可通過鼠標點擊右側(cè)的曲線名稱對相應(yīng)曲線進行隱藏和顯示操作。上位機溫度圖像界面如圖7 所示。
圖7 上位機溫度圖像界面Fig.7 Temperature image interface of upper computer
2.3.2 應(yīng)用層設(shè)備管理
本次設(shè)計的上位機軟件功能中包含遠程下發(fā)指令功能。遠端操作人員可依據(jù)上報的溫度數(shù)據(jù)情況,遠程手動控制車輛主機中通過繼電器模塊與外界連接的制冷設(shè)備。同時,為了軟件下發(fā)命令的可拓展性,額外加入了下發(fā)命令輸入行,在此可輸入其他的控制命令。此功能頁面如圖8 所示。
圖8 上位機設(shè)備管理界面Fig.8 Equipment management interface of upper computer
2.3.3 應(yīng)用層車輛管理
本次設(shè)計的上位機軟件功能中包含有車輛管理功能,其功能實質(zhì)是對每臺車中的主機進行管理操作。此功能是為了方便管理和查看同批次的多輛運輸車。遠端操作人員可以通過車輛管理對車輛進行添加、刪除和切換的動作,添加的車輛信息也同樣保存在SQLite 數(shù)據(jù)庫中。此功能頁面如圖9 所示。
圖9 上位機車輛管理界面Fig.9 Vehicle management interface of upper computer
無線傳輸?shù)姆€(wěn)定性沒有有線傳輸穩(wěn)定可靠,因此接受端對接收到的數(shù)據(jù)進行校驗就十分重要。將重要數(shù)據(jù)按事先制定的通信協(xié)議進行組包傳輸是十分有利于接收端對接受到的數(shù)據(jù)進行校驗的。規(guī)范的通信協(xié)議對后期協(xié)議的修改和維護都是十分重要的。
子機上傳的溫度數(shù)據(jù)包從高位到低位的字節(jié)可分為起始字符、子機編號、最高溫度高位、最高溫度低位、最低溫度高位、最低溫度低位、校驗碼高位、校驗碼低位,均采用十六位字符表示。例如編號為01 的冷藏箱中的節(jié)點上傳的數(shù)據(jù)為:“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”,則這組數(shù)據(jù)包表達的意思為:編號為01 號箱中溫度區(qū)間為7.9~8.3 ℃,第1 位字節(jié)“0x0A”為數(shù)據(jù)包起始字符,表示數(shù)據(jù)的開始;第2 和第3 字節(jié)“0x00 0x53”表示最高溫度為8.3 ℃(0x53=83,此為保留一位小數(shù)點);第4 和第5 字節(jié)“0x00 0x4F”表示最低溫度為7.9 ℃(0x4F=79,此為保留一位小數(shù)點);第6 和第7 字節(jié)“0x8C 0x94”表示這組數(shù)據(jù)的校驗碼,在主機接收到數(shù)據(jù)并進行數(shù)據(jù)正確校驗時使用。
主機以廣播形式下發(fā)命令,子機群都是可以收到的。子機主要通過數(shù)據(jù)包中的子機編號來區(qū)分此命令是否為自己所發(fā),如果是就對命令進行解析,反之則丟棄。命令組成:功能碼、子機編號、功能命令數(shù)據(jù)、校驗碼。功能碼含義如表1 所示。
表1 主機命令功能碼Tab.1 Host command function code
例如,主機在接收到子機節(jié)點上傳的數(shù)據(jù)包“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”后對數(shù)據(jù)進行解析和校驗判斷數(shù)據(jù)是否接收完整;然后對解讀出的子機編號為01,最高溫度為8.3 ℃,最低溫度為7.9 ℃;之后進行JSON 數(shù)組轉(zhuǎn)換,JSON 數(shù)據(jù)都是由鍵值對組成,此數(shù)據(jù)轉(zhuǎn)換的數(shù)據(jù)格式為{“Id”:1,“HTemp”:83, “LTemp”:79};最后上傳給MQTT 服務(wù)器,以供上位機從服務(wù)器中讀取。JSON 數(shù)據(jù)顯示如圖10 所示。
圖10 下位機上傳JSON 數(shù)據(jù)顯示Fig.10 Display of uploading JSON data through lower computer
如圖10 顯示中第1 條數(shù)據(jù)所表達的有效信息:[09:56:48]為具體接受此信息時間;/mySmartBox/pub為具體的上傳主機名稱也可代表車輛名稱;{“Id”:6,“HTemp”:232, “LTemp”:217}為編號6 的冷藏箱內(nèi)最高溫度23.2 ℃、最低溫21.7 ℃。
整套系統(tǒng)通信協(xié)議采用實時下位機MODBUS 工業(yè)協(xié)議和上位機JSON 數(shù)組通信方式,十分便捷地實現(xiàn)了下位機子機節(jié)點與主機之間通信命令、數(shù)據(jù)的有效分類和校驗等功能。同時,JSON 數(shù)組良好的自我描述性、讀寫速度快和結(jié)構(gòu)簡單等特性,使得上位機軟件能夠快速地解析數(shù)據(jù),并可視化地顯示出來。
本文基于現(xiàn)代物聯(lián)網(wǎng)技術(shù),根據(jù)設(shè)備感知層、傳輸層和應(yīng)用層3 層結(jié)構(gòu)體系,自主研發(fā)了一套物流冷藏箱溫度信息遠程監(jiān)測系統(tǒng)。
1)感知層通過結(jié)合嵌入式單片機、無線傳輸技術(shù)和傳感器技術(shù)自主設(shè)計研發(fā)了一整套子機采集節(jié)點與主機網(wǎng)關(guān)節(jié)點的下位機,并采用時間片輪詢和節(jié)能控制,最大限度地延長了子機節(jié)點的電量使用周期。
2)傳輸層通過設(shè)計開發(fā)了LoRa 網(wǎng)絡(luò)信息接收處理與Wi–Fi 數(shù)據(jù)上傳的信息處理設(shè)備。整套系統(tǒng)通過主機節(jié)點進行信息處理和交互。主機節(jié)點實時接收子機LoRa 信息并通過Wi–Fi 模塊鏈接車載網(wǎng)絡(luò)上傳至服務(wù)器。
3)應(yīng)用層實現(xiàn)了數(shù)據(jù)表格展示、接收數(shù)據(jù)流展示、異常記錄、溫度曲線、設(shè)備登錄、車輛信息管理等多功能設(shè)計。使用戶可遠程實時查看車輛中每個冷藏箱的溫度區(qū)間,以及溫度異常時間點記錄等。其通用性強,操作上手簡單,運行穩(wěn)定,具有良好的應(yīng)用價值。
整套系統(tǒng)驗證表明,該系統(tǒng)可有效地提高運輸途中數(shù)據(jù)信息采集效率,有效節(jié)約了人力和物力,有效地提高了物流運輸?shù)陌踩院椭悄芑?。對提高物流產(chǎn)業(yè)的可視化、智能化和信息化,以及推進智慧物流具有重要意義。
為了后期擴展使用范圍,例如將其運用到海運,跨國運輸中,將進一步改進優(yōu)化子機節(jié)點的功耗方案,更換主控芯片,采用專用的低功耗芯片來進一步降低子節(jié)點的功耗;研究數(shù)據(jù)上傳至服務(wù)器的設(shè)備改進方案,Wi–Fi 天線方面從貼片式天線改用外接延長天線,以此來增強Wi–Fi 接收信號;應(yīng)用層方面可優(yōu)化開發(fā)一款A(yù)PP 應(yīng)用,更加方便遠端人員隨時隨地通過移動端查看信息數(shù)據(jù)。