邵澤杰 孫俊峰 陳靖康 鄭威
摘?要:隨著汽車的高速發(fā)展與大眾化,駕駛員群體規(guī)模變得越來越龐大。在此基礎上人們對汽車安全的關注度也越來越高,怎樣有效地減少交通事故,保護人們的生命財產(chǎn)安全就顯得尤為重要。針對這一現(xiàn)象設計了一款智能駕駛安全檢測系統(tǒng),對駕駛員的酒后駕駛與疲勞駕駛行為進行監(jiān)測和報警,檢測駕駛員健康數(shù)據(jù)。智能駕駛安全檢測系統(tǒng)的出現(xiàn),可以大幅度減少交通事故,保護駕駛員安全,同時實現(xiàn)萬物互聯(lián)。
關鍵詞:智能安全駕駛;STM32;鴻蒙操作系統(tǒng)
近幾年來我國的交通事業(yè)發(fā)展迅速,與此同時也帶來了安全隱患,每年發(fā)生交通事故幾十萬起,并且有著明顯的上升趨勢,這對人民的生命財產(chǎn)構成了巨大威脅。在這些交通事故中,由于酒后駕車引發(fā)的交通事故數(shù)量占 50%,酒駕成為交通事故的第一大“殺手”。此外,駕駛員的疲勞駕駛也是威脅到交通安全的一個重要因素,對于駕駛員來說迫切需要一個智能安全駕駛系統(tǒng)來檢測并提醒駕駛員、發(fā)出預警警告,有效減少此類原因引起的交通事故。
同時我們迎來了一個萬物互聯(lián)的時代,物聯(lián)網(wǎng)也越來越受到大家的青睞。萬物互聯(lián)將人、流程、數(shù)據(jù)和事物結合在一起,使得網(wǎng)絡連接變得更加相關、更有價值,把信息轉化為行動,給企業(yè)、個人和國家創(chuàng)造新的發(fā)展機遇,并帶來更加豐富的體驗。本項目希望借助鴻蒙操作系統(tǒng)連接各種智能終端設備,做到實時監(jiān)測駕駛員行為和健康數(shù)據(jù),切實保護駕駛員安全。
1 系統(tǒng)整體結構
1.1 整體功能設計
本項目采用功能強大的單片機STM32 來驅動各類傳感器,在檢測到數(shù)值偏離閾值時,使用 GSM 芯片進行報警和自動撥號,系統(tǒng)成本較低且實用性廣泛。在駕駛員行為監(jiān)測方面,使用了 OpenCV開源計算機視覺庫,作為最流行的計算機視覺庫,它擁有 400 多個圖像處理函數(shù),涉及范圍面廣,執(zhí)行速度有可觀的表現(xiàn),可以更好地處理行駛過程中的動態(tài)行為。智能駕駛監(jiān)測系統(tǒng)整體架構如圖 1 所示。
(1)通過在車內(nèi)安裝酒精傳感器,實現(xiàn)對駕駛員是否存在酒駕行為進行判斷,如若存在酒駕行為,發(fā)出警告并自動撥號聯(lián)系家屬。
(2)通過車內(nèi)加裝攝像頭,判斷駕駛員的實時行整體功能設計為狀態(tài),如閉眼、打哈欠、瞌睡點頭等,并發(fā)出語音警告。
(3)搭建可穿戴設備,測量駕駛員的各項健康指標。
(4)將以上監(jiān)測到的駕駛員健康指標數(shù)據(jù)匯總并生成健康報表,如若發(fā)生異常,則自動撥號聯(lián)系家屬并上傳實時位置。
1.2 具體功能實現(xiàn)
(1)酒后駕駛監(jiān)測系統(tǒng)
①酒精檢測具體實現(xiàn)流程如圖 2 所示。
(2)駕駛員行為狀態(tài)監(jiān)控系統(tǒng)
①視覺疲勞檢測:基于 dlib 人臉識別 68 特征點檢測,通過 openCV 做灰度化處理,檢測人眼位置信息,檢測眼睛長 / 寬是否大于閾值,判斷其是否存在疲勞駕駛。
②打哈欠疲勞檢測:獲取人嘴的位置信息,通過坐標點的距離來判斷是否張嘴及張嘴時間,從而確定人是否存在打哈欠。
③點頭疲勞檢測:獲取實時頭部姿態(tài)的旋轉角度判斷駕駛員是否處于打瞌睡狀態(tài)。
具體實現(xiàn)的駕駛行為狀態(tài)監(jiān)測主界面如圖 3 所示。
(3)智能可穿戴設備
血氧心跳等健康監(jiān)測流程如圖 4 所示。
(4)智能終端
基于 vue 框架,通過軟件 java script 編寫的一個小程序,接收采集到的數(shù)據(jù)和駕駛員的實時定位信息。
2 硬件結構組成
系統(tǒng)所需硬件資源:用來控制各個模塊的 STM32F103 單片機、采集數(shù)據(jù)的各種傳感器、實現(xiàn)物聯(lián)網(wǎng)的ESP8266 芯片、SIM900A 撥號模塊、采集人臉數(shù)據(jù)的樹莓派以及智能終端等部分。系統(tǒng)所需具體硬件結構及其關系如圖 6 所示。
(1)酒精檢測
通過 STM32 單片機控制 MQ-3 酒精乙醇傳感器,檢測駕駛員是否存在酒駕行為。MQ-3 酒精乙醇傳感器對酒精的靈敏度高,可以抵抗汽油、煙霧、水蒸氣的干擾,可檢測多種濃度酒精氣氛,是一款適合多種應用的低成本傳感器。
在駕駛員車內(nèi)安裝酒精傳感器,準確地測量駕駛人是否存在酒駕行為,若存在則聯(lián)系駕駛員親屬,避免危險的發(fā)生。
(2)人臉疲勞采集
樹莓派可以像一臺運行 Linux 系統(tǒng)的臺式計算機或者便攜式計算機那樣,使用 openCV 庫進行圖像處理。
(3)血氧心跳數(shù)據(jù)采集
通過 MAX30102 實現(xiàn)對心率值和血氧飽和度的采集,并在智能穿戴設備上顯示,當檢測的數(shù)據(jù)超過設定閾值時發(fā)出警告并通過 SIM900 撥號,由 ESP8266 將數(shù)據(jù)通過 Wi-Fi 傳輸?shù)椒掌鳌?/p>
MAX30102 內(nèi)部集成了一整套完整信號采集電路,用戶只需通過單片機的 IIC 接口,對 MAX30102 內(nèi)部的寄存器進行讀寫操作,就可以得到轉換后的光強度數(shù)值。最后通過相應的處理算法,計算出心率值和血氧飽和度。
ESP8266 是一個完整且自成體系的 Wi-Fi 網(wǎng)絡解決方案 , 能夠獨立運行,也可以作為 slave 搭載于其他Host 運行。ESP8266 強大的片上處理和存儲能力 ,使其可通過 GPIO 集成傳感器及其他應用的特定設備 , 實現(xiàn)了最低的前期開發(fā)和運行中最少占用系統(tǒng)資源。
Wi-Fi 和服務器連接方法 / 步驟。
第一步:首先打開串口助手,連接好無線模塊。
第二步:發(fā)送AT+RST重啟模塊。
第三步:發(fā)送 AT+CIPCLOSE 關閉 TCP/UDP/SSL傳輸。
第四步:發(fā)送 AT+CWMODE=1 設置 Wi-Fi 模式為Station 模式。
第五步:發(fā)送 AT+CWDHCP=1 設置 DHCP。
第六步:發(fā)送 AT+CWJAP=“無線網(wǎng)絡名”,“無線網(wǎng)絡密碼”加入 Wi-Fi。
第七步:發(fā)送 AT+CIPSTART=“TCP”,"broker.emqx.io",1883 連接服務器。
3 軟件程序設計
3.1 開發(fā)工具
基于 c 語言、java script、Python 等編程語言,結合使用多種軟件實現(xiàn)系統(tǒng)功能。其中主要使用 keil5 提供清晰直觀的操作界面,使用起來十分的輕松便捷,并具備編譯器、編譯器、安裝包和調試跟蹤。
3.2 數(shù)據(jù)采集部分
(1)酒精檢測
代碼的設計思路:通過 MQ-3氣體傳感器模塊檢測酒精濃度并發(fā) 送 模 擬 電 壓, 這 樣 可 以 利 用STM32的ADC模塊采樣收集數(shù)據(jù),將模擬量轉化為數(shù)字量,計算酒精濃度。
判斷其檢測濃度是否超過設定閾值,超過閾值則發(fā)出警告并實現(xiàn)自動撥號。
(2)疲勞檢測
代碼設計思路:首先初始化臉部位置和臉部特征位置的檢測器,打開攝像頭,從視頻流讀取圖片,進行灰度化處理;將獲取臉部特征位置的信息并轉換為 array 數(shù)組的格式,使用矩形框標注人臉;檢測人眼位置信息;檢測眼睛長 / 寬是否大與閾值;獲取人嘴的位置信息;通過坐標點的距離來判斷是否張嘴及張嘴時間;獲取實時頭部姿態(tài)的旋轉角度 Yaw,Pitch 和 Roll。通過這一系列動作檢測駕駛員狀態(tài),并設定閾值,超出則發(fā)出語音警告。
(3)血氧心跳采集
代碼設計思路:通過 MAX30102 模塊獲取心率和血氧的數(shù)據(jù),將測得的數(shù)據(jù)通過 I2C 傳送至 MCU 并通過一系列的算法計算,將計算后的數(shù)據(jù)顯示在 OLED 屏幕上。之后通過 MQTT 將數(shù)據(jù)上傳至公共服務器,生成健康報表發(fā)至用戶 APP,同時通過 SIM900A 模塊的短信及撥號功能聯(lián)系用戶手機。
驅動 MAX30102 模塊重要的是寄存器函數(shù)和讀寄存器數(shù)據(jù)的函數(shù),并初始化模塊進行數(shù)據(jù)采集,最后計算。MAX30102 傳感器上具有紅光 (660 nm) 和紅外光(880 nm) 兩個 LED, 人體氧合血氧蛋白和非氧合血氧蛋白對這兩個不同波長的光吸收率的差異較為明顯,可以據(jù)此得出血氧飽和度。
(4)智能終端
將收集到的數(shù)據(jù)發(fā)送給 ESP8266,再通過 ESP8266將數(shù)據(jù)傳給服務器,服務器將其發(fā)送給訂閱的用戶和小程序,實現(xiàn)數(shù)據(jù)傳輸,用戶可以實時查看各項數(shù)據(jù)指標。
4 結語
基于鴻蒙的智能安全駕駛監(jiān)測系統(tǒng)除了可以實現(xiàn)操作的流暢性,最重要的是可以把搭載了鴻蒙操作系統(tǒng)的智能設備全部連接起來。駕駛員的親人能夠實時監(jiān)測駕駛員的行駛過程、健康狀況等信息,能將有關駕駛員的安全信息做到共享,并及時為駕駛員提供預警服務,從而減少因酒駕和疲勞駕駛造成的交通事故,保障駕駛員的生命財產(chǎn)安全。同時,本智能安全駕駛監(jiān)測系統(tǒng)安裝簡單,成本較低,有很好的實用性。
參考文獻:
[1] 郭德財,彭石林.基于海思芯片與鴻蒙操作系統(tǒng)的智慧灌溉系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2022,22(03):11-15.
[2] 王秀,周楓曉,劉保羅,等.基于Dlib庫的駕駛員疲勞駕駛檢測系統(tǒng)[J].物聯(lián)網(wǎng)技術,2021,11(12):26-29.