鞏桂芬,周健民,何興娟,張美琦
(陜西科技大學 a.陜西省造紙技術與特種紙品開發重點研究室 b.中國輕工業紙基功能材料重點實驗室 c.輕化工程國家級實驗教學示范中心,西安 710021)
近年來,在新冠疫情暴發和全國防控常態化的背景下,醫藥冷鏈運輸的需求開始劇增,據世界衛生組織和德國物流巨頭麥肯錫公司統計全球的新冠疫苗的需求量將超過100 億劑,需要20 萬的托盤,1 500萬個冷藏箱和15 000 個完整的波音747 貨物運輸[1]。目前,我國冷鏈物流產業正處在發展的初級階段,行業呈現出規模小、分布混散和冷鏈低溫環境、難以監控的特性。在當下疫情防控仍然艱巨,保障冷鏈物流安全就成為冷鏈物流發展的迫切需要解決的問題,因此,研究冷鏈物流的溫度實時監控系統就十分重要與緊迫[2]。
分析對比現如今流通使用的智能疫苗冷藏箱,大多數智能冷藏箱都只帶有單點溫度顯示和溫度打印的功能,信息參考價值有限且不具備實時查看,這對運輸物品的實際保護并不能提供有力的保障,這些問題同樣反映了現在國內冷鏈物流都存在信息模糊不透明,難以實時監測等共同問題[3-6]。目前,用于疫苗冷藏箱的信息化系統設計方案十分有限。朱宏等[7]設計了冷鏈保溫箱用溫濕度云監測系統。雖然上述設計實現了自動化采集信息和遠程信息監測系統[8-10],但其缺點也十分明顯,如GPRS 網絡容量限制了小片區域只能存在十幾臺設備節點,以及GPRS 模塊耗電量和成本高等劣勢,都不利于其大規模部署實施。
基于上述問題,本文在節點信息傳輸方面選用LORA 通信模塊符合功耗低、數據包小和傳輸延時不敏感等優點[11]。將傳感器、通信模塊與嵌入式單片機技術相結合,采用LORA 組網+Wi–Fi 轉發的方式,研究開發出一套可用于疫苗冷藏箱中的遠程溫度監控系統。
本系統框架采用物聯網經典的設備層、網絡傳輸層和應用層3 層架構[12]搭建出基于物聯網平臺的醫用冷藏箱實時遠程溫度監測系統。整體系統框架如圖1 所示。

圖1 冷藏箱實時遠程在線監測系統Fig.1 Real time remote online monitoring system of refrigerator
系統感知層是為本次實現的功能核心,主要由各冷藏箱中的子機節點組成,其實現的工作為自采集冷藏箱中的溫度數據、信息打包處理和信息上傳。其運行邏輯和調度皆由ARM 內核主控芯片[13]調度完成;上傳的數據按MODBUS 協議格式對數據進行組包,通過LoRa 模塊將打包好的數據通過一主多從的星形網絡拓撲結構實時上傳至主機LoRa 節點。此外,用戶可通過子機上的OLED 屏幕對該冷藏箱中的溫度區間參數進行實時查看。
本次設計應用層軟件是基于Qt 軟件和SQLite 數據庫獨自編寫開發的一款上位機終端軟件[15]。該軟件本質是MQTT 客戶端,通過與MQTT 服務連接,實時監聽接收MQTT 服務器中下位機傳上來的JSON數據包;對接收到的數據進行解析,解析出的數據顯示到終端軟件界面,并且保存到SQLite 數據庫中;為上位機軟件中的溫度折線圖繪制和報警記錄功能提供有效數據。
下位機是傳感層子機節點和傳輸層主機的統稱。下位機統指為上傳信息、接受和處理上位機終端軟件下發命令的具體實例機器。本次下位機實現含有硬件層和軟件驅動程序2 個方面。
本文下位機中子機硬件電路主要由主控微控制單元(Microcontroller Unit,MCU)芯片及外圍電路、電源模塊電路、溫度數據采集和傳輸模塊等3 個部分組成。下位機整體硬件系統組成如圖2 所示。

圖2 下位機硬件系統組成Fig.2 Hardware system composition of lower computer
2.1.1 芯片核心電路模塊
主機節點和子機節點的 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 直流源蓄電池,因此,整體電源電路只需設計3.3 V 轉換芯片、穩壓電路和濾波電路,整體電路中只含有5 V 和3.3 V 這2種電源。5 V 電源主要為繼電器提供使用電源,3.3 V電源則為其余功能模塊和主芯片提供電源。同時為保護整體功能模塊,電源輸入口設計有保險絲,以防止操作失誤使得外部大電流流進整體電路,損壞器件。
另外,過去數月,股價下跌使A股市場的高質押風險浮出水面。今年榜單的前百位富豪中,有五位富豪控股上市公司股份已被質押過半,其中排名第74位的盧志強所持有的泛??毓晒善币讶抠|押。
2.1.3 溫度數據采集與通信模塊
本次溫度數據采集通過DS18B20 溫度傳感器,該傳感器采用單總線數據采集,有利于溫度分布采集。通信模塊選用可配置低功耗、遠距離傳輸的ATK–LoRa 模塊。此通信模塊是基于SX1278 設計的,可與主機LoRa 模塊進行雙向信息傳輸,每次信息傳輸完成,模塊都會進入睡眠狀態,等待下次數據需要傳輸時被喚醒。模塊睡眠狀態時的工作電流為2.3 μA,發送信息時的功耗為100 mW。
2.1.4 蜂鳴器與繼電器模塊
本次設計在主機系統硬件中加入有兩路繼電器模塊。此模塊的主要功能是可以外接車載制冷器的電源或者其他制冷設備的電源,應對在運輸時發生冷藏箱中蓄冷劑消耗過快,箱中溫度上升達到預定報警溫度時,主機繼電器會自動閉合開啟制冷器。當箱內的溫度超過警告溫度時,蜂鳴器就會發出警報,提醒操作員。加入兩路繼電器可方便多情況環境使用,不僅可外接2 臺制冷器,也可外接1 臺制冷器防止過溫、1 臺供熱器防止極端地區出現過低溫的風險。子機硬件實物和主機硬件實物如圖3 所示。

圖3 下位機硬件實物Fig.3 Physical diagram for hardware of lower computer
該下位機軟件分為子機和主機2 個部分軟件代碼。子機主要通過滴答定時器計時,采用時間片輪詢的方式判斷溫度傳感器采集的溫度是否異常,以及是否到達溫度數據上傳時間。滿足以上任意一個條件就喚醒LoRa 模塊給主機發送子機溫度區間信息,要是不滿足模塊就繼續睡眠維持低功耗狀態。主機則是采取一直監聽模式,當收到子機上傳的數據則開始對數據進行解析和校驗,信息驗證正確則對數據進行打包,通過Wi–Fi 模塊上傳至服務器。具體軟件設計運行邏輯如圖4 所示。

圖4 下位機軟件設計邏輯Fig.4 Software design logic of lower computer
2.2.1 子機主程序運行流程
由圖4 子機軟件層所示,子機主程序運行流程可知,接通蓄電池電源后GD32F330C8T6 會開始先對內核時鐘進行初始化然后開始運行 main( )函數。mian( )函數會先從flash 內存中讀取一些硬件的參數信息,然后再初始化外設硬件(包含按鍵、溫度傳感器、OLED 顯示屏、LoRa 模塊和蜂鳴器)。硬件初始化完成后子機每30 s 讀取一次溫度數據,當讀取的相鄰2 次溫度差值大于0.5 ℃或者距離上次溫度數據上報間隔達到5 min 時,子機都會對本次讀取的數據進行數據打包上報給主機。
2.2.2 主機主程序運行流程
由圖4 主機軟件層所示、主機主程序運行流程可知,上電后初始化流程和子機主機是相同的。硬件初始化之后,程序會一直在LoRa 數據接收和Wi–Fi 數據接收循環中運行。當有按鍵按下時會觸發外部中斷,軟件會轉到中斷服務函數中先處理按鍵操作。按鍵主要控制OLED 屏幕菜單,用于設置子機報警溫度,設置完成會通過LoRa 模塊發送給子機。main 函數內容如圖5 所示。

圖5 主機main 函數內容Fig.5 Main function content of host
本次設計應用層軟件是基于使用Qt 軟件獨立編寫開發的一款上位機軟件。該應用層軟件主要行為是實時監聽接收下位機主機上傳到物聯網OneNET 中的JSON 數據包[16-17],并對接收到的數據進行解析,實時顯示到軟件界面中并保存到SQLite 數據庫中,為上位機軟件中的溫度折線圖繪制和異常記錄功能提供有效數據。
上位機軟件主要提供功能有:實時數據記錄(在表格中羅列出接收到的各冷藏箱中的溫度區間)、接收數據(在面板上打印出接收的原始數據)、日記記錄、溫度曲線、設備管理、參數設置(可設置軟件界面的一些提示信息、報警溫度、登錄賬號和密碼)、車輛管理等。上位機數據監測界面如圖6 所示。

圖6 上位機軟件監控界面Fig.6 Software monitoring interface of upper computer
2.3.1 應用層繪制溫度曲線
應用層可對所監控的同一車輛中所有冷藏箱或單個冷藏箱進行溫度曲線查看,可通過時間區間選擇進行圖像數據篩選。若只輸入車輛編號,可實現查看此車中所有冷藏箱內的溫度曲線,可通過鼠標點擊右側的曲線名稱對相應曲線進行隱藏和顯示操作。上位機溫度圖像界面如圖7 所示。

圖7 上位機溫度圖像界面Fig.7 Temperature image interface of upper computer
2.3.2 應用層設備管理
本次設計的上位機軟件功能中包含遠程下發指令功能。遠端操作人員可依據上報的溫度數據情況,遠程手動控制車輛主機中通過繼電器模塊與外界連接的制冷設備。同時,為了軟件下發命令的可拓展性,額外加入了下發命令輸入行,在此可輸入其他的控制命令。此功能頁面如圖8 所示。

圖8 上位機設備管理界面Fig.8 Equipment management interface of upper computer
2.3.3 應用層車輛管理
本次設計的上位機軟件功能中包含有車輛管理功能,其功能實質是對每臺車中的主機進行管理操作。此功能是為了方便管理和查看同批次的多輛運輸車。遠端操作人員可以通過車輛管理對車輛進行添加、刪除和切換的動作,添加的車輛信息也同樣保存在SQLite 數據庫中。此功能頁面如圖9 所示。

圖9 上位機車輛管理界面Fig.9 Vehicle management interface of upper computer
無線傳輸的穩定性沒有有線傳輸穩定可靠,因此接受端對接收到的數據進行校驗就十分重要。將重要數據按事先制定的通信協議進行組包傳輸是十分有利于接收端對接受到的數據進行校驗的。規范的通信協議對后期協議的修改和維護都是十分重要的。
子機上傳的溫度數據包從高位到低位的字節可分為起始字符、子機編號、最高溫度高位、最高溫度低位、最低溫度高位、最低溫度低位、校驗碼高位、校驗碼低位,均采用十六位字符表示。例如編號為01 的冷藏箱中的節點上傳的數據為:“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”,則這組數據包表達的意思為:編號為01 號箱中溫度區間為7.9~8.3 ℃,第1 位字節“0x0A”為數據包起始字符,表示數據的開始;第2 和第3 字節“0x00 0x53”表示最高溫度為8.3 ℃(0x53=83,此為保留一位小數點);第4 和第5 字節“0x00 0x4F”表示最低溫度為7.9 ℃(0x4F=79,此為保留一位小數點);第6 和第7 字節“0x8C 0x94”表示這組數據的校驗碼,在主機接收到數據并進行數據正確校驗時使用。
主機以廣播形式下發命令,子機群都是可以收到的。子機主要通過數據包中的子機編號來區分此命令是否為自己所發,如果是就對命令進行解析,反之則丟棄。命令組成:功能碼、子機編號、功能命令數據、校驗碼。功能碼含義如表1 所示。

表1 主機命令功能碼Tab.1 Host command function code
例如,主機在接收到子機節點上傳的數據包“0x0A 0x01 0x00 0x53 0x00 0x4F 0x8C 0x94”后對數據進行解析和校驗判斷數據是否接收完整;然后對解讀出的子機編號為01,最高溫度為8.3 ℃,最低溫度為7.9 ℃;之后進行JSON 數組轉換,JSON 數據都是由鍵值對組成,此數據轉換的數據格式為{“Id”:1,“HTemp”:83, “LTemp”:79};最后上傳給MQTT 服務器,以供上位機從服務器中讀取。JSON 數據顯示如圖10 所示。

圖10 下位機上傳JSON 數據顯示Fig.10 Display of uploading JSON data through lower computer
如圖10 顯示中第1 條數據所表達的有效信息:[09:56:48]為具體接受此信息時間;/mySmartBox/pub為具體的上傳主機名稱也可代表車輛名稱;{“Id”:6,“HTemp”:232, “LTemp”:217}為編號6 的冷藏箱內最高溫度23.2 ℃、最低溫21.7 ℃。
整套系統通信協議采用實時下位機MODBUS 工業協議和上位機JSON 數組通信方式,十分便捷地實現了下位機子機節點與主機之間通信命令、數據的有效分類和校驗等功能。同時,JSON 數組良好的自我描述性、讀寫速度快和結構簡單等特性,使得上位機軟件能夠快速地解析數據,并可視化地顯示出來。
本文基于現代物聯網技術,根據設備感知層、傳輸層和應用層3 層結構體系,自主研發了一套物流冷藏箱溫度信息遠程監測系統。
1)感知層通過結合嵌入式單片機、無線傳輸技術和傳感器技術自主設計研發了一整套子機采集節點與主機網關節點的下位機,并采用時間片輪詢和節能控制,最大限度地延長了子機節點的電量使用周期。
2)傳輸層通過設計開發了LoRa 網絡信息接收處理與Wi–Fi 數據上傳的信息處理設備。整套系統通過主機節點進行信息處理和交互。主機節點實時接收子機LoRa 信息并通過Wi–Fi 模塊鏈接車載網絡上傳至服務器。
3)應用層實現了數據表格展示、接收數據流展示、異常記錄、溫度曲線、設備登錄、車輛信息管理等多功能設計。使用戶可遠程實時查看車輛中每個冷藏箱的溫度區間,以及溫度異常時間點記錄等。其通用性強,操作上手簡單,運行穩定,具有良好的應用價值。
整套系統驗證表明,該系統可有效地提高運輸途中數據信息采集效率,有效節約了人力和物力,有效地提高了物流運輸的安全性和智能化。對提高物流產業的可視化、智能化和信息化,以及推進智慧物流具有重要意義。
為了后期擴展使用范圍,例如將其運用到海運,跨國運輸中,將進一步改進優化子機節點的功耗方案,更換主控芯片,采用專用的低功耗芯片來進一步降低子節點的功耗;研究數據上傳至服務器的設備改進方案,Wi–Fi 天線方面從貼片式天線改用外接延長天線,以此來增強Wi–Fi 接收信號;應用層方面可優化開發一款APP 應用,更加方便遠端人員隨時隨地通過移動端查看信息數據。