尹海博,徐 熊,郭 杭
基于GNSS的物流信息跟蹤系統(tǒng)設(shè)計(jì)
尹海博1,2,徐 熊2,郭 杭1,2
(1. 南昌大學(xué)空間科學(xué)與技術(shù)研究院,南昌 330031;2. 南昌大學(xué)信息工程學(xué)院,南昌 330031)
針對(duì)現(xiàn)代生活中快遞在運(yùn)輸過程中出現(xiàn)的丟失、損壞,客戶對(duì)重要包裹在運(yùn)送途中的擔(dān)心等問題,提出一種基于全球衛(wèi)星導(dǎo)航系統(tǒng)(GNSS)的物流信息跟蹤系統(tǒng)設(shè)計(jì)。基于嵌入式實(shí)時(shí)操作系統(tǒng),以STM32L151RCT6單片機(jī)為主控模塊,驅(qū)動(dòng)傳感部分(GNSS位置傳感器、溫濕度傳感器、加速度傳感器)采集包裹的各項(xiàng)物流信息,并通過窄帶物聯(lián)網(wǎng)(NB-IoT)通信將物流信息傳輸至快遞公司的物聯(lián)網(wǎng)云平臺(tái);用戶通過Web網(wǎng)頁即可查詢包裹的物流信息,包括精確位置、溫濕度、運(yùn)動(dòng)狀態(tài)等。測(cè)試結(jié)果表明,該系統(tǒng)能夠完成對(duì)包裹信息的跟蹤和穩(wěn)定上傳,其定位跟蹤精度在2.5 m以內(nèi),能夠?qū)崿F(xiàn)對(duì)快遞包裹的集中化、規(guī)?;芾?。
物流跟蹤;窄帶物聯(lián)網(wǎng)通信;全球衛(wèi)星導(dǎo)航系統(tǒng);單片機(jī);嵌入式實(shí)時(shí)操作系統(tǒng)
全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system, GNSS)是能在地球表面或近地空間的任何地點(diǎn)為用戶提供全天候的三維坐標(biāo)和速度以及時(shí)間信息的空間無線電導(dǎo)航定位系統(tǒng)[1],正廣泛應(yīng)用于交通、測(cè)繪、大地測(cè)量、氣象預(yù)報(bào)等領(lǐng)域,已經(jīng)成為人們正常生活中不可缺少的一部分。高德地圖、餓了么、滴滴打車、去哪兒等與人們生活息息相關(guān)的軟件都在使用衛(wèi)星導(dǎo)航定位技術(shù)[2]。
隨著交通運(yùn)輸行業(yè)和電子商業(yè)的蓬勃發(fā)展,快遞運(yùn)輸?shù)钠占岸仍絹碓礁?,快遞運(yùn)輸在帶來便利的同時(shí)也存在缺陷[3]。包裹在運(yùn)送過程可能存在丟失、損壞等問題,不僅對(duì)用戶產(chǎn)生損失,同時(shí)對(duì)快遞公司的正常運(yùn)轉(zhuǎn)也產(chǎn)生了很大的影響。對(duì)于重要包裹的丟失、損壞,顯然是快遞公司和用戶雙方都不愿發(fā)生的事情。
文獻(xiàn)[4]利用差分全球定位系統(tǒng)(differential global positioning system,DGPS)和電子感應(yīng)技術(shù),設(shè)計(jì)了魚雷罐車定位跟蹤系統(tǒng),能有效地把魚雷罐車的各種信息都匯總起來。文獻(xiàn)[5]以ATmega128A單片機(jī)和MPU6050位核心器件,設(shè)計(jì)了基于北斗衛(wèi)星導(dǎo)航系統(tǒng)(BeiDou navigation satellite system, BDS)衛(wèi)星的定位與跟蹤系統(tǒng),利用卡爾曼濾波算法來優(yōu)化外界對(duì)目標(biāo)定位跟蹤的干擾。文獻(xiàn)[6]基于全球定位系統(tǒng)(global positioning system, GPS)衛(wèi)星及BDS衛(wèi)星,設(shè)計(jì)了一款針對(duì)移動(dòng)目標(biāo)的高精度定位與跟蹤系統(tǒng),由ATGM331模塊實(shí)現(xiàn)GNSS定位,系統(tǒng)主要包括核心處理單元、全球移動(dòng)通信網(wǎng)絡(luò)(global system for mobile communication, GSM)、地理信息系統(tǒng)(geographic information system, GIS)。
針對(duì)包裹在運(yùn)輸過程中出現(xiàn)的問題,本文提出一種基于GNSS的物流信息跟蹤系統(tǒng)。該系統(tǒng)是將衛(wèi)星導(dǎo)航定位技術(shù)、物聯(lián)網(wǎng)通信融為一體的嵌入式系統(tǒng),能夠?qū)崿F(xiàn)對(duì)包裹的定位跟蹤與狀態(tài)監(jiān)測(cè),可以有效解決包裹丟失與損壞的問題,降低用戶與快遞公司的損失,為解決用戶與快遞公司之間的利益糾紛提供途徑。
總體方案如圖1所示。該系統(tǒng)由主控芯片、傳感部分、GNSS定位模塊、電源模塊、一維碼掃描器、有機(jī)發(fā)光二極管(organic light-emitting diode, OLED)顯示屏、按鍵等組成。主控模塊選用STM32L151RCT6芯片,負(fù)責(zé)控制和驅(qū)動(dòng)整個(gè)系統(tǒng)的運(yùn)行。傳感部分由MPU6050運(yùn)動(dòng)狀態(tài)傳感器、DHT11溫濕度傳感器、DS18B20溫度傳感器組成,實(shí)時(shí)采集包裹的運(yùn)動(dòng)狀態(tài)、溫濕度信息。一維碼掃描器完成包裹與物流信息跟蹤系統(tǒng)的綁定,綁定之后系統(tǒng)開始實(shí)時(shí)跟蹤該包裹。OLED顯示屏對(duì)物流信息進(jìn)行實(shí)時(shí)顯示。供電模塊為鋰電池充放電電路,為系統(tǒng)提供3.3 V的工作電壓。GNSS定位模塊選用移遠(yuǎn)通信公司研發(fā)的BC20模塊,完成對(duì)包裹的實(shí)時(shí)定位和窄帶物聯(lián)網(wǎng)(narrow band internet of things, NB-IoT)通信。
圖1 總體示意圖
1)主控模塊電路設(shè)計(jì)。圖2為主控制器電路,包括時(shí)鐘電路、復(fù)位電路、電源電路、下載電路,是處理器正常運(yùn)行的必要條件[7]。時(shí)鐘電路、復(fù)位電路和電源電路構(gòu)成的系統(tǒng)也稱為單片機(jī)最小系統(tǒng),下載電路用于給主控芯片燒錄程序。主控制器采用3.3 V的供電。連接STM32-OSC-IN和STM32-OSC-OUT引腳的為時(shí)鐘電路,由8 MHz的晶振、兩個(gè)22 pF的電容、1 MΩ的電阻組成,為處理器提供時(shí)鐘信號(hào)。與STM32-NRST引腳相連接的為復(fù)位電路,復(fù)位電路由10 kΩ的電阻、按鍵、電容組成。程序下載電路主要由串行線時(shí)鐘(serial wire clock, SWCLK)接口和串行線數(shù)據(jù)(serial wire data, SWDAT)接口組成,其中VCC(volt current condenser)為電源端,GND(ground)為接地端。
2)電平轉(zhuǎn)換電路設(shè)計(jì)。BC20模塊與微處理器通過串口進(jìn)行數(shù)據(jù)通信,由于BC20與微處理器接口協(xié)議里面定義的電平不同,這里使用TXB0104芯片設(shè)計(jì)電平轉(zhuǎn)換接口(圖3),它是一款帶自動(dòng)方向檢測(cè)和靜電釋放(elestro-static discharge, ESD)保護(hù)功能的雙向電壓電平轉(zhuǎn)換器[8],A端口支持1.2~3.6 V電壓,B端口支持1.65~5.5 V電壓,A端電壓不得大于B端。當(dāng)輸出使能端(output enable,OE)輸入為低電平時(shí),所有輸出均處于高阻抗?fàn)顟B(tài)。為確保在上電或掉電期間均處于高阻抗?fàn)顟B(tài),必須將OE通過下拉電阻接地。驅(qū)動(dòng)器的拉電流能力決定該電阻的最小值[9]。該芯片被設(shè)計(jì)成OE輸入電路由模擬電源(volt current condenser analog,VCCA)供電。將BC20模塊的主串口和調(diào)試(debug,DBG)串口同時(shí)連接到TXB0104電平轉(zhuǎn)換器,其中DBG串口連接A1、A2引腳,主串口連接A3、A4引腳,將STM32微處理器的PB11、PB10引腳與TXB0104芯片的B1、B2引腳連接,PA2、PA3與B3、B4連接。
圖3 TXB0104電平轉(zhuǎn)換電路
3)傳感電路設(shè)計(jì)。本系統(tǒng)涉及到的傳感器分別為溫度傳感器DS18B20、濕度傳感器DHT11、六軸運(yùn)動(dòng)傳感器MPU6050。DS18B20的數(shù)據(jù)傳輸接口與STM32單片機(jī)的PB4相連接,測(cè)溫范圍為-55~+125℃,測(cè)溫分辨率達(dá)0.5℃。DHT11的數(shù)據(jù)傳輸接口與STM32的PB5連接,濕度測(cè)量范圍為20%~90%相對(duì)濕度(relative humidity, RH),工作電壓3.3~5.5 V直流。MPU6050運(yùn)動(dòng)傳感器與STM32之間通過集成電路總線(inter-integrated circuit,IIC)通信協(xié)議進(jìn)行數(shù)據(jù)傳輸,其中SCL(system clock line)為系統(tǒng)時(shí)鐘線,SDA(serial data line)為串行數(shù)據(jù)線。MPU-6000可在(2.5± 2.5×5%)V、(3.0±3.0×5%)V或(3.3±3.3×5%)V這3種供電電壓下工作。傳感器電路設(shè)計(jì)的原理圖如圖4所示。
4)電源電路設(shè)計(jì)。圖5是鋰電池充電電路,由TP4056、電阻、發(fā)光二極管、電容組成,其中BAT(battery terminal)為電源終端,CE(chip enable)為芯片使能輸入端。TP4056是單節(jié)鋰離子電池,采用恒定電流電壓線性充電器,充電電壓固定于
圖4 傳感器電路設(shè)計(jì)
4.2 V,而充電電流可通過一個(gè)電阻器進(jìn)行外部設(shè)置,當(dāng)充電電流達(dá)到最終浮充電壓之后降至設(shè)定值1/10時(shí)[10],TP4056將自動(dòng)終止充電循環(huán);當(dāng)輸入電壓被拿掉時(shí),TP4056自動(dòng)進(jìn)入一個(gè)低電流狀態(tài),將電池漏電流降至2 μA以下。圖6為鋰電池放電電路,將4.2 V的電壓經(jīng)過濾波、整流、降壓變成3.3 V的直流電壓。當(dāng)開關(guān)S1接通時(shí),4.2 V的電壓輸出,從EN(enable)引腳輸入到RT2。C9、C11為濾波電容,R4、R11、R17為分壓電阻。電感的作用為“通直流、阻交流”,二極管起保護(hù)電路的作用。
圖5 鋰電池充電電路設(shè)計(jì)
圖6 鋰電池放電電路設(shè)計(jì)
軟件設(shè)計(jì)是基于開源實(shí)時(shí)操作系統(tǒng)(free real-time operating system, FreeRTOS),作為一個(gè)輕量級(jí)的操作系統(tǒng),功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能等,任務(wù)調(diào)度機(jī)制是其核心技術(shù),調(diào)用開始任務(wù)函數(shù),即可開始所有任務(wù)(子程序),實(shí)現(xiàn)任務(wù)同步進(jìn)行。主程序流程如圖7所示,進(jìn)入主程序,先對(duì)串口、定時(shí)器、延時(shí)函數(shù)、中斷優(yōu)先級(jí)等進(jìn)行初始化設(shè)置,隨即獲取BC20窄帶物聯(lián)網(wǎng)模塊接收的命令,識(shí)別包括鑒權(quán)應(yīng)答、綁定/解除綁定設(shè)備、喚醒設(shè)備、數(shù)據(jù)上傳等在內(nèi)的8個(gè)命令,通過判斷Comd和Clock1-flag的當(dāng)前值來識(shí)別BC20模塊接收到的指令,從而完成相應(yīng)的操作。
圖7 主程序流程
BC20定位使用輔助全球定位系統(tǒng)(assisted global positioning system,AGPS)技術(shù)。AGPS是由外界提供接收機(jī)信號(hào)捕獲與定位所需信息數(shù)據(jù)的方式和技術(shù),通過獲取遠(yuǎn)程服務(wù)器上的星歷數(shù)據(jù),終端將獲取到的輔助數(shù)據(jù)注入到GNSS芯片中,提高定位的速度。先對(duì)BC20模塊進(jìn)行初始化,如串口通信波特率的設(shè)置。初始化完之后,單片機(jī)發(fā)送AT+QGNSSC=1命令開啟GNSS功能,開始進(jìn)行定位工作,確認(rèn)網(wǎng)絡(luò)連接,網(wǎng)絡(luò)連接正常后,通過AT+QGNSSAGPS=1命令使能AGPS,BC20開始從遠(yuǎn)程服務(wù)器處獲取星歷數(shù)據(jù)、偏差改正參數(shù)等,聯(lián)合進(jìn)行定位。部分應(yīng)用于終端設(shè)備與PC應(yīng)用之間的連接與通信指令(AT指令)及其含義如表1。最后,通過DBG串口將美國國家海洋電子協(xié)會(huì)(National Marine Electronics Association, NMEA)統(tǒng)一的GPS協(xié)議格式的數(shù)據(jù)打包傳輸給STM32單片機(jī)。圖8為定位子程序流程圖。
表1 BC20模塊部分AT指令及對(duì)應(yīng)功能
圖8 GNSS定位程序流程
圖9為NB-IoT通信子程序流程圖。本系統(tǒng)中的NB-IoT通信集成在BC20模塊上,BC20模塊支持標(biāo)準(zhǔn)的NMEA0183協(xié)議,其協(xié)議格式如表2。NB-IoT有3種工作模式:省電模式、不連續(xù)接收模式、擴(kuò)展不連續(xù)接收模式。考慮本系統(tǒng)定位的實(shí)時(shí)性,所以選用實(shí)時(shí)性較好的不連續(xù)接收工作模式[11]。該模式的周期為1.28 s,其間包括連接(Connect)和空閑(IDLE)2個(gè)狀態(tài)的切換。用戶在IDLE狀態(tài)時(shí),每個(gè)不連續(xù)接收周期監(jiān)聽一次尋呼信道,檢查是否有下行業(yè)務(wù)到達(dá)[12-13]。若有,則觸發(fā)用戶設(shè)備建立空口連接,然后再轉(zhuǎn)發(fā)下行數(shù)據(jù)包,主控制器可通過AT命令喚醒NB-IoT模塊向云服務(wù)器發(fā)送數(shù)據(jù)。
圖9 NB-IoT通信流程圖
表2 NMEA數(shù)據(jù)包協(xié)議
物流信息查詢網(wǎng)頁的設(shè)計(jì)分為用戶和管理員兩部分。首次登錄的用戶需要注冊(cè),登錄后界面會(huì)顯示多個(gè)包裹的物流信息,用戶輸入訂單號(hào)即可查詢到自己的包裹信息。對(duì)于已經(jīng)簽收的包裹,管理員可以對(duì)包裹信息進(jìn)行手動(dòng)刪除。網(wǎng)頁設(shè)計(jì)內(nèi)容如圖10所示。
圖10 網(wǎng)頁功能設(shè)計(jì)
首先,將終端設(shè)備與物聯(lián)網(wǎng)云平臺(tái)進(jìn)行對(duì)接。步驟分為設(shè)置終端設(shè)備標(biāo)識(shí)號(hào)(identification,ID)、需要對(duì)接物聯(lián)網(wǎng)平臺(tái)的地址與端口號(hào)、頻段、核心網(wǎng)(access point name,APN)、終端入網(wǎng);查詢終端是否獲取到核心網(wǎng)分配的互聯(lián)網(wǎng)協(xié)議(internet protocol,IP)地址[14-15],如果獲取到IP地址,表示終端入網(wǎng)成功,對(duì)接完成。然后,手持設(shè)備進(jìn)行測(cè)試,用電腦端打開web網(wǎng)頁,查詢?cè)O(shè)備信息。
圖11為物流跟蹤系統(tǒng)成品。圖12為物流公司的物聯(lián)網(wǎng)云平臺(tái)展示的數(shù)據(jù),包括包裹的寄出時(shí)間、溫濕度情況、震動(dòng)情況、經(jīng)緯度信息以及終端的電量情況等。其中,2019年起為調(diào)試過程中所測(cè)得到的數(shù)據(jù),其經(jīng)緯度符合當(dāng)時(shí)快遞所在區(qū)域,震動(dòng)情況、溫度、電量等也都正常,當(dāng)電量過低時(shí),發(fā)出了相應(yīng)的警告標(biāo)志。但是出現(xiàn)了3次溫度為0的情況,考慮可能是因?yàn)楸O(jiān)測(cè)儀震動(dòng)導(dǎo)致DS18B20與STM32接觸不良,STM32無法穩(wěn)定獲取到溫度數(shù)據(jù)。將DS18B20傳感器重新與STM32焊接,重新調(diào)試,測(cè)試結(jié)果如圖12中2020年所示,溫度、震動(dòng)情況、經(jīng)緯度全都在正常范圍內(nèi),能夠完成對(duì)快遞包裹的穩(wěn)定跟蹤。
圖11 物流跟蹤系統(tǒng)
圖12 物流信息展示
經(jīng)過多個(gè)經(jīng)緯度數(shù)據(jù)計(jì)算,得出3個(gè)方向的位置誤差在2.5 m以內(nèi)。東北天3個(gè)方向的偏差曲線如圖13所示,定位結(jié)果較為準(zhǔn)確,滿足對(duì)包裹位置跟蹤的要求。測(cè)試表明,該系統(tǒng)基本能夠完成運(yùn)送過程中對(duì)物流信息的穩(wěn)定跟蹤和數(shù)據(jù)上傳。
圖13 東北天方向偏差曲線
本文提出了一種基于GNSS的物流信息跟蹤系統(tǒng)設(shè)計(jì),以STM32L151RCT6為主控制器,利用NB-IoT通信將包裹的位置信息、溫濕度信息、運(yùn)動(dòng)狀態(tài)等穩(wěn)定上傳至遠(yuǎn)程服務(wù)器,用戶從web網(wǎng)頁可以實(shí)時(shí)查詢包裹的物流信息。經(jīng)測(cè)驗(yàn),該系統(tǒng)能夠完成對(duì)包裹信息的跟蹤和穩(wěn)定上傳,其定位跟蹤精度在2.5 m以內(nèi),為用戶的財(cái)產(chǎn)安全提供了保障,為快遞公司物流的正常運(yùn)轉(zhuǎn)提供了保證,為規(guī)?;?、集中化管理快遞包裹提供了途徑。
[1] REN H. Design of port enterprise logistics vehicle location tracking system based on big data[J]. Journal of Coastal Research, 2020(103): 873-876.
[2] TRENTA N M, JOUBERTA J W, GIDOFALVI G, et al. A matching algorithm to study the evolution of logistics facilities extracted from GPS traces[J]. Transportation Research Procedia, 2020, 46: 237-244.
[3] DUNKE F, NICKEL S. Improving company-wide logistics through collaborative track and trace IT services[J]. International Journal of Logistics Systems and Management, 2020, 35(3): 329-353.
[4] 劉彥彥. 基于DGPS和電子感應(yīng)技術(shù)的魚雷罐車定位跟蹤系統(tǒng)研究[D]. 合肥: 合肥工業(yè)大學(xué), 2016.
[5] 王志辰, 蘇新彥, 姚金杰. 基于北斗衛(wèi)星的定位與跟蹤系統(tǒng)設(shè)計(jì)[J]. 國外電子測(cè)量技術(shù), 2018, 37(3): 73-76.
[6] 張超, 顧濟(jì)華. 基于GPS/BDS的移動(dòng)目標(biāo)定位追蹤系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù), 2015, 38(17): 121-123, 126.
[7] XING J J. An intelligent logistics tracking system based on wireless sensor network[J]. International Journal of Online Engineering, 2018, 14(1): 53-56.
[8] 王志偉, 許江淳, 李玉惠, 等. 基于MEMS傳感器的物流車輛位置及姿態(tài)追溯系統(tǒng)設(shè)計(jì)[J]. 軟件, 2017, 38(9): 23-27.
[9] MOON K, LEE D H, CHAE S H. Active radio frequency identification tag applied to logistics tracking system and communication method: US 9697399 B2[P]. 2017-07-04.
[10] 楊磊, 田立偉. 基于無線傳感器網(wǎng)絡(luò)的物流跟蹤管理系統(tǒng)研究[J]. 電腦知識(shí)與技術(shù), 2016, 12(22): 203-205.
[11] 黃軼文. NB-IoT動(dòng)物定位跟蹤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 工程技術(shù)研究, 2019, 4(23): 236-238.
[12] 王青平, 肖健, 鄭超, 等. 基于北斗短報(bào)文的震源船跟蹤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 應(yīng)用海洋學(xué)學(xué)報(bào), 2019, 38(1): 135-140.
[13] 劉英杰, 郭文科, 秦文虎. 基于MEMS傳感器的汽車試驗(yàn)場道路識(shí)別系統(tǒng)[J]. 傳感器與微系統(tǒng), 2020, 39(7): 72-75.
[14] 董露, 石磊, 胡德正, 等. 基于北斗衛(wèi)星的手機(jī)定位跟蹤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件導(dǎo)刊, 2017, 16(6): 110-112.
[15] 鄒美廣. 基于貨品跟蹤定位的倉儲(chǔ)信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京: 南京理工大學(xué), 2019.
Design of logistics information tracking system based on GNSS
YIN Haibo1,2, XU Xiong2, GUO Hang1,2
(1. Institute of Space Science and Technology, Nanchang University,Nanchang 330031, China; 2. School of Information Engineering, Nanchang University, Nanchang 330031, China)
Aiming at the loss and damage of express delivery in the transportation process in modern life, and the customer’s worry about important packages in transit, a logistics information tracking system design based on the Global Navigation Satellite System (GNSS) was proposed. Based on the embedded real-time operating system, the STM32L151RCT6 single-chip microcomputer was the main control module, which drived the sensing part (GNSS position sensor, temperature and humidity sensor, acceleration sensor) to collect various logistics information of the package, and logistics information was transmited to the cloud platform of the internet of things of the express company through the Narrow Band Internet of Things (NB-IoT) communication. Users could query the logistics information of the package through the web page, including the precise location, temperature and humidity, and movement status. The test results showed that the system could complete the tracking and stable upload of package information, and its positioning and tracking accuracy was within 2.5 meters, which could realize centralized and large-scale management of express packages.
logistics tracking; narrow band internet of things communication; global navigation satellite system; microcontroller unit; embedded real-time operating system
P228
A
2095-4999(2021)06-0096-08
尹海博,徐熊,郭杭. 基于GNSS的物流信息跟蹤系統(tǒng)設(shè)計(jì)[J]. 導(dǎo)航定位學(xué)報(bào), 2021, 9(6): 96-103.(YIN Haibo, XU Xiong, GUO Hang. Design of logistics information tracking system based on GNSS[J]. Journal of Navigation and Positioning, 2021, 9(6): 96-103.)
10.16547/j.cnki.10-1096.20210615.
2021-01-08
國家自然科學(xué)基金資助項(xiàng)目(41764002)。
尹海博(1997—),男,湖南湘潭人,碩士研究生,研究方向?yàn)镚NSS導(dǎo)航定位。
郭杭(1960—),男,江西南昌人,博士,教授,博士生導(dǎo)師,研究方向?yàn)镚NSS導(dǎo)航定位。