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