王芳艷,焦鉻,陸金佳,袁依平
(衡陽師范學院計算機科學與技術學院,湖南衡陽 421000)
近年來隨著信息技術的快速發展,機動車輛數量逐年增長,機動車輛的交通事故和突發情況高頻發生,根據《中華人民共和國道路交通安全法》相關法律規定,車輛在發生故障或交通事故時應在車后規定距離設置三角警示牌。傳統警示牌結構簡單、功能單一且市場管控不嚴,這導致大量不合規范,設計錯誤的警示牌的出現。這些警示牌在處理道路交通事故中帶來諸多不便,如在高速公路或快速公路上車輛發生事故時需要人為放置警示牌,因視線盲區或后方車輛駕駛員的不規范駕駛行為導致二次事故頻繁發生。
現針對傳統警示牌存在的弊端,本文設計了一種基于北斗導航的智能三角警示牌,該警示牌的底部增加智能履帶小車[1],用戶通過多途徑連接手機端App,使用App遠程控制警示牌放至相應位置,保障人員安全。同時使用紅外避障模塊,使得履帶車更平穩可靠。小車安裝BD+GPS 雙定位[2],通過精確定位將數據返回至服務器,將事故發生點傳回給地圖用戶,提醒后方行駛車輛注意避讓,同時將事故車輛信息以及事故點數據迅速發送給交警以及保險公司,通過短信提醒實現三方互連。普通警示牌的有效顯示距離為50~150米,可視距離短,可視效果差,智能警示牌增加LED燈串,即使在晚上或大霧天氣警示距離也能達到100~200 米。解決大霧、夜間或者特殊天氣導致反光效果差,車輛用戶辨識度低的問題,可以有效警示后方車輛。
基于北斗導航的智能三角警示牌藍牙連接采用Arduino Uno單片機作為主控單元的智能小車,智能小車安裝BDS+GPS[3],通過獲取智能三角警示牌的經緯度數據,通過物聯網卡,MQTT進行數據的傳輸進入服務器端,嵌入式端再通過云服務器獲取數據返回給Web端,地圖軟件Web 服務API 向開發者提供HTTP接口,開發者可通過這些接口使用各類型的地理數據服務,返回結果支持JSON和XML格式。
智能三角警示牌開啟后,可由北斗衛星導航系統在全球范圍內實時為各類用戶提供精確定位、導航、授時服務定位地圖的數據,短信提醒用戶事故發生地,用戶靈活規劃路線或者規避路線,為了防止放置警示牌時進一步造成人員傷亡,使用App遠程控制警示牌放至相應位置,從而避免二次事故發生。
本文設計的智能三角警示牌主要有:藍牙連接控制、北斗+GPS雙定位、LED發光組、三端互連、三方提醒的智能性能。
本文提出的基于北斗導航的智能警示牌是利用stm32F103RE 芯片來統籌協調各個模塊,使用低功耗藍牙模塊和5G 通信技術實現對警示牌的無線控制,利用BC35模塊實現北斗+GPS雙精定位,通過為智能警示牌添加LED燈發光組更好地實現警示后方車輛。
1)三方提醒:地圖用戶通過接收短信提醒,選擇新的路線或者小心駕駛,注意安全。后臺定位系統通過北斗返回的數據將事故發生地展示在地圖上,以便進行交通管理,統計事故發生地。提醒交警和救援人員,詢問車主是否需要交警以及救援人員的幫助,快速處理交通事故、精準救援。
2)多途徑推送告知:事件同時分發,多途徑告知后方地圖用戶和交警及保險公司。通知信息可在地圖、后臺管理系統等相關平臺進行推送。
教師在APP上進行課程內容概要的總結,并請學生掃二維碼開展課程評價的調查問卷填寫。學生掃二維碼進入問卷星頁面,進行課堂評價。通過學生評價,知曉本課程的教學內容是否完整、教學方法是否合理、教學重難點是否突出和教學效果是否理想等,以便日后加以改善與提高。
3)警示距離加長:通過給普通的警示牌增加LED燈串,解決大霧、夜間或者特殊天氣導致反光效果差,車輛用戶辨識度低的問題。
4)BD高精定位自動回傳:設備支起,自動回傳位置信息至云端,北斗模塊定位鎖定事件出現位置。
5)遠程控制警示牌,保障人員安全:在警示牌的底部增加智能履帶小車,用戶通過多途徑連接手機端App,使用App遠程控制警示牌放至相應位置,保障人員安全。同時使用紅外避障模塊,使得履帶車更平穩可靠。
嵌入式端程序分為環境數據采集、系統控制和網絡三個模塊,這三個模塊各自針對不同的功能封裝了一組函數,使用這些函數可完成對經緯度數據采集工作;完成使用藍牙對智能小車的控制[4];實現通過NBIOT模塊接入網絡功能。本文因篇幅關系將只針對幾個重點函數進行介紹。其程序模塊圖嵌入式端程序模塊(如圖1所示)。
2.2.1 北斗+GPS模塊
主要用于小車精確定位,準確傳回定位點,加快救援工作與緊急避險。模塊電路圖(如圖2所示)。
2.2.2 MQTT協議NBIOT模塊
NBIOT 通信模塊是一款使用NB-IoT 網絡進行無線網絡數據傳輸的嵌入式終端[5]。NBIOT模塊用于無線連接云服務器,傳輸北斗數據。其廣覆蓋特點可以在快速及高速公路上連接5G信號。
通過步進電機驅動模塊控制智能小車的運動,準確全面控制智能小車運動的方向。小車有5個運動方向,前進、后退、左轉、右轉和停止,結合道路的路面狀況實時更新智能小車運動方向。
2.2.4 HC08藍牙模塊
HC-08 藍牙串口通信模塊主要用在用戶通過手機自帶的藍牙功能打開軟件發送數據,而智能小車上的藍牙模塊在接收到手機端發送的數據后,進行判斷,從而控制智能小車的運動狀態[6]。
2.2.5 紅外避障傳感器
該模塊利用紅外射線檢測運動方向是否遇到障礙物,當遇到障礙物時提前進行躲避,保證小車平穩移動。
2.2.6 LED燈串
LED燈串采用了紅色燈珠,提高了小車在黑夜或者特殊天氣的可視范圍。主要用于發生車輛事故時警示后方車輛。
在本次設計中,主程序主要在單片機的控制下,通過藍牙連接,來控制小車的移動[7]。在這個過程中小車所使用的HC08 藍牙模塊的初始值、各個變量的初始值以及藍牙模塊的UUID都需要都必須與主程序上的相互對應,單片機會在藍牙連接成功后,對從串口接受的數據進行讀取和分析,讀到的數據如果是F、B、L、R、S 則對應小車的前進、后退、左轉、右轉、暫停[8]。
本程序是基于Android 系統,所用的開發工具為Android Studio 集成開發工具。首先設計本手機端軟件界面方面考慮到用戶體驗感以及實用的便捷性,盡可能全面地實現程序功能,本程序對軟件界面設計做了優化界面設計,但是界面又簡潔易上手,有助于用戶快速操作上手。
3.2.1 手機界面程序設計
在Android Studio中新建一個空項目,然后通過創建Activity 活動,編寫.java 邏輯處理文件和.xml 樣式設置文件。設置采用Java語言為開發語言,在安卓系統中生成可運行的App,給用戶提供一個可視化并且界面簡單,操作易上手的藍牙小車的控制界面。首先用戶登錄后需要進行藍牙連接小車,結合用戶的需求控制小車,同時為用戶提供了系統咨詢。
3.2.2 手機監聽程序設計
首先小車的主控制界面控制移動按鈕是BUTTON按鈕綁定監聽事件,以便實現在藍牙連接成功后可以通過用戶點擊不同的按鈕,通過廣播發送對應移動按鈕的字符給藍牙模塊,每一個按鈕都有一個ID屬性,在主函數處理中使用了switch 語句,通過不同的ID 選擇不同的case,選擇藍牙所要發送的字符,在程序中需要寫入小車藍牙模塊的UUID,以便確保藍牙連接搜索時可以快速搜索到小車的藍牙地址。打開程序后,再打開小車的開關,打開軟件點擊菜單欄點擊藍牙打開,自動打開手機藍牙,點擊掃描藍牙,找到小車藍牙地址點擊連接,連接成功會彈出吐司彈框告訴用戶藍牙連接成功,可以遙控小車移動。其次有一個系統資訊按鈕也綁定了監聽事件,點擊后跳轉到另外一個Activity,資訊的主頁,再通過不同的IMAGEBUTTON空間來跳轉資訊詳情頁。
主要使用多個藍色點模擬正常車輛,利用函數判斷模擬的車輛是否在事故發生點的危險范圍內,如若接近,則再次使用短信接口將前方發生危險,注意規避的提醒消息發送給正在行駛過程的中的用戶,規避二次事故的發生。
本軟件Web 網頁端主要是北斗返回數據給服務器再通過地圖JS API搭建地圖平臺,接著獲取到與硬件相連的One Net 平臺的API-KEY,用C#網絡爬蟲和正則表達式提取到事故發生點的經緯度,通過ASP.NET Core MVC 架構將經緯度返回到地圖上,采用紅色點進行標記(如圖3 所示),使用圓圈動畫將事故發生點顯著標記,再使用短信接口將救援信息發送給用戶,方便用戶聯系到警務,救援。

圖3 地圖標點
Web 服務主要由Controller、Views、Models 三個文件夾構成,Controller文件夾包含了頁面請求,WebAPI接口功能,Views文件夾包含了前端頁面的搭建顯示,Models 包含了請求模型[9]。故障車輛的位置通過與ONENET 平臺的連接來返回數據。對故障車輛以及提醒短信的發送通過調用阿里云短信發送接口來實現。
本文介紹了基于北斗導航的智能三角警示牌的具體設計與實施方案。基于北斗導航的智能三角牌集成高精度定位服務,在汽車遇到拋錨、追尾等事故時,它能夠精準定位事故發生地并同步至地圖App提醒周邊車輛注意避讓,還能協助車主聯系交警、保險公司和救援單位等,能夠幫助車主更高效、安全地處理行車時遇到的突發事件。