◆山東省濟(jì)南中學(xué)高二(五)班 陳 喆 張紹駿
近日,一段“電動(dòng)車(chē)進(jìn)入電梯后突發(fā)起火爆燃”的視頻在網(wǎng)上流傳。視頻中,一男子推著電動(dòng)車(chē)進(jìn)電梯后,電動(dòng)車(chē)突然起火,火焰瞬間吞噬了電梯間。這樣的意外原本可以避免。
生活中,人們?yōu)榱朔辣I、充電,會(huì)將電動(dòng)車(chē)推進(jìn)電梯上樓。為了安全,物業(yè)會(huì)禁止電動(dòng)車(chē)進(jìn)電梯,并規(guī)范停放。但仍有人心存僥幸,不顧安全隱患,將電動(dòng)車(chē)推進(jìn)電梯上樓。
如何才能有效監(jiān)測(cè)、及時(shí)勸阻這一行為?我們對(duì)此進(jìn)行了探究。
現(xiàn)有的監(jiān)測(cè)方法主要是通過(guò)搭建局域網(wǎng)絡(luò)系統(tǒng),將多個(gè)監(jiān)控畫(huà)面回傳至機(jī)房進(jìn)行統(tǒng)一監(jiān)測(cè),根據(jù)監(jiān)測(cè)結(jié)果在電梯轎廂中發(fā)出語(yǔ)音警報(bào)。這種監(jiān)測(cè)方式所需的攝像頭數(shù)量多,極度浪費(fèi)服務(wù)器資源。此外,該方式僅支持相同公司相同解決方案的攝像頭與主機(jī)相互通信,對(duì)于非新建小區(qū)來(lái)說(shuō),要想獲得較好的監(jiān)控效果,需要更換全套安防設(shè)備,成本較高。
我們?cè)O(shè)計(jì)采用集中式的系統(tǒng)結(jié)構(gòu),既解決了監(jiān)測(cè)系統(tǒng)需大面積部署、覆蓋的難題,又降低了終端成本,提高終端部署的可行性。在完成部署后,各項(xiàng)設(shè)備與管理員可相互通信,能監(jiān)測(cè)監(jiān)控范圍內(nèi)是否有電動(dòng)車(chē)進(jìn)入電梯,并將結(jié)果呈現(xiàn)在可視化終端及云端上,通過(guò)短信通知有關(guān)責(zé)任人。
硬件系統(tǒng)由OpenMV、ArduinoMega2560開(kāi)發(fā)板、ESP8266模塊、正點(diǎn)原子ATK-GM510 4G通信模塊構(gòu)成。
邊緣計(jì)算設(shè)備OpenMV進(jìn)行圖像采集和視覺(jué)識(shí)別,ArduinoMega2560開(kāi)發(fā)板作為主控板與4G通信模塊,與ESP8266模塊通信,實(shí)現(xiàn)遠(yuǎn)程控制和短信提示。
圖1 本項(xiàng)目使用的開(kāi)發(fā)板
當(dāng)電動(dòng)車(chē)監(jiān)測(cè)模塊(OpenMV) 識(shí) 別 有電動(dòng)車(chē)進(jìn)入電梯時(shí)會(huì)發(fā)送一個(gè)警報(bào)主題消息,ESP8266模塊通過(guò)互聯(lián)網(wǎng)與Blink平臺(tái)更新App信息,同時(shí),ArduinoMega2560開(kāi)發(fā)板與4G通信模塊進(jìn)行數(shù)據(jù)交換,最終將警示短信發(fā)送至目標(biāo)手機(jī)號(hào)。
在制作開(kāi)發(fā)過(guò)程中,我們首先遇到的難題是PIN口數(shù)據(jù)紊亂、PIN口高低電平讀取值異常,后來(lái)查閱相關(guān)資料得知,由于ESP8266開(kāi)發(fā)板的PIN口原理是將MCU中MOS管的管腳引出,一旦管腳懸空,芯片邏輯門(mén)無(wú)法正確識(shí)別,這時(shí),只要將管腳通過(guò)電阻下拉至共地開(kāi)發(fā)板的PIN口即可。
我們?cè)O(shè)想使用ESP8266接入公網(wǎng),向云服務(wù)商服務(wù)器發(fā)送短信接口api的POST請(qǐng)求,后來(lái)發(fā)現(xiàn)以ESP8266的編碼能力無(wú)法加密發(fā)送https(有效但成功率極低),暫無(wú)性能更好的ESP32,所以只好加入ATK_GM510 4G通信模塊發(fā)送短信和Arduino作控制板。
圖2 系統(tǒng)流程圖
圖3 張紹駿在開(kāi)發(fā)4G模塊
圖4 半成品
我們?cè)谘芯慷绦拍K對(duì)其進(jìn)行串口對(duì)接時(shí),出現(xiàn)了一個(gè)致命問(wèn)題——串口亂碼,在查閱大量資料后問(wèn)題仍未解決,我們?yōu)榇死_數(shù)天,一度想要放棄。直到偶然想到查看Arduino開(kāi)發(fā)板原理圖時(shí)才發(fā)現(xiàn),由于Arduino uno的晶振為16 MHz,芯片性能較差,串口波特率115 200 Hz,所以造成在程序中使用多個(gè)高頻串口造成串口輸出異常,改用運(yùn)行頻率更高的ATMELmega2560后問(wèn)題解決。
發(fā)送16進(jìn)制的串口通信數(shù)據(jù)中,進(jìn)制轉(zhuǎn)換也是一大難點(diǎn)。為此,我們查閱了大量相關(guān)資料,調(diào)試后發(fā)現(xiàn),如需發(fā)送16進(jìn)制數(shù)需調(diào)用Serial.write而非println函數(shù),我們?nèi)岳^續(xù)學(xué)習(xí)相關(guān)知識(shí),練好基本功。
基于OpenMV+TensorFlowLite的電動(dòng)車(chē)監(jiān)測(cè)方法能有效降低邊緣計(jì)算設(shè)備使用維護(hù)成本,提高識(shí)別精確度。使用經(jīng)過(guò)量化的TensorFlowLite模型能以5 fps~10 fps的幀速率進(jìn)行實(shí)時(shí)離線監(jiān)測(cè),在部署時(shí)僅需要將設(shè)備接入電源即可,無(wú)需拆除或升級(jí)現(xiàn)有的安防設(shè)備。
圖5 陳喆在開(kāi)發(fā)OpenMV模塊
圖6 App界面
圖7 發(fā)送短信至目標(biāo)手機(jī)號(hào)
本系統(tǒng)實(shí)現(xiàn)成本低,技術(shù)限制少,可推廣使用,優(yōu)于目前主流的集群式電動(dòng)車(chē)識(shí)別警示設(shè)備。同時(shí),對(duì)于不聽(tīng)從勸導(dǎo)的電動(dòng)車(chē)主,負(fù)責(zé)人在收到短信提醒后,可上門(mén)對(duì)其進(jìn)行警告或處罰,優(yōu)于目前市面上流行的語(yǔ)音提示等方法。