蔣 慶,陶 峰 ,章 玉,楊建文,周先存
(皖西學(xué)院電子與信息工程學(xué)院,安徽 六安 237012)
隨著中國(guó)經(jīng)濟(jì)社會(huì)的發(fā)展和人民生活水平的提高,人們對(duì)車輛安全及其行駛的要求越來(lái)越高.如各種運(yùn)輸車的安全問(wèn)題不容小覷.以油罐車為例,若在運(yùn)輸過(guò)程中出現(xiàn)意外,則發(fā)生火災(zāi)或爆炸的可能性非常高,一旦事故發(fā)生將會(huì)帶來(lái)重大破壞和高昂的經(jīng)濟(jì)損失,后果不堪設(shè)想.然而,目前一般的車輛危險(xiǎn)檢測(cè)和預(yù)警系統(tǒng)已經(jīng)不能滿足高安全、高準(zhǔn)確的要求,需要對(duì)其進(jìn)一步地改進(jìn)[1].
本文對(duì)在市面上一些相似系統(tǒng)進(jìn)行了以下分析:1)過(guò)程監(jiān)控難.由于車輛作業(yè)分散,不能集中管理,而且司機(jī)素質(zhì)參差不齊,所以交通部門(mén)很難對(duì)車輛進(jìn)行監(jiān)控,以至不能及時(shí)預(yù)防和阻止事故發(fā)生.2)過(guò)程調(diào)度難.若在人煙稀少的地方發(fā)生事故,司機(jī)無(wú)法及時(shí)通知管理中心,則會(huì)導(dǎo)致事態(tài)進(jìn)一步加劇造成更嚴(yán)重的后果.3)無(wú)法對(duì)歷史數(shù)據(jù)進(jìn)行分析和總結(jié),無(wú)法從事故中獲取教訓(xùn)和提取規(guī)律來(lái)做到未雨綢繆.
針對(duì)以上問(wèn)題,此系統(tǒng)采用了如下的方法:1)項(xiàng)目模塊包括多種傳感器,能夠?qū)Σ煌愋偷能囕v實(shí)行定制化的檢測(cè),如油罐車要油浸檢測(cè)、靜電檢測(cè)、側(cè)翻檢測(cè)、火災(zāi)檢測(cè)、GPS檢測(cè)以及溫濕度檢測(cè)等;冷鏈車則有側(cè)翻檢測(cè)、火災(zāi)檢測(cè)、GPS檢測(cè)、溫濕度檢測(cè)等.2)在前端網(wǎng)頁(yè)上可實(shí)時(shí)顯示檢測(cè)模塊發(fā)送來(lái)的環(huán)境數(shù)據(jù),業(yè)務(wù)后臺(tái)根據(jù)獲取的檢測(cè)數(shù)據(jù)進(jìn)行記錄和分析,若車輛駛?cè)氪髷?shù)據(jù)分析所得出的事故多發(fā)地段,則系統(tǒng)會(huì)進(jìn)行自動(dòng)判斷并發(fā)出相應(yīng)預(yù)警,且會(huì)給出一些解決方案.3)在司機(jī)在無(wú)法避免事故發(fā)生的情況下,該系統(tǒng)可以迅速通知管理中心并及時(shí)報(bào)警,提供準(zhǔn)確位置,避免引起重大傷亡和經(jīng)濟(jì)損失.4)在對(duì)交通事故產(chǎn)生的各種影響因素進(jìn)行全面分析的基礎(chǔ)上,采取有效的控制措施,使車輛檢測(cè)更加科學(xué)高效[2-6].
數(shù)據(jù)發(fā)送算法:數(shù)據(jù)的發(fā)送端對(duì)于需要發(fā)送的單包數(shù)據(jù)按照通信協(xié)議正確地組裝協(xié)議報(bào)頭、有效數(shù)據(jù)和協(xié)議報(bào)尾,在每包數(shù)據(jù)發(fā)送后需要立即接收并監(jiān)聽(tīng)數(shù)據(jù)接收端反饋回來(lái)的結(jié)果,若接收正確則繼續(xù)發(fā)送下一包數(shù)據(jù),若接收錯(cuò)誤則需要重新發(fā)送該包數(shù)據(jù),從而保證數(shù)據(jù)通信的正確.發(fā)送算法流程如圖1所示[7],數(shù)據(jù)接收算法流程如圖2所示.
圖1 發(fā)送算法流程圖
圖2 數(shù)據(jù)接收算法流程
物聯(lián)網(wǎng)(internet of things,簡(jiǎn)稱IoT)是指通過(guò)各種信息傳感器、射頻識(shí)別技術(shù)、全球定位系統(tǒng)、紅外感應(yīng)器、激光掃描器等各種裝置與技術(shù),實(shí)時(shí)采集需要監(jiān)控、 連接、互動(dòng)的物體或過(guò)程,采集其聲、光、熱、電、力學(xué)、化學(xué)、生物、位置等各種需要的信息,通過(guò)各類可能的網(wǎng)絡(luò)接入,實(shí)現(xiàn)物與物、物與人的泛在連接,從而實(shí)現(xiàn)對(duì)物品和過(guò)程的智能化感知、識(shí)別和管理.物聯(lián)網(wǎng)是一個(gè)基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)等的信息承載體,它讓所有能夠被獨(dú)立尋址的普通物理對(duì)象形成互聯(lián)互通的網(wǎng)絡(luò)[8-9].
該系統(tǒng)主要應(yīng)用物聯(lián)網(wǎng)技術(shù)中的物體識(shí)別技術(shù)、位置識(shí)別技術(shù)以及感知技術(shù).物體識(shí)別技術(shù)以
RFID技術(shù)為代表,自動(dòng)識(shí)別車輛的身份信息以加強(qiáng)對(duì)運(yùn)輸車輛的監(jiān)管;位置識(shí)別技術(shù)則以GPS技術(shù)為主,用以對(duì)車輛位置跟蹤;而感知技術(shù)則主要是指?jìng)鞲衅?它是用來(lái)獲取關(guān)于物理信息的重要器件,也是構(gòu)成物聯(lián)網(wǎng)的基礎(chǔ)單元.系統(tǒng)主要應(yīng)用的傳感器包括傾角傳感器、速度及加速度傳感器、濕度傳感器、溫度傳感器、壓力傳感器等,用于對(duì)車輛運(yùn)輸以及車輛運(yùn)行狀態(tài)進(jìn)行及時(shí)檢測(cè).GPIO其接腳可以供使用者遠(yuǎn)程遙控自由使用[10].
大數(shù)據(jù)是一種規(guī)模大到在獲取、存儲(chǔ)、管理、分析方面超出了傳統(tǒng)數(shù)據(jù)庫(kù)軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價(jià)值密度低4大特征[11].
該系統(tǒng)主要應(yīng)用了Hadoop技術(shù)和MapReducer技術(shù).Hadoop是一個(gè)由Apache基金會(huì)所開(kāi)發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以在不了解分布式底層細(xì)節(jié)的情況下開(kāi)發(fā)分布式程序,從而充分利用集群機(jī)的威力進(jìn)行高速運(yùn)算和存儲(chǔ).Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)[12],系統(tǒng)采用其對(duì)數(shù)據(jù)進(jìn)行分析和處理.MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1 TB)的并行運(yùn)算.MQTT(message queuing telemetry transport,消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)的IoT協(xié)議,將數(shù)據(jù)作為字節(jié)數(shù)組傳輸,通信負(fù)載小、流量低,適用于設(shè)備和平臺(tái)保持長(zhǎng)時(shí)間連接.其特點(diǎn)是可以實(shí)現(xiàn)設(shè)備間的單播和組播,設(shè)備可以在不依賴下發(fā)命令服務(wù)、推送服務(wù)等命令服務(wù)的情況下,以應(yīng)用服務(wù)器的方式對(duì)其他設(shè)備進(jìn)行管理和控制[13-15].
基于物聯(lián)網(wǎng)與大數(shù)據(jù)分析的車輛安全系統(tǒng)和監(jiān)測(cè)被給出,并在前端展示,系統(tǒng)結(jié)構(gòu)如圖3所示.系統(tǒng)分成如下幾個(gè)部分:本地端、物聯(lián)網(wǎng)端、大數(shù)據(jù)端、業(yè)務(wù)邏輯端.本地端通過(guò)GPIO引腳讀取相關(guān)信息以及通過(guò)MQTT協(xié)議將數(shù)據(jù)上傳至云服務(wù)器;物聯(lián)網(wǎng)端再通過(guò)配置服務(wù)器http協(xié)議的端口安全組推送至應(yīng)用平臺(tái),讓數(shù)據(jù)及時(shí)入庫(kù);大數(shù)據(jù)端通過(guò)大量數(shù)據(jù)呈現(xiàn)數(shù)據(jù)長(zhǎng)遠(yuǎn)性規(guī)律,物聯(lián)網(wǎng)收集的數(shù)據(jù)在通過(guò)大數(shù)據(jù)處理后形成危險(xiǎn)地段警告,當(dāng)車輛經(jīng)過(guò)危險(xiǎn)地段時(shí),系統(tǒng)會(huì)發(fā)送短信提醒用戶;業(yè)務(wù)邏輯端則將數(shù)據(jù)進(jìn)行可視化.
圖3 系統(tǒng)結(jié)構(gòu)圖
本地端的運(yùn)行邏輯圖如圖4所示.本地端通過(guò)Arduino單片機(jī)系列、針對(duì)不同種類車輛的傳感器模塊和通訊模塊組成本地端系統(tǒng).首先,在網(wǎng)絡(luò)自檢完成后,設(shè)備會(huì)將設(shè)備ID和鑒權(quán)密鑰發(fā)送至后臺(tái)服務(wù)器中的物聯(lián)網(wǎng)(internet of things,IoT)消息服務(wù)器進(jìn)行設(shè)備鑒權(quán).此時(shí)IoT消息服務(wù)器會(huì)根據(jù)接收到的設(shè)備ID和鑒權(quán)密鑰與數(shù)據(jù)庫(kù)中的權(quán)限表中的相應(yīng)數(shù)據(jù)進(jìn)行比對(duì),若匹配則準(zhǔn)許此設(shè)備接入,否則拒絕.
圖4 運(yùn)行邏輯圖
Arduino Nano(Arduino USB接口的微型版本)通過(guò)讀取傳感器上GPIO引腳獲取到的相關(guān)數(shù)據(jù)并進(jìn)行采集,將數(shù)據(jù)打包后傳遞給物聯(lián)網(wǎng)WiFi芯片——ESP8266,通過(guò)ESP8266上面連接的WiFi進(jìn)行遠(yuǎn)程通信,由傳感器對(duì)數(shù)據(jù)進(jìn)行收集,并由C語(yǔ)言所編寫(xiě)的循環(huán)輪詢系統(tǒng)對(duì)所接收到的數(shù)據(jù)進(jìn)行解析.其中接收到的傳感器模塊需要針對(duì)不同類型的車輛進(jìn)行定制,再通過(guò)MQTT協(xié)議將數(shù)據(jù)整合發(fā)布到云端.并且在終端上電后會(huì)自啟動(dòng)程序代碼,在正常運(yùn)行后會(huì)進(jìn)行網(wǎng)絡(luò)自檢,若發(fā)現(xiàn)當(dāng)前無(wú)法連接到網(wǎng)絡(luò)則會(huì)以3 s為周期不斷進(jìn)行重連直至網(wǎng)絡(luò)連接成功,從而使數(shù)據(jù)以更快捷高效的方式傳遞到云服務(wù)器.
數(shù)據(jù)推送的流程時(shí)序圖如圖5所示.在信息上傳到物聯(lián)網(wǎng)開(kāi)放平臺(tái)OneNet之后,物聯(lián)網(wǎng)端通過(guò)配置key向OneNet后臺(tái)推送服務(wù),然后OneNet向數(shù)據(jù)流接收平臺(tái)推送服務(wù),oneNet在通過(guò)MQTT協(xié)議對(duì)數(shù)據(jù)源進(jìn)行處理后產(chǎn)生數(shù)據(jù),再對(duì)數(shù)據(jù)進(jìn)行簽名加密,數(shù)據(jù)流接收平臺(tái)在接收到數(shù)據(jù)后再向OneNet后臺(tái)推送由“GET URL?msg=x& signature=y”中x生成的一串用于服務(wù)器校驗(yàn)的值.在通過(guò)MQTT協(xié)議打包數(shù)據(jù)后產(chǎn)生的數(shù)據(jù)經(jīng)過(guò)切割轉(zhuǎn)化成在http協(xié)議里的鍵值對(duì),最后配置http協(xié)議的端口將數(shù)據(jù)推送到應(yīng)用平臺(tái),利用OneNet影響下的消息推送服務(wù)能在服務(wù)器空閑或者不繁忙時(shí)將消息推送出去的特性,使得用戶既能及時(shí)收到預(yù)警信息,又不會(huì)因消息發(fā)送過(guò)于頻繁而被打擾.
圖5 數(shù)據(jù)推送的流程時(shí)序圖
大數(shù)據(jù)端的運(yùn)行邏輯圖如圖6所示.大數(shù)據(jù)端主要由Hadoop對(duì)數(shù)據(jù)進(jìn)行清理和分析,通過(guò)MapJoin緩存小數(shù)據(jù)表到本地端中與大數(shù)據(jù)表進(jìn)行比對(duì),并對(duì)數(shù)據(jù)進(jìn)行處理,再由MapReducer串聯(lián)的多個(gè)Job對(duì)數(shù)據(jù)進(jìn)行清洗、分離和分析,最后通過(guò)Hadoop之間的仲裁機(jī)制以及節(jié)點(diǎn)之間的響應(yīng)機(jī)制協(xié)調(diào)多個(gè)分布式進(jìn)程之間的活動(dòng).由此實(shí)現(xiàn)對(duì)車輛當(dāng)前的種類、所處日期與溫度以及對(duì)車輛當(dāng)前該地區(qū)事故發(fā)生率等進(jìn)行判斷并通過(guò)數(shù)據(jù)進(jìn)行預(yù)測(cè).
圖6 運(yùn)行邏輯圖
前端項(xiàng)目采用以Bootstrap框架創(chuàng)建主要底層頁(yè)面并加以應(yīng)用layUI框架中的頁(yè)面組件以達(dá)到美化頁(yè)面的效果,以及使用Echarts和Webscoket數(shù)據(jù)可視化的效果.后端采用的是SpringBoot框架和shiro安全框架,最后放到服務(wù)器中進(jìn)行運(yùn)行.
服務(wù)器將從MQTT協(xié)議的數(shù)據(jù)傳送到云服務(wù)器上,并且將數(shù)據(jù)通過(guò)前端數(shù)據(jù)可視化.在用戶登錄的模式下,可以查看綁定的車輛車牌號(hào)、設(shè)備安裝的位置以及車輛信息狀態(tài).在客服登錄的模式下,可以看見(jiàn)受災(zāi)車輛信息.后端通過(guò)Spring Boot對(duì)前端數(shù)據(jù)進(jìn)行支撐,使數(shù)據(jù)可視化,然后對(duì)采集到的信息數(shù)據(jù)進(jìn)行大數(shù)據(jù)分析,判斷該種車輛是否安全以及是否對(duì)車輛發(fā)出預(yù)警,并且將采集到的數(shù)據(jù)收集到數(shù)據(jù)庫(kù)中.
此測(cè)試主要目的是驗(yàn)證軟件能否正常將數(shù)據(jù)發(fā)送至后臺(tái)服務(wù)器進(jìn)行處理,測(cè)試準(zhǔn)備結(jié)果如圖7所示.在數(shù)據(jù)庫(kù)的表中新增1條設(shè)備的鑒權(quán)信息,如增加設(shè)備ID為770268195,設(shè)備鑒權(quán)密鑰為abcdefghijklmnopqrstuvwxyz.然后打開(kāi)電腦命令行進(jìn)行終端運(yùn)行,軟件已成功運(yùn)行.最后查詢?cè)跀?shù)據(jù)庫(kù)物聯(lián)網(wǎng)表中是否有設(shè)備ID為770268195的狀態(tài)信息以及在物聯(lián)網(wǎng)表中是否有模擬數(shù)據(jù).
圖7 測(cè)試準(zhǔn)備結(jié)果圖
圖7顯示了數(shù)據(jù)庫(kù)數(shù)據(jù)均有該設(shè)備的狀態(tài)信息和傳感數(shù)據(jù)信息,測(cè)試軟件是成功的.
打開(kāi)前端頁(yè)面查看采集終端數(shù)據(jù)是否正常.在打開(kāi)網(wǎng)頁(yè)前端后,首先會(huì)顯示等待設(shè)備綁定界面,通過(guò)輸入設(shè)備數(shù)字編碼,均可綁定監(jiān)測(cè)設(shè)備,對(duì)不同設(shè)備監(jiān)測(cè)數(shù)據(jù)進(jìn)行區(qū)分(見(jiàn)圖8).
圖8 前端頁(yè)面示意圖
監(jiān)測(cè)設(shè)備對(duì)車輛狀態(tài)進(jìn)行快速檢測(cè),通過(guò)前端將檢測(cè)數(shù)據(jù)曲線可視化,并點(diǎn)擊數(shù)據(jù)圖表可查看歷史數(shù)據(jù),監(jiān)測(cè)頁(yè)面如圖9所示,前端報(bào)警系統(tǒng)如圖10所示.
圖9 數(shù)據(jù)流圖
圖10 前端報(bào)警系統(tǒng)展示圖
在通過(guò)大數(shù)據(jù)分析后產(chǎn)生的數(shù)據(jù)刷寫(xiě)的分區(qū)列表可以進(jìn)行數(shù)據(jù)可視化,在經(jīng)數(shù)據(jù)分析后的圖如圖11和圖12所示.
從圖11和圖12可以看出:車輛在t=10和t=11時(shí)事故發(fā)生的概率明顯增大,可以讓司機(jī)在對(duì)應(yīng)時(shí)段增加注意并在此時(shí)間段內(nèi)增加客服人數(shù),以提升事故響應(yīng)的效率.
圖11 時(shí)間-火焰指標(biāo)六方圖
圖12 精細(xì)化火焰指標(biāo)圖
本文將傳統(tǒng)的物聯(lián)網(wǎng)技術(shù)結(jié)合大數(shù)據(jù)技術(shù),由于這2種技術(shù)互補(bǔ),所以這在一定程度上對(duì)當(dāng)前一般的車輛危險(xiǎn)檢測(cè)和預(yù)警系統(tǒng)進(jìn)行了改進(jìn).本文構(gòu)建了基于物聯(lián)網(wǎng)技術(shù)的車輛運(yùn)行安全檢測(cè)系統(tǒng),實(shí)現(xiàn)了對(duì)車輛行駛狀況的監(jiān)控,這在一定程度上避免了交通事故的發(fā)生,極大地保護(hù)了人們的生命財(cái)產(chǎn)安全.