霍文慧 李敬兆
摘 要:為了解決物流運輸過程中貨物狀態(tài)實時監(jiān)測困難和物流監(jiān)測設(shè)備功能單一、可擴展性不強等問題,提出了一種基于物聯(lián)網(wǎng)(IoT)的智慧物流監(jiān)測系統(tǒng)。系統(tǒng)由監(jiān)控終端、無線通信單元和云平臺組成。監(jiān)控終端集成了微處理器模塊、溫濕度傳感器模塊、GPS模塊、光照強度傳感器模塊等。無線通信模塊用來接收物流監(jiān)控終端的數(shù)據(jù)并上傳至云平臺。云平臺實現(xiàn)海量物流數(shù)據(jù)的采集、存儲、分析、處理和可視化。定位模塊采用基于卡爾曼濾波算法的數(shù)據(jù)融合技術(shù),實現(xiàn)車輛在復(fù)雜環(huán)境下的準確連續(xù)定位。數(shù)據(jù)處理采用一種基于LZW的數(shù)據(jù)壓縮算法,實現(xiàn)海量數(shù)據(jù)的無損壓縮。該系統(tǒng)的使用提高了物流監(jiān)測的實時性和系統(tǒng)性,可協(xié)助管理人員對物流環(huán)境信息進行實時監(jiān)控。
關(guān)鍵詞:嵌入式;傳感網(wǎng)絡(luò);GPS;云平臺;融合算法;NB-IoT
中圖分類號:TP274+.2文獻標識碼:A文章編號:2095-1302(2020)09-00-05
0 引 言
在高速發(fā)展的現(xiàn)代社會中,隨著我國對外出口量的增加,傳統(tǒng)的物流已無法滿足人們的需要,智慧物流應(yīng)運而生。無論是在物資的制作、儲備過程中,還是在物資的運輸和出售過程中,智慧物流都能夠通過物聯(lián)網(wǎng)技術(shù)發(fā)揮其相應(yīng)的作用[1]。
在當前的物流業(yè)中,最為常見的仍屬射頻識別和定位技術(shù),此外,隨著科技的進步,越來越多的技術(shù)將應(yīng)用于物流業(yè)中。例如,通過傳感技術(shù)監(jiān)測物流的溫度、安全,通過視頻識別和不同機器之間的傳遞進行各環(huán)節(jié)間的協(xié)調(diào)合作,以及遠程藍牙傳送信息等[2]。物流信息在物聯(lián)網(wǎng)上的全面感知、安全傳輸和智能控制可實現(xiàn)物流信息管理到物流信息控制的飛躍[3]。
國外車輛運輸監(jiān)控系統(tǒng)開發(fā)的較早[4],在信息技術(shù)方面已經(jīng)實現(xiàn)了將物流監(jiān)控系統(tǒng)應(yīng)用在對物流車輛的實時監(jiān)控上[5]。相比之下,國內(nèi)物流運輸水平相對落后,但隨著近年來GPS技術(shù)、通信技術(shù)以及Internet技術(shù)發(fā)展逐漸走向成熟,獲取車輛信息方面的能力得到顯著提高。針對傳統(tǒng)車載GPS導(dǎo)航定位丟失信號問題,韓如坤給出了一種建立在模糊投票方式基礎(chǔ)上的GPS和IMU相結(jié)合的定位方式,充分消除了采用單一傳感器無法進行精確定位的問題[6]。劉旭等人建立了適用于車輛導(dǎo)航系統(tǒng)的基于UKF(Unscented Kalman Filter)的GPS/DR(Global Positioning System/Dead Reckoning)組合定位濾波模型及算法[7],可應(yīng)用在物流運輸?shù)能囕v上。
在數(shù)據(jù)壓縮方面,由于無線傳感器中的感知數(shù)據(jù)具有數(shù)據(jù)量大、冗余度高的特點,而使用數(shù)據(jù)壓縮能有效去除冗余數(shù)據(jù)[8]。解瑞云提出了一種利用自適應(yīng)Huffman與Golomb-Rice混合編碼的快速高效無損自適應(yīng)壓縮算法[9],可用于監(jiān)控系統(tǒng)產(chǎn)生大量數(shù)據(jù)時對服務(wù)器運行速度造成影響的情況。
基于此,本文提出了一種基于物聯(lián)網(wǎng)的智慧物流監(jiān)測系統(tǒng),運用傳感器技術(shù)、無線網(wǎng)絡(luò)傳輸技術(shù)、云計算技術(shù)等[10]搭建了一個監(jiān)測物流運輸過程中環(huán)境信息變化的系統(tǒng)[11],該系統(tǒng)除了強調(diào)對物資信息的快速實時采集之外,還可以對運輸工具工況、無線通信環(huán)境、GPS定位環(huán)境等情境信息進行綜合評估,以實現(xiàn)物流監(jiān)測數(shù)據(jù)的穩(wěn)定上傳和異常狀態(tài)的及時預(yù)警[12]。
1 系統(tǒng)結(jié)構(gòu)
基于物聯(lián)網(wǎng)的智慧物流監(jiān)測系統(tǒng)架構(gòu)如圖1所示。
該系統(tǒng)由物流車載終端、數(shù)據(jù)傳輸模塊以及物流監(jiān)控中心組成。
物流車載終端包括多種傳感器,可完成對物流運輸過程中溫濕度、光照強度、車輛傾斜度的數(shù)據(jù)采集;定位模塊負責采集車輛的位置信息;本地存儲單元對信息進行存儲;車載電源作為監(jiān)測終端的供電電源。
數(shù)據(jù)傳輸單元采用NB-IoT作為無線通信模塊,傳感器通過I2C通信接口上傳數(shù)據(jù)至STM32 MCU,MCU通過NB-IoT通信模塊將采集的數(shù)據(jù)上傳至云平臺數(shù)據(jù)庫。
物流監(jiān)控中心包括訪問終端和云服務(wù)器。云服務(wù)器完成數(shù)據(jù)的存儲和處理,訪問終端與云平臺完成數(shù)據(jù)交互以及對車輛環(huán)境數(shù)據(jù)的監(jiān)測、管理、異常報警等服務(wù)。
2 硬件設(shè)計
物流車載監(jiān)測終端主要由STM32、本地存儲模塊、傳感器模塊、GPS定位模塊、NB-IoT通信模塊以及外圍電路組成。硬件結(jié)構(gòu)如圖2所示。
2.1 微控制器
本次應(yīng)用的微處理器為STM32,其作為系統(tǒng)的主控,不僅承擔著處理信息的責任,還肩負著溝通不同模塊的任務(wù)。其需要在高電壓和高消耗的情況下保持強大的功能,通過各端口與模塊相連,將所得數(shù)據(jù)進行綜合處理后傳達出去。其優(yōu)勢在于較小的開發(fā)成本和極高的性價比。
2.2 本地存儲
實時采集數(shù)據(jù)并進行上傳是我們關(guān)注的重點,在網(wǎng)絡(luò)發(fā)生波動時,數(shù)據(jù)上傳至云平臺后,應(yīng)當對所有數(shù)據(jù)備份,以防數(shù)據(jù)錯誤上傳和數(shù)據(jù)丟失。
本系統(tǒng)采用容量為4 MB的Micro SD卡(又稱TF卡),TF卡存儲的數(shù)據(jù)通過USB端口導(dǎo)出到PC端。
2.3 傳感器模塊
為了確保在移動終端中實時監(jiān)測物流的各類信息,我們在設(shè)計過程中加入了溫濕度傳感器,用以監(jiān)測物流的溫濕度,通過慣性傳感器測量車輛的加速度,通過光照強度傳感器檢測物流受光照的強度及時間,此外,沖擊振動和傾角也能夠在移動終端中有所體現(xiàn)。其中,溫濕度傳感器采用DHT22,單總線DATA引腳外接上拉電阻與主控芯片I/O口,采集物流運輸過程中的溫濕度信息。光照度傳感器選用BH1750,內(nèi)置A/D轉(zhuǎn)化器,與主控芯片采用I2C總線協(xié)議通信,采集物流運輸過程中的光照強度數(shù)據(jù)。慣性傳感器選用MPU-6050六軸加速度傳感器,采集物流運輸過程中的傾斜角度以及加速度等信息。
2.4 定位模塊
本次系統(tǒng)針對定位模塊提供了多種選擇,為了最大限度減少中間障礙物對定位的影響,選用中科微STGM332D GPS定位模塊監(jiān)測車輛當前實時位置(經(jīng)緯度)、行駛速度、海拔高度等,其與主控芯片通過串口通信。在運輸途中遇見障礙物時GPS信號較弱,影響對物流車輛位置監(jiān)控的實時性,此時采取航位推算法(慣性傳感器MPU6050)計算物流車輛的位置信息。
2.5 通信模塊
通信模塊選用NB-IoT模塊進行數(shù)據(jù)的遠程無線傳輸。NB-IoT模組選用BC95模塊,模組支持UDP和CoAP協(xié)議,與主控制器之間通過串口通信,將無線傳感網(wǎng)絡(luò)收集的數(shù)據(jù)先發(fā)送到NB-IoT網(wǎng)絡(luò),再發(fā)送到云服務(wù)器,實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。
3 雙模組合定位設(shè)計
由于城市房屋的相互遮蔽,致使衛(wèi)星信號接收不佳,導(dǎo)致GPS信號缺失,造成物流監(jiān)測信息無法跟蹤和匹配。為了完善對車輛的實施追蹤,需要提高定位精度以獲取更為精準的定位信息。而獲取的物流車輛的位置信息也可為運輸路徑的選擇提供數(shù)據(jù)參考。本文介紹了一種基于擴展卡爾曼濾波算法的雙模定位方式,取代單GPS定位。組合定位總體結(jié)構(gòu)如圖3所示。
3.1 卡爾曼濾波算法步驟
該算法為遞歸的估計算法,原因在于它能夠通過對前一狀態(tài)的分析處理預(yù)測出下一狀態(tài)。但在運行該算法之前,需要得知前一狀態(tài)的估計值,同時,當前狀態(tài)的具體值也至關(guān)重要。當前狀態(tài)的估計值受當下狀態(tài)測量值的影響。
在離散變量中,卡爾曼濾波具有一定的針對性。因此,不論是線性隨機微分方程還是測量噪聲甚至是過程噪聲,卡爾曼濾波器均為第一選擇。
3.2 卡爾曼濾波處理數(shù)據(jù)分析
定位模塊接收GPS信號,當GPS信號強時,μCOS系統(tǒng)讀取GPS模塊數(shù)據(jù),通過執(zhí)行數(shù)據(jù)發(fā)送任務(wù)將信息發(fā)送到云計算平臺;當GPS信號弱甚至丟失時,μCOS系統(tǒng)無法通過GPS定位模塊獲得當前車輛的位置和速度信息,此時需要調(diào)用慣性定位任務(wù),以信號丟失前GPS模塊獲取的車輛當前經(jīng)緯度、航向角、速度等初始值,通過將慣性傳感器獲得的三軸(X,Y,Z)加速度和旋轉(zhuǎn)角度數(shù)據(jù)代入到卡爾曼濾波算法中實現(xiàn)對車輛的定位。定位流程如圖4所示。
4 基于LZW的數(shù)據(jù)壓縮算法
在物流運輸工作進行的過程當中,數(shù)據(jù)采集終端始終處于飽和工作狀態(tài),因此,終端在長期的物流運輸工作過程當中,其作業(yè)任務(wù)量與終端所承受的壓力成正比例關(guān)系??梢酝ㄟ^如下兩種方式減少數(shù)據(jù)量以保護數(shù)據(jù)終端:
(1)減少數(shù)據(jù)發(fā)送的頻次;
(2)采取數(shù)據(jù)壓縮方法降低數(shù)據(jù)的發(fā)送量。
由于降低數(shù)據(jù)發(fā)送頻率可能會導(dǎo)致漏掉一些重要數(shù)據(jù),不適用于物流實時監(jiān)測的場景,因此本系統(tǒng)選擇數(shù)據(jù)壓縮方式降低數(shù)據(jù)的發(fā)送量。
LZW算法是一種基于字典的算法,在編碼之前首先需要建立一個字典、一個暫存器P、一個暫存器C。此編碼中,P的含義是前一個字符串,C的含義是正在讀取的字符串,P和C相加組合的含義是拼接字符串。LZW編碼流程如圖5所示。
在該算法的使用過程當中,通常情況下用于圖片壓縮的使用頻次較高,4 096為其串表長度,當字符大于255時便進行新的編碼,當其大于壓縮文件無法處理時,重新生成串表。
4.1 LZW算法的硬件實現(xiàn)
由于在物流運輸工作進行的過程中,全部數(shù)據(jù)都會在終端顯示,所以需要對系統(tǒng)的硬件部分進行數(shù)據(jù)壓縮。DMA技術(shù)和乒乓思想能夠在實現(xiàn)該功能的基礎(chǔ)上,確保數(shù)據(jù)的實時性和準確性。
數(shù)據(jù)在傳輸過程中,DMA無需通過微控制器進行控制,也不會中途斷開數(shù)據(jù)傳輸?shù)膬?nèi)存存取方式,極大地提高了微控制器處理數(shù)據(jù)的效率。但因為STM32嵌入式功能的限制,RAM區(qū)無法對通過DMA通道傳出的數(shù)據(jù)進行操作。因此需要等串口到RAM的數(shù)據(jù)全部傳輸完成后,處理核心才能進行數(shù)據(jù)壓縮,導(dǎo)致系統(tǒng)的實時性減弱。該系統(tǒng)運用的是乒乓思想模式,可在微軟控制器的閃存區(qū)建立2個BUF緩沖區(qū),端口數(shù)據(jù)通過DMA存入BUF1即可,當BUF1存滿后再存入BUF2,同時對BUF1中的數(shù)據(jù)進行壓縮處理,待BUF2中數(shù)據(jù)存滿后再對其進行相關(guān)的壓縮處理。在處理BUF1或BUF2中的數(shù)據(jù)時,輸出數(shù)據(jù)緩沖區(qū)能夠貯存相關(guān)數(shù)據(jù),處理核心檢測到數(shù)據(jù)處理完畢后,開啟另一個DMA通道輸出數(shù)據(jù)。數(shù)據(jù)流傳輸方式如圖7所示。
4.2 信號壓縮比測試
為了測試LZW數(shù)據(jù)壓縮算法在處理不同信號時的壓縮比,將已得到的溫濕度數(shù)據(jù)、傾斜度、光照強度、速度、位置數(shù)據(jù)分別寫入不同的文件中,并對這五組數(shù)據(jù)進行壓縮處理。數(shù)據(jù)壓縮比見表1所列。
從上述表格可以看出,由于溫濕度和光照強度變化幅度較小,比較容易出現(xiàn)重復(fù)的字符,因此壓縮比較高,而傾斜度、速度和位置數(shù)據(jù)變化相對較大,因此產(chǎn)生的壓縮比較低。
5 軟件系統(tǒng)設(shè)計
本次設(shè)計主要被應(yīng)用于移動終端和云平臺中,通過對采集并上傳的信息進行處理,最終以報告的形式實時顯示。通過加強云端數(shù)據(jù)的處理能力,在降低移動終端壓力的同時,維持原有功能,同時提升了用戶使用的便利性,方便移動端不停機更新。
5.1 終端嵌入式軟件設(shè)計
感知終端負責環(huán)境信息采集、設(shè)備異常檢測、數(shù)據(jù)發(fā)送和指令接收,并實現(xiàn)照明設(shè)備的開關(guān)控制及亮度調(diào)節(jié)。由于感控終端需要處理的任務(wù)繁多,采用常規(guī)的程控方式不僅編程復(fù)雜,且程序執(zhí)行效率較低。因此決定在感控終端控制器中移植適合多任務(wù)實時管理的μCOS實時操作系統(tǒng),該系統(tǒng)具備高性能、低成本、高效率的優(yōu)點。
系統(tǒng)感控終端的環(huán)境信息(溫濕度、光照強度、傾斜度等)采集任務(wù)、異常檢測任務(wù)、數(shù)據(jù)發(fā)送任務(wù)的任務(wù)優(yōu)先級依次遞減;設(shè)備異常(傾角過大、溫度過高、光照過強等)事件作為系統(tǒng)中斷觸發(fā)信號。無事件發(fā)生時,μCOS系統(tǒng)依優(yōu)先級次序運行任務(wù)程序,實現(xiàn)車載物流監(jiān)測終端的情境數(shù)據(jù)采集及數(shù)據(jù)上傳;當有事件發(fā)生時,觸發(fā)μCOS系統(tǒng)中斷,若此時CPU開放中斷,則當前任務(wù)被掛起,轉(zhuǎn)而執(zhí)行異常處理中斷服務(wù)程序。退出中斷后,μCOS系統(tǒng)會根據(jù)實際情況進行一次任務(wù)調(diào)度,從最高優(yōu)先級任務(wù)處重新開始程序,但不一定要接續(xù)運行被中斷的任務(wù)。感控終端流程如圖8所示。
5.2 云平臺監(jiān)控數(shù)據(jù)處理
在數(shù)據(jù)處理過程中,盡量減少數(shù)據(jù)在移動端的停留,通過加強云平臺的處理能力來減輕移動端的處理壓力,使用的程序開發(fā)語言為C#,系統(tǒng)采用B/S架構(gòu),使用DevExpress控件與Winform控件相結(jié)合的方式構(gòu)建出一個綜合物流信息監(jiān)測預(yù)警平臺。該平臺主要進行溫濕度、傾斜度、光照強度的分塊顯示,運輸車輛實時速度和定位的顯示,以及制定監(jiān)控方式、生成報表等。物流設(shè)備管理平臺界面如圖9所示。
6 基于云平臺的物流監(jiān)控系統(tǒng)
以物流運輸車輛流程設(shè)計為例,前期需要完成訂單綁定、設(shè)定預(yù)留監(jiān)控策略、添加人員信息等操作,在運輸過程中對其實施監(jiān)控,通過云平臺對訂單進行統(tǒng)一管理,在到達目的地后解綁,同時每個移動終端在開機狀態(tài)下可以通過云平臺查看狀態(tài)。物流監(jiān)測系統(tǒng)包括三部分,即物流信息管理模塊、物流信息添加模塊、物流監(jiān)測預(yù)警模塊。
物流信息管理模塊主要對物流人員信息、物流位置信息,以及溫度、濕度、傾斜度等信息進行實時監(jiān)測,并將數(shù)據(jù)存儲到數(shù)據(jù)庫中(使用本地搭建的數(shù)據(jù)庫),然后對數(shù)據(jù)進行初步處理與分析,最終進行科學(xué)預(yù)警。
物流監(jiān)測預(yù)警模塊對各運輸物品當日每一時刻的車內(nèi)溫度、濕度、物品傾斜度等數(shù)據(jù)進行監(jiān)測,在綁定相應(yīng)的移動終端后,云平臺會自動分析并制定出最合適的監(jiān)控方案,設(shè)定預(yù)警值,實時掌握車輛各類數(shù)據(jù)。數(shù)據(jù)集中存儲并初步分析后,若連續(xù)出現(xiàn)超過規(guī)定閾值的數(shù)據(jù),則系統(tǒng)判定物流過程出現(xiàn)異常,通過發(fā)送短信的方式通知監(jiān)控人員及時處理,實現(xiàn)實時科學(xué)預(yù)警。
本設(shè)計的測試分為物流監(jiān)測終端測試和物流監(jiān)測管理平臺測試。測試使用的軟件包括串口調(diào)試助手、Keil編程軟件和云平臺。串口調(diào)試助手用于查看相關(guān)傳感器采集的數(shù)據(jù)和NB-IoT傳輸?shù)臄?shù)據(jù),獲得串口調(diào)試結(jié)果;Keil編程軟件用于驅(qū)動程序修改和燒錄;云平臺用于登錄測試數(shù)據(jù)上云處理、數(shù)據(jù)下發(fā)、消息推送。
圖9所示為測試時的物流設(shè)備管理平臺界面。界面包括物流監(jiān)測終端攜帶的多種傳感器以及其他功能模塊,測試數(shù)據(jù)包括光照強度、溫濕度、傾斜度、振動程度、NB-IoT入網(wǎng)測試數(shù)據(jù)等。
物流監(jiān)測終端數(shù)據(jù)采集功能和數(shù)據(jù)傳輸功能實現(xiàn)后,進行物流監(jiān)測管理平臺測試。物流信息監(jiān)控平臺界面如圖10所示。
7 結(jié) 語
目前,物流感知終端的傳感器部分已經(jīng)能夠?qū)崿F(xiàn)對物流環(huán)境的溫濕度、光照強度、振動幅度以及傾斜程度進行監(jiān)測。通過運用擴展的卡爾曼濾波實現(xiàn)了慣性傳感器和GPS的組合定位,車輛定位系統(tǒng)的性能得到大幅改善,可確保監(jiān)控車輛在復(fù)雜環(huán)境下連續(xù)定位。通過基于字典的LZW數(shù)據(jù)壓縮算法實現(xiàn)了數(shù)據(jù)壓縮上傳,通過NB-IoT技術(shù)實現(xiàn)了對物流運輸環(huán)境的實時監(jiān)管。隨著計算機技術(shù)、GPS定位技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)等的相互配合,物聯(lián)網(wǎng)技術(shù)被廣泛運用于監(jiān)測和管控系統(tǒng)中,加速了我國智慧物流產(chǎn)業(yè)的發(fā)展。
參考文獻
[1]石亞萍.基于物聯(lián)網(wǎng)的智慧物流[J].物流技術(shù),2011(9):44-45.
[2]王繼祥.物聯(lián)網(wǎng)發(fā)展推動中國智慧物流變革[J].物流技術(shù)與應(yīng)用(貨運車輛),2010(3):80-83.
[3]高婧,史方彤,崔茜.基于物聯(lián)網(wǎng)的物流配送業(yè)務(wù)流程再造研究[J].物流技術(shù),2011(12):25-27.
[4]王微微.國內(nèi)外農(nóng)產(chǎn)品冷鏈物流發(fā)展的比較與借鑒[J].對外經(jīng)貿(mào)實務(wù),2012(4):90-92.
[5]趙家胤,陰法明,邾文杰,等.物聯(lián)網(wǎng)智能物流車輛監(jiān)控系統(tǒng)的研究與開發(fā)[J].電子器件,2019(4):1046-1050.
[6]韓如坤.基于GPS與IMU組合傳感器數(shù)據(jù)融合的有軌電車定位分析[J].自動化技術(shù)與應(yīng)用, 2019(8):65-68.
[7]劉旭,張其善,楊東凱,等.一種用于GPS/DR組合定位的非線性濾波算法[J].北京航空航天大學(xué)學(xué)報,2007,33(2):184-187.
[8]龍勝春,龍軍.一種應(yīng)用于無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)壓縮方法[J].浙江工業(yè)大學(xué)學(xué)報,2014(2):210-213.
[9]解瑞云,海本齋.基于自適應(yīng)霍夫曼和Golomb-Rice混合編碼的WSN無損壓縮算法[J].計算機工程,2016(7):86-93.
[10]曹博.基于物聯(lián)網(wǎng)的物流實時定位系統(tǒng)[J].信息技術(shù),2018,42(10):103-106.
[11]梁琨,肖宏偉,杜瑩瑩,等.基于物聯(lián)網(wǎng)技術(shù)的果蔬冷鏈物流實時監(jiān)測系統(tǒng)[J].江蘇農(nóng)業(yè)科學(xué),2015,43(11):519-521.
[12]劉雄飛,聶偉,陳浩,等.基于云計算平臺的室內(nèi)環(huán)境監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].傳感器與微系統(tǒng),2019,38(3):92-95.