王浩江,豆鑫逸,劉圣典,王鈞喆,羅凌昀
(上海電機學院 電氣學院,上海,201306)
近年來,京東物流打造的 211 限時達、極速達、京尊達等高端物流產品,在消費者心中成為行業的產品標桿。同時,隨著醫藥冷鏈物流需求增加,醫藥生產商和醫藥電商越來越傾向于將冷鏈運輸服務外包給第三方物流服務商,以提高專業化、標準化和一體化水平。這些冷鏈產品主要包括疫苗、血液制品和生物制劑。在行業發展 過程中,會出現的運輸物品損壞事件,但卻因證據不足而不能有令雙方都滿意的處理結果[1]。
面對高端快遞行業的發展,可循環使用的智能快遞盒呼之欲出。文獻[2]使用GSM/GPRS 技術通訊技術(即2G 技術),但此技術傳輸速率非常慢,且目前已有2G 基站加速退網趨勢,基站保有量大幅減少。文獻[3]采用了NB-IoT 技術,但此技術需要對基站進行額外改造后才能適配,且延遲較高。現階段4G 技術發展較為成熟,傳輸速率高,覆蓋面廣,各運營商的4G 基站占基站總數的比例已達64.7%,優勢明顯[4]。本設計突破傳統使用了4G Cat.1 通訊技術,以STM32F7 單片機為核心,配合各傳感器設計了一種4G 通訊的新型智能快遞監測箱,來達到減少快遞垃圾、監測快遞貨物狀態、保護收發人兩方權益的目的。
本設計采用STM32F767 高性能單片機為控制核心,負責傳感器數據的收集、計算和發送;為了實時采集智能快遞箱的各種信息,采用串口通信的方式將各傳感器接入到單片機核心板。在采集到快遞箱的位置信息、溫濕度數據、運動軌跡信息以及光感數據后,通過串口通信發送到Cat.1 DTU通訊模塊,最后通過4G 通信上傳到阿里云服務器,手端可通過調取數據來實現實時檢測快遞盒狀態的效果。整個系統的結構如圖1 所示。

圖1 系統總體設計圖
一塊性能可靠和集成程度足夠高的開發板,是整個系統穩定運行的核心。出于高性能、低功耗的設計考慮,本設計采用了正點原子的阿波羅STM32F767 開發板,內嵌ARM 核心,它的板載資源非常豐富,集成了多個傳感器,將STM32F767 的引腳資源得到充分開發利用。開發板的核心CPU 為STM32F767IGT6。
為了實現快遞運輸中途違規開盒探測,需要采集盒內光強度的變化情況,因此選擇啟用阿波羅開發板上搭載的AP3216C 光環境傳感器。它支持多種工作模式,僅需連接三個引腳,即可實現驅動,具有功耗低、控制簡單、封裝小的特點,封裝體積僅為4.1mm×2.4mm×1.35mm。敦南科技在16 位分辨率的數字環境光傳感器(ALS)的基礎上,還集成了接近傳感器、紅外傳感器(均為10 位分辨率)[5]。它使用I2C 接口,內部包含多個寄存器,具有良好的抗干擾性,支持高達400Hz 的通信速率。內部框圖如圖2 所示。

圖2 AP3216C 框圖
在對一些藥物以及其他商品進行運輸過程中,必須進行冷鏈運輸。為檢測冷鏈運輸中快遞所處環境是否符合相關標準,在平衡好功率和精準度之后,選擇采用DHT11 溫濕度傳感器采集相關數據。
DHT11 型數字傳感器集濕溫度檢測于一體,內有電阻式濕度檢測元件、NTC 測溫元件,并內部配置一個獨立的MCU 單元。在阿波羅STM32 開發板的最下端,已提前預留好DHT11 的接口位置,其中NC 引腳為空腳,如圖3 所示。

圖3 DHT11 連接圖
GPS 模塊是智能快遞箱系統的重要組成部分,主要實時提供快遞箱所處的位置。NEO-6M GPS 模塊需要單片機2個串口,串口1 用來和電腦通訊,串口2 用來和GPS 模塊通訊,GPS 模塊主要進行經度和緯度的采集,并通過串口進行數據的傳輸和發送。接收到之后printf 經度和緯度即可。在意外斷電的情況下,模塊將啟用后備電源,掉電時仍可在設備上儲存收集到的數據,待電源重連后繼續發送。GPS 模塊與開發板的連接使用阿波羅開發板上自帶的ATK MOUDLE 通用模塊接口,連接方式如圖4 所示。
為了記錄在運輸過程中是否有劇烈拋物、大量顛簸的情況,啟用了阿波羅開發板上的九軸傳感器。MPU9250 內部共包括3個傳感器:三軸加速度計、三軸陀螺儀、三軸磁力計,它不僅體積小(3mm×3mm×1mm)、功耗低,而且解決了陀螺儀與加速器軸間差的問題。具有400kHz 每秒的傳輸速度,供電電壓2.4~3.6V。在讀取數據后,通過使用其自帶的DMP 處理器以及InvenSense 公司的運動處理庫,直接實現運動姿態的解算,以記錄是否有暴力拋物現象在快遞運輸過程中發生,具有非常好的響應特性。解算完畢的數據以數字信號的形式16 位AD 輸出,實時采集的數據傳輸給STM32F767 主控芯片[6]。傳感器的引腳示意圖見圖5。

圖5 九軸傳感器電路圖
本設計將采用DTU 通訊模塊,實現快遞盒與阿里云服務器之間的連接。Cat.1 全稱LTE UE-Category 1,是一個4G 通信網絡下用戶終端類別標準。相比于其他通訊技術,4G Cat.1 憑借更好的網絡覆蓋、更快的速度、更低的延時,具有高額的市場占有率,可以確保快遞盒在運輸的途中大部分時間都可以保持數據與云服務器的連接[7]。
設計采用了正點原子的ATK-IDM750C 高性能Cat.1 通訊模塊,尺寸僅有30mm×34.5mm;上下行最高速度分別為10Mpbs/5Mps,工作電流為300mA;插入任一大運營商的4G SIM 卡,模塊可支持HTTP、MQTT、阿里云、百度云、OneNET 等多種數據傳輸模式。支持TCP/UDP 協議和心跳包功能,保障了信號連接的穩定。另外,模塊支持發送通信、基站定位(經緯度)以及掉線后自動重連[8]。
為了保證運輸過程的安全,選用優質的鋰電池供電。同時,使用專用電池管理系統(BMS),能夠實時監測電池的電壓、溫度、電流等參數,并提供過充、過放、過流和高溫保護。定期檢查和維護:定期檢查電池的外觀和接線是否正常。如果發現損壞、漏液、鼓包等異常情況,將更換電池并妥善處理廢棄電池。同時,定期檢查BMS 的運行狀態和保護功能是否正常。在嵌入盒內時,將采用阻燃材料對電池進行包裹,進一步提高安全性。
若運輸過程中盒內溫濕度高于對運輸的物品造成損壞的安全值,則會發送報警值手機APP。通過進行工作狀態檢測,利用DHT11-Check()函數,如果在內置單片機發送起始信號后,DHT11 返回低電平后又接著迅速返回高電平,則表明DHT11 傳感器運行正常。應該注意主機拉低總線時間一定要在18 毫秒以上,以確保DHT11 探測出起始信號。DHT11 與MCU 一次通訊大約為3 毫秒,主機的連續時間間隔必須大于100 毫秒。內置單片機使用DHT11-Read-Data(u8 *temp,u8 *wenshi)函數讀取DHT11 上的傳感器收集的數據,經過進一步運算后,該函數會以單總線輸出溫度和濕度數據。傳感器MCU 處理結果的發送流程圖如圖6所示。

圖6 DHT11 數據發送流程圖

圖7 阿里云透傳模式數據傳輸示意圖

圖8 APP 程序流程圖
MPU9250 九軸傳感器內置有DMP(數字運動處理器),可以對傳感器的原始數據進行四元數轉化后輸出。方便了數據的處理,首先用u8 mpu_dmp_init(void)函數來初始化DMP,用mpu_set_dmp_state(1)函數來使能DMP 功能;用u8 mpu_mpl_get_data(float*pitch,float *roll,float *yaw)函數來獲取mp1 姿態解算后的數 據,用int dmp_read_fifo(short *gyro,short *accel,long*quat)函數來讀取數據,以得到姿態解算后的歐拉角。
通過對運動姿態的記錄,在發生運輸物品損壞時可作為證據來進行索賠。若發生激烈動作,則會報警至APP 端。使用上位機軟件對傳感器的波形進行顯示,在此過程中,usartl_nimingreport 函數會對數據進行封裝,計算校驗并提交到地面站軟件。利用MPU9250_send_data 函數來報告加速度及陀螺儀原始數據,可用來對傳感器數據進行波形顯示,并以傳感器幀(02H)形式發送出去。usatl_report_imu 函數則是用來報告飛控顯示幀的函數,它能實時顯示MPU9250 姿態、傳感器數據等等,并由狀態幀(01H)傳送出去。需要注意的是,數據處理要進行校準操作,即將快遞盒平放,采集n 組數據后取平均值,將隨后采集到的數據減去平均值。若加速度或者角速度過大,則表明快遞盒遭到了暴力拋物運輸,手機端將現實警告。
為了保證藥效,有些藥品需要避光儲存及運輸,若在運輸過程中發生了違規開盒、強光照射,則會做出記錄并報警至APP 端。AP3216C 光環境傳感器內部有許多寄存器,這些寄存器可以控制AP3216C 的工作模式、中斷方式以及采集數據模式。數據的讀取間隔應大于112.5ms。
首先使用AP3216C_Init 函數將AP3216C 初始化并復位,將工作模式設為ALS+PS+IR 模式(三個傳感器同時工作)。調用寄存器的第一步是寫操作,使用AP3216C_WriteOneBite(u8 reg,u8 data) 函數,其中u8 reg 是入口參數的地址;第二步是讀操作,用AP3216C_ReadOneBite(u8 reg)這個函數可以循環讀取傳感器中的數據。最 后,AP3216C_ReadData(u16*ir,u16*ps,u16*als)函數可以實現對數據的讀取然后封裝。在調用這些函數收集到目標數據后,程序將通過STM32F767 進行處理計算。
如中途檢測到光強突然劇增,表明快遞盒被強制打開,系統將做記錄并上傳至云端。開發板上的MIC(麥克風咪頭),已分別接入到WM8978 音頻芯片的2 個差分輸入通道,將對現場環境進行WAV 格式的錄音并存儲至板載SD 卡伺機上傳。
NEO-6M GPS 模塊將與阿波羅開發板的ATK-MOUDLE接口相連。在使用陶瓷天線通訊時,首次冷啟動時間為1~10 分鐘,若外接SMA 天線可縮短至1~3 分鐘;若LED燈以亮滅時間9:1 進行閃爍,表示模塊已定位成功,模塊導航電文采用NMEA-0183 協議,通過串口2 接收位置信息,對得到的七條數據指令進行解碼后輸出位置,精度在2.5m以內。
程序使用unsigned char Ublox_Cfg_Rate(unsigned short measrate,unsigned char reftime) 函數來設置更新速率,其中參數short measrate 為測量時間間隔,參數reftime 為參考時間。為實現GPS 的初始化,將調用unsigned char GPS_Init(void) 函數;用void NMEA_GPGGA_Analys is(GPS_Packet Type Def *GPS_Packet,u8 *buf) 函數來對數據進行處理;其中buf 是收到GPS 數據緩沖區首地址。
4G Cat.1 DTU 通訊模塊需要外部單獨供12V 的電壓,插入4G 的SIM 卡后,利用單片機與模塊進行uart 串口連接,服務器將數據發送到DTU 模塊,接著通過串口發送給單片機,便可遠程控制單片機工作;另一方面,單片機采集到的數據也可以通過串口發送至DTU 模塊,DTU 模塊轉送至服務器端,便實現遠程控制數據采集。DTU 共有2 種狀態,分別為透明傳輸狀態和配置狀態。當處于配置狀態時,主要采用正點原子的上位機調試軟件來進行配置。首先在阿里云創建物聯網設備,將DTU 模塊連接阿里云服務器,對DTU的相關參數進行配置。使用上位機調試軟件依次進行串口,按鍵及內部內存池的初始化,從內存池中分配內存給串口3 進行DTU 的數據接收。DTU 在接收到數據后,會將數據轉發到串口進行輸出。此外,用戶可以使用短信功能實現通訊模塊配置,以短信形式發送AT 指令來遠程查詢DTU 的參數。當處于透傳狀態時,DTU 會與阿里云服務器進行數據交互;當DTU 斷電重啟后,會默認為透傳模式。
安卓系統具有開放性、開發成本低的特點,具有其廣泛的用戶群體。本設計以Microsoft Visual Studio Emulator for Android 為開發環境,使用Java 語言開發了快遞盒系統的移動監視端。
提前記錄好快遞單號和其唯一對應的快遞盒設備號,在軟件程序的查詢界面輸入快遞盒的設備號后,APP 將迅速調取阿里云服務器上當前設備的在線情況;如果電池電量不足,或有元件損壞,將通過4G 通訊模塊上傳到手機APP,通知使用者及時更換電池或維修設備。自檢通過后,將顯示快遞盒內的溫濕度,是否有中途違規開盒、是否有暴力拋物運輸等行為,通過Cat.1 通訊模塊的LBS 定位(即基站定位)功能和GPS 模塊定位,對當前快遞所處位置進行實時記錄并上傳至阿里云服務器。如果光傳感器檢測到快遞盒內部光強度變化幅度過大,說明貨物已被窺探,將使用開發板上的咪頭麥克風進行錄音并上傳至云服務器,以保留證據。設備具有數據記錄功能,支持查詢寄出后快遞的情況,以圖表的形式為客戶展現在詳細信息的頁面。移動APP 端的程序流程圖如圖9 所示。

圖9 手機APP 示意圖

圖10 硬件電路測試圖
測試結果顯示,智能快遞盒可以較好地監測貨物所處環境數據。
本設計定位為高端醫藥運輸、高端私人運輸等場景下的快遞盒,可以實現多次循環使用。采用以阿波羅STM32F767 開發板上的處理器為核心,利用板載的及通過各個串口外接的傳感器收集數據,通過Cat.1 DTU 上傳到阿里云服務器,最后通過安卓App 實時查看數據的智能快遞檢測箱。相較之前的研究,采用了性能更加強悍的核心處理器和更加豐富的傳感器作為環境數據來源,全程檢測運輸過程中的環境變化,更好地保護了收發人的利益,且可以多次重復使用,減少了快遞垃圾。