◆盧佳佳 王錦毅
行業與應用安全
基于NB-IOT冷鏈車聯網的調度實現與優化
◆盧佳佳1王錦毅2
(1.福州理工學院 福建 3505062;2.福建師范大學協和學院 福建 350117)
本課題主要介紹安卓客戶端與云平臺之間數據互控過程,發送過程中使用自定義車載終端協議,實現車載信息的環境溫度上報及車載實時位置上報。安卓前端,通過界面設計、協議棧設計實現對云平臺的SSL雙向安全訪問的同時與云平臺通過HTTP GET或POST實現數據互控,獲取硬件發送到云平臺的溫、濕度信息及其GPS地理位置信息,從而實現監控數據的遠程集中控制與管理,同時采用K-Means聚類算法對車輛位置進行調優,經測試可以很好改良物流車輛聚集分布的問題。
云平臺;窄帶物聯網;北向開發;K-Means聚類
冷鏈車作為冷鏈物流中最重要的裝置之一,保障冷凍類食品在運輸過程中持續穩定的低溫環境,讓食品在生產、存儲、運輸、銷售過程中不受環境溫度升高影響,保證食品質量,減少食品損耗。在冷藏運輸過程中,溫度波動是引起貨物品質下降的主要原因之一,所以運輸工具應具有良好性能,在保持規定低溫的同時,更要保持溫度的穩定。因此,加強冷鏈車運輸過程中的監控與管理尤為重要。
本文主要利用Android Studio開發平臺設計出一款冷鏈物流安卓客戶程序,通過STM32主控芯片控制傳感器監控冷鏈車溫濕度,并搭配GPS獲取車輛位置信息。硬件設備與華為云平臺之間通過AT指令互發控制數據。通過NB-IOT通信通道與基站之間傳遞數據并最終發往華為OceanConnect云平臺。“安卓前端”則通過北向通道與云平臺之間進行數據交互,通過JSON格式進行數據封裝及解析,并展示于管理平臺前端。
Nb-Iot技術可滿足對低功耗、長待機、深覆蓋、大容量有所要求的低速率業務,適合于時延敏感低、實時傳輸數據的業務場景。Nb-Iot技術數據速度為65kpbs,頻帶寬度200kHz,下行速率為160kbps~250kbps。僅采用23dBm的發射功率,比2G/3G/4G有50~100倍的上行容量提升,單個基站小區可支持5萬個NB終端接入。另外Nb-Iot采用重傳機制保證了數據的可靠性[2]。
NB模組進行數據傳輸時中,運輸層協議使用UDP協議,我們在應用層使用COAP+LWM2M協議,保證了數據傳輸的可靠性。COAP協議包含4種消息類型:需要被確認的CON消息請求,不需要被確認的NON消息請求,ACK消息用于對CON消息的應答及其RST復位消息,當出現收不到數據顯示出超時需要重傳時發送。LWM2M協議則可以在可靠傳輸的基礎上將數據按照規范格式組織并發送到服務器[7]。
華為云平臺支持用戶使用移植有開源物聯網Huawei LiteOS操作系統的STM32開發板,通過有線和無線連接,如NB-IOT/5G和AgenLite網絡如物聯網關、智慧家庭網關等方式接入網絡, 最后信息匯聚到統一開放的物聯網平臺OceanConnect。OceanConnect是一個統一的物聯網開放平臺,平臺包含數據管理、設備管理和運營管理等部分。設備可以采用LWM2M(Coap)、AgenLite接入方式、MQTT接入方式接入平臺[8]。
OceanConnect內可以分成連接管理和應用使能兩層,前者是無線連接、智慧家庭網關及行業網關背后共同的平臺,為下層連接,上層應用提供支持。后者則為豐富應用程序功能的實現提供能力支持。
華為云平臺創建項目,并通過自定義產品的方法,選擇CoAP的二進制碼流,作為產品協議類型。同時根據實際需求填寫“廠商名稱ID”、“設備型號類型”等數據。屬性添加完成之后,添加字段上報字段名稱,使用虛擬設備模擬“數據上報”、“命令下發”過程。
建立的Profile屬性與命令、消息之間的映射,并自動生成插件包,同時綁定設備IMEI碼。創建設備后,可以檢測到設備連接上線。
安卓客戶使用Https Get或Post 網絡請求申請對物聯網平臺的安全訪問,接口API需要提供Token令牌及其APPID。在登錄訪問API實現中,服務器端和客戶端采用SSL雙向認證機制。常見的SSL驗證較多的只是提供單向認證,即客戶端驗證服務器是否是真實正確。本系統采用的是SSL雙向驗證,除了客戶端驗證服務器,服務器也會驗證客戶端。物聯網云平臺為每個設備頒發唯一的證書,從而保證只有擁有證書的設備才能允許接入到云平臺。
為了實現消息認證。服務器端和客戶端都需要:KeyStore和Trust KeyStore。其中KeyStore保存服務端的私鑰,Trust KeyStore保存客戶端的授權證書。需要的步驟包括:(1)生成服務端私鑰,并且導入到服務端KeyStore文件中;(2)根據私鑰,導出服務端證書(3)將服務端證書,導入到客戶端的Trust KeyStore中。采用同樣的方法,生成客戶端的私鑰及其證書,導入到服務端的Trust KeyStore中。最后通過服務器與客戶端之間的Socket通信互相認證并實現訪問。
鑒權是調用其他API的前提,北向接口除了鑒權接口,其他API接口都需要在Request Header中攜帶AppID和Token,AppID為用戶申請賬戶時的唯一標識符,而每次調用API接口都會獲取到不同的Token。表示獲取數據操作的權限。首先通過Token認證登錄身份,在調用API的時候將Token加到請求消息頭,獲得操作API的權限。
查詢單個設備API信息參數為AppId及其DeviceId值,其中DeviceId值為硬件設備唯一標識。通過Get方法調用會返回設備JSON格式的信息。通過此JSON格式信息,可以解析出設備的當前溫濕度值,及其GPS檢測到的經度緯度信息。由于安卓App需要查詢批量的車輛信息,一次性可以獲取城市中所有冷鏈車聯網信息,則只需要給出Appid值作為參數進而獲取JSON格式的返回值。若獲取到的是JSON對象,則需要從JSON對象中取出鍵值對的值,若值域的體現是數組形式,則需要在JSON數組中,通過名稱取出值。最終轉為前端所需要的形式展示[9]。其中主要查詢的信息包括溫濕度及其GPS位置信息
百度地圖SDK擁有成熟的物流地圖能力,可以支撐本系統實現物流下單、分單、干線運輸規劃、軌跡管理等多類核心業務場景。在運輸過程中需要通過跟蹤位置信息獲取運輸最佳路徑及其調配運輸車輛。本項目主要依托接口實現物流車輛軌跡管理、派送軌跡管理、物流車輛路線規劃、智能調度規劃等功能。
在課題開發中,通過獲取到的經度緯度信息調用百度地圖SDK從而進行前端展示。注冊和獲取密鑰后,在AndroidManifest中添加開發密鑰及權限。在布局Xml文件中添加地圖控件,使用可視化插件MapV,實現海量地理數據渲染展示,從而實現在APP界面上實現對百度地圖SDK的應用。圖1為通過傳感器將車輛位置信息顯示到百度地圖效果展示。

圖1 百度地圖效果
同時,運營分析場景中,管理員往往需要展示取、寄貨物地址的分布情況以及運輸軌跡,并進行相應的業務分析,進而實現業務分析科學決策[15]。
我們從后臺拉取所有聯網車輛的位置信息,使用K-Mean聚類算法,經過多次迭代后,會將車輛按照區域進行聚類處理。若無法聚類則表明車輛的分布情況良好,若出現明顯聚類,則表明車輛處理不良分布狀態。
K-Means算法會將給定的樣本集,按照樣本之間的距離大小,將樣本集劃分為K個簇。讓“簇內”的點盡量緊密的連在一起,讓“簇間”的距離盡量地大。
我們使用如果用數據表達式表示,假設簇劃分為(C1,C2,...Ck),則我們的目標是最小化平方誤差E[16]:

其中μ是簇Ci的均值向量,有時也稱為質心,表達式為:
由于本項目只需要實現到簡單的稀疏及密集的分類,我們假設k=2。我們隨機選擇了兩個k類所對應的類別質心,然后分別求,所有車輛的位置點到這兩個質心的距離,并將所有車輛距離這兩個點哪個最近進行標注及分類,結果多次迭代可以得到車輛的分類情況。如分析結果收斂速度慢,大于設定的閾值則認為聚類效果不佳,并無法很好實現聚類,此時可以認定車輛的分布處于比較好的狀況。車輛聚類收斂速度快,小于閾值則表明聚類效果好,車輛分布不佳。
傳統的冷鏈車運輸由于缺乏有效的管控平臺支撐導致車輛調動管理差、運輸效率低下等問題,本設計采用基于NB-IOT的窄帶物聯網傳輸通道,將車輛位置信息及其溫、濕度信息發送至云平臺,并很好實現前端展示及后端管控功能,同時使用K—Mean聚類算法輔助對車輛的位置信息進行分析與調優,通過聚類收斂閾值的設定判斷車輛位置分布是否處于較合理狀態,此方法可以很好解決物流車輛調度不良的問題。
[1]劉博偉. 物聯網設備發現與管理技術研究與應用[D].南京郵電大學,2018.
[2]江林華.5G物聯網及NB-IoT技術詳解[M].北京:電子工業出版社,2018:179-193.
[3]王劍秋,趙一.物聯網傳輸協議MQTT與CoAP比較與應用[J].計算機時代,2017(10):25-28+31.
[4]黃海峰.解讀華為IoT平臺以開放構建生態使能行業革新[J].通信世界,2017(21).
[5]張雪. 基于物聯網業務平臺的設備管理方法研究與實現[D].北京郵電大學,2015.
[6].解運洲.NB-IoT技術詳解與行業應用[M].科學出版社.
[7]湯春明,張熒,吳宇平.無線物聯網中CoAP協議的研究與實現[J].現代電子技術,2013,36(01):40-44.
[8]王龑,蔡學軍,張修勇,駱璐.物聯網中的設備管理技術[J].物聯網技術,2013,3(12):78-80+83.
[9]徐凱.IoT開發實戰:CoAP卷[M].北京:機械工業出版社.
[10]CoAP:An Application Protocol for Billions of Tiny Internet Nodes[J] . Bormann, Carsten,Castellani,Angelo P,Shelby,Zach.EN . 2012 (2)
[11]張康. 基于CoAP協議的數據采集系統設計與實現[D].內蒙古科技大學,2015.
[12]楊榮悅,張鵬洲,宋卿.基于5G技術的智能車聯網研究與展望[J].電信科學,2020,36(05):106-114.
[13]劉東山.NB-IoT物聯網的CoAP協議及實際部署應用[J].信息通信,2019(07):236-237.
[14]Satvik Vats,B. B. Sagar. Performance evaluation of K-means clustering on Hadoop infrastructure[J]. Journal of Discrete Mathematical Sciences and Cryptography,2019,22(8).
[15]孫領,東亞,劉偉,楊冠云.自駕游交通路線仿真分析[J].系統仿真學報,2019,31(03):429-437.