張婭琳,吳偉強(qiáng),李文熙
(深圳職業(yè)技術(shù)學(xué)院 電子與信息通信工程學(xué)院,廣東 深圳 518000)
目前,機(jī)動(dòng)車已成為人們不可或缺的交通工具,車內(nèi)環(huán)境安全也引發(fā)了人們的重視。此外,近年來車內(nèi)一氧化碳中毒、二氧化碳超標(biāo)引發(fā)窒息或者高溫致死的事件頻發(fā),造成了極其惡劣的社會(huì)影響。認(rèn)識(shí)到上述問題的嚴(yán)重性,目前面向車載應(yīng)用的車內(nèi)有害氣體監(jiān)測(cè)、凈化和預(yù)警的研究逐漸受到重視[1-10]。
通過調(diào)查研究發(fā)現(xiàn),現(xiàn)有的技術(shù)能夠?qū)崿F(xiàn)部分或者全面車載環(huán)境的檢測(cè)和/或本地預(yù)警[1-5],部分技術(shù)還能進(jìn)行車窗控制或空氣凈化[4-5,10],但由于機(jī)動(dòng)車控制協(xié)議通常并非互聯(lián)互通,因此,車窗控制和空氣凈化涉及到改造升級(jí)機(jī)動(dòng)車控制系統(tǒng),還需要考慮車載設(shè)備安裝涉及的安全、舒適、美觀等問題。其次,目前大部分機(jī)動(dòng)車都不具備遠(yuǎn)程監(jiān)控車載環(huán)境及控制車窗的功能。因此,急需研發(fā)一款獨(dú)立于機(jī)動(dòng)車動(dòng)力類型的車載環(huán)境監(jiān)控及安全預(yù)警系統(tǒng),以全面檢測(cè)并實(shí)時(shí)監(jiān)測(cè)車內(nèi)環(huán)境信息并預(yù)警。要實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和預(yù)警,現(xiàn)有技術(shù)提出采用蜂窩移動(dòng)通信的GPRS、4G等實(shí)現(xiàn)車載環(huán)境的短信通知預(yù)警[9-10]。但基于運(yùn)營商移動(dòng)通信終端需與基站保持實(shí)時(shí)尋呼連接的需求,存在耗電量大、成本高等問題。而面向車載環(huán)境監(jiān)測(cè)的應(yīng)用場景,傳輸速率無需過高,功耗和低成本是設(shè)計(jì)考慮的主要因素。NB-IoT是一種低功耗、低成本、廣覆蓋的物聯(lián)網(wǎng)解決方案,因此,本文基于NB-IoT進(jìn)行車載環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
終端設(shè)備檢測(cè)到車載環(huán)境信息后,通過NB-IoT無線傳輸?shù)竭h(yuǎn)端云平臺(tái),車主和相關(guān)人員可通過手機(jī)APP和云平臺(tái)網(wǎng)頁實(shí)時(shí)查看車內(nèi)環(huán)境信息。當(dāng)檢測(cè)結(jié)果超出人體安全門限值時(shí),可通過本地預(yù)警、短信預(yù)警和APP通知等預(yù)警方式,及時(shí)提醒車主和有關(guān)人員關(guān)注車內(nèi)狀態(tài),采取措施有效避免有害氣體中毒或者高溫傷亡事故。
本研究旨在實(shí)現(xiàn)一種低功耗車載環(huán)境動(dòng)態(tài)監(jiān)測(cè)和一氧化碳、二氧化碳等有害氣體中毒預(yù)警及高溫預(yù)警的三級(jí)預(yù)警系統(tǒng)。系統(tǒng)架構(gòu)如圖1所示,主要包含微控制模塊、感知識(shí)別模塊、本地預(yù)警模塊、本地顯示模塊、無線通信模塊、電源模塊、云平臺(tái)模塊、手機(jī)APP模塊。
圖1 車載氣體監(jiān)測(cè)預(yù)警系統(tǒng)邏輯框圖
微控制模塊是監(jiān)測(cè)預(yù)警系統(tǒng)的中樞,它控制傳感模塊進(jìn)行環(huán)境信息監(jiān)測(cè)和人體紅外識(shí)別。同時(shí),微控制模塊控制顯示模塊進(jìn)行檢測(cè)結(jié)果的顯示,并根據(jù)檢測(cè)結(jié)果控制本地預(yù)警模塊進(jìn)行聲光報(bào)警。此外,微控制模塊將檢測(cè)結(jié)果發(fā)送到無線通信模塊。
感知識(shí)別模塊包含傳感模塊和紅外識(shí)別模塊。其中,傳感模塊主要包含溫濕度傳感模塊、一氧化碳檢測(cè)模塊、二氧化碳檢測(cè)模塊及其他有害氣體檢測(cè)模塊。傳感模塊與微控制模塊可進(jìn)行有線或無線連接。紅外識(shí)別模塊主要通過紅外熱釋電傳感器檢測(cè)車內(nèi)是否有生物滯留在車內(nèi)。
顯示模塊通過OLED或者LCD顯示本地檢測(cè)的溫濕度數(shù)據(jù)和氣體濃度。
預(yù)警模塊進(jìn)行本地聲光報(bào)警。當(dāng)檢測(cè)的溫度數(shù)值或者有害氣體濃度超標(biāo)時(shí),啟動(dòng)聲光報(bào)警,引起車內(nèi)、車外人員的警覺,特別是引起機(jī)動(dòng)車周圍人員的警覺,從而采取相應(yīng)的救援措施。
無線通信模塊將采集的信息通過無線通信發(fā)送到云平臺(tái)進(jìn)行遠(yuǎn)程監(jiān)控。無線通信可以采用NB-IoT技術(shù)或者蜂窩移動(dòng)通信技術(shù)。在傳統(tǒng)燃油車中推薦使用NB-IoT無線通信,在新能源車中可以考慮使用4G/5G移動(dòng)通信。
電源模塊為微控制模塊、傳感模塊、人體紅外識(shí)別模塊、無線通信模塊、本地顯示模塊、本地聲光預(yù)警模塊供電。電源模塊可采用機(jī)動(dòng)車電源接口充電的方式和/或電池供電的方式。當(dāng)紅外模塊識(shí)別出車內(nèi)無人時(shí),可以采用系統(tǒng)休眠的方式以降低能耗,延長系統(tǒng)的續(xù)航時(shí)間。
微控制模塊、傳感模塊、紅外識(shí)別模塊、本地顯示模塊、預(yù)警模塊和電源模塊均集成在一個(gè)終端模塊中,便于安裝和使用。
云平臺(tái)模塊用于在云平臺(tái)上動(dòng)態(tài)顯示和存儲(chǔ)檢測(cè)的車載環(huán)境信息。當(dāng)車內(nèi)溫度過高或者有害氣體濃度超標(biāo)時(shí),云平臺(tái)將發(fā)送短信通知車主和相關(guān)人員。
手機(jī)APP模塊通過訪問云平臺(tái)獲取車載環(huán)境信息并顯示在手機(jī)APP上。同時(shí),當(dāng)車內(nèi)溫度過高或者有害氣體濃度超標(biāo),手機(jī)APP將彈出預(yù)警消息,安裝相應(yīng)手機(jī)APP的車主和相關(guān)人員便可及時(shí)了解車內(nèi)環(huán)境信息以便及時(shí)開展救援。
從系統(tǒng)設(shè)計(jì)的角度看,在中型及大型巴士中,單個(gè)感知識(shí)別模塊紅外輻射范圍難以覆蓋整個(gè)車體,因此,可以考慮部署多個(gè)感知識(shí)別模塊使人體識(shí)別和環(huán)境信息檢測(cè)更加準(zhǔn)確。在多個(gè)感知識(shí)別模塊部署后,考慮到車載布線的問題,感知識(shí)別模塊可通過低功耗藍(lán)牙或者ZigBee低功耗無線通信的方式將傳感信息發(fā)送給主控模塊。
黨風(fēng)和社會(huì)風(fēng)氣是任何人和組織干事創(chuàng)業(yè)的社會(huì)條件。風(fēng)氣好,人人受益,百業(yè)俱興;風(fēng)氣壞,人人受害,事事受阻。因此,加強(qiáng)軍隊(duì)黨的領(lǐng)導(dǎo)和黨的建設(shè),必須打好打贏正風(fēng)反腐這一硬仗。
車載環(huán)境監(jiān)測(cè)預(yù)警系統(tǒng)硬件模塊框圖如圖2所示??刂颇K主要基于STM32F103單片機(jī)模塊進(jìn)行信息采集和處理、本地顯示及預(yù)警、NB-IoT模塊的無線通信控制以及為各模塊提供供電電源;供電電源采用USB方式充電供電;傳感器模塊主要包含MQ-7一氧化碳傳感器模塊,CCS811二氧化碳模塊、DTH11溫濕度模塊和人體紅外模塊HC-SR501;無線通信模塊采用NB-IoT模組M5311,與控制模塊通過串口進(jìn)行命令和數(shù)據(jù)的交互;顯示模塊采用9.6寸的OLED模塊,聲光報(bào)警模塊采用蜂鳴器和LED實(shí)現(xiàn)本地聲光報(bào)警。
圖2 車載環(huán)境監(jiān)測(cè)預(yù)警系統(tǒng)硬件模塊框圖
圖3~圖7是主控芯片與主要模塊的電路連接原理圖。由于篇幅限制,晶振電路、復(fù)位電路、下載電路、溫濕度電路等模塊的電路原理圖不再贅述。
圖3 主控芯片電路原理
圖4 電源模塊原理
圖5 CO檢測(cè)電路原理
圖6 CO2檢測(cè)電路原理
圖7 NB-IoT模塊電路原理
電源模塊通過USB接口為STM32最小微控制系統(tǒng)提供5 V電源,并通過AMS1117-3.3正向低壓降穩(wěn)壓器將電源電壓從5 V降為3.3 V,為需要3.3 V電源輸入的模塊供電。
圖5為MQ-7一氧化碳檢測(cè)模塊連接圖。模擬輸出AO引腳連接主控芯片的PC3引腳作為ADC的輸入,通過ADC轉(zhuǎn)換將MQ-7產(chǎn)生的電化學(xué)信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后根據(jù)MQ-7濃度與電壓關(guān)系表得到一氧化碳濃度值。
圖6為CCS811二氧化碳檢測(cè)模塊的連接圖。CCS811是一款低功耗空氣質(zhì)量傳感器,使用I2C總線通信。時(shí)鐘信號(hào)和數(shù)據(jù)信號(hào)引腳SCL和SDA分別連接主控芯片的GPIO引腳。CCS811引腳65(WAK)為低電平時(shí)SDA、SCL才能正常通信;引腳6(INT)連接主控芯片PA7相當(dāng)于復(fù)位引腳。
圖7為M5311 NB-IoT模塊連接原理圖。通過串口RXD/TXD引腳連接主控芯片的串行通信復(fù)用引腳。PWRKEY連接主控芯片GPIO進(jìn)行NB模組開關(guān)機(jī)控制。
程序首先完成各模塊的初始化:包括一氧化碳傳感器MQ-7模塊初始化、二氧化碳傳感器CCS811模塊初始化、溫濕度傳感器DTH10模塊初始化、NB-IoT模組M5311初始化、HC-SR501人體紅外模塊初始化、OLED顯示初始化、蜂鳴器和LED指示燈初始化、定時(shí)器中斷初始化、電腦與終端模塊的串口通信(USART1)初始化、嵌入式控制模塊M5311 NB-IoT串口通信(USART2)初始化等。嵌入式終端軟件流程如圖8所示。
圖8 嵌入式終端軟件流程
終端設(shè)備上電初始化后,循環(huán)判斷檢測(cè)標(biāo)志是否為1。如果檢測(cè)標(biāo)志為1,則啟動(dòng)人體紅外模塊,否則傳感器模塊和NB模塊進(jìn)入空閑或低功耗模式。當(dāng)檢測(cè)周期的定時(shí)器中斷或者外部中斷(本地按鍵、APP或云平臺(tái)APP指令)發(fā)生時(shí),檢測(cè)標(biāo)志置1,系統(tǒng)進(jìn)入檢測(cè)模式。
啟動(dòng)紅外模塊和CO、CO2及溫濕度傳感器進(jìn)行檢測(cè),并將檢測(cè)信息顯示在OLED上,同時(shí),通過NB-IoT模塊將傳感器檢測(cè)結(jié)果發(fā)送到OneNET云平臺(tái)。如果檢測(cè)結(jié)果超出預(yù)先設(shè)定的安全閾值,則啟動(dòng)聲光報(bào)警模塊進(jìn)行本地預(yù)警;同時(shí),在云平臺(tái)端啟動(dòng)規(guī)則引擎進(jìn)行手機(jī)短信通知預(yù)警或者后臺(tái)消息隊(duì)列通知預(yù)警。
NB模塊云平臺(tái)數(shù)據(jù)交互需要通過嵌入式模塊發(fā)送AT指令進(jìn)行設(shè)置。CO濃度數(shù)據(jù)、CO2濃度數(shù)據(jù)、溫濕度數(shù)據(jù)直接封裝在AT+MIPLNOTIFY指令中,由嵌入式控制器STM32F103 MCU發(fā)送給NB模組,再由NB模組發(fā)送至OneNET云服務(wù)器。表1所列為NB模塊與云平臺(tái)交互主要的AT指令。嵌入式模塊與NB模塊通過串口通信實(shí)現(xiàn)AT指令的發(fā)送。
表1 NB模塊AT指令設(shè)置
本系統(tǒng)采用M5311 NB-IoT模組進(jìn)行遠(yuǎn)距離無線通信,采用中國移動(dòng)物聯(lián)網(wǎng)開放平臺(tái)(簡稱OneNET)進(jìn)行遠(yuǎn)程云平臺(tái)監(jiān)控。OneNET平臺(tái)是中移物聯(lián)網(wǎng)有限公司基于物聯(lián)網(wǎng)技術(shù)和產(chǎn)業(yè)特點(diǎn)打造的開放平臺(tái)和生態(tài)環(huán)境,適配各種網(wǎng)絡(luò)環(huán)境和協(xié)議類型,支持各類傳感器和智能硬件快速接入并進(jìn)行大數(shù)據(jù)服務(wù),提供豐富的API和應(yīng)用模板以支持各類行業(yè)應(yīng)用和智能硬件的開發(fā),能夠有效降低物聯(lián)網(wǎng)應(yīng)用開發(fā)和部署成本。
登錄OneNET云平臺(tái)(https://open.iot.10086.cn/)。OneNET平臺(tái)提供兩種設(shè)備接入管理方式:一種是以數(shù)據(jù)流形式提供以NB-IoT/MQTT物聯(lián)網(wǎng)套件為核心的設(shè)備接入管理服務(wù)方式,另一種是以物模型形式提供一站式設(shè)備接入管理、應(yīng)用開發(fā)方式。本系統(tǒng)設(shè)計(jì)采用基于數(shù)據(jù)流形式的產(chǎn)品設(shè)計(jì)。
添加產(chǎn)品具體參數(shù)如圖9所示。
圖9 基于數(shù)據(jù)流方式添加產(chǎn)品
添加產(chǎn)品后,需要添加設(shè)備,相關(guān)信息如圖10所示。需要輸入SIM卡上的IMEI和IMSI碼。其中IMEI用于NBIoT模組鑒權(quán),IMSI則為SIM卡識(shí)別碼。
圖10 云平臺(tái)添加設(shè)備
當(dāng)NB-IoT模組初始化完畢后,在設(shè)備列表-詳情標(biāo)簽下,可以看到模組上線與否的信息,數(shù)據(jù)點(diǎn)由終端節(jié)點(diǎn)通過NBIoT模組發(fā)送AT指令時(shí)創(chuàng)建。如圖11所示,設(shè)備資源列表欄可觀測(cè)到所創(chuàng)建的對(duì)象,以及上報(bào)的實(shí)例、屬性等信息。
圖11 資源列表
云平臺(tái)對(duì)接收的CO濃度、CO2濃度、溫度或者濕度值進(jìn)行分析并設(shè)置規(guī)則引擎。當(dāng)檢測(cè)結(jié)果超標(biāo)時(shí),可以通過短信發(fā)送給指定手機(jī)用戶進(jìn)行預(yù)警,也可設(shè)置消息隊(duì)列進(jìn)行預(yù)警。圖12為系統(tǒng)測(cè)試配置的規(guī)則引擎示例。實(shí)際應(yīng)用中需要根據(jù)健康指標(biāo)科學(xué)地設(shè)置相關(guān)預(yù)警門限。
圖12 設(shè)置規(guī)則引擎進(jìn)行短信息預(yù)警配置示例
基于Uni-APP前端開發(fā)框架設(shè)計(jì)跨平臺(tái)的監(jiān)控APP,可同時(shí)發(fā)布在iOS、Android、Web(響應(yīng)式)以及小程序等平臺(tái),實(shí)現(xiàn)一次開發(fā),多端部署,大大縮短了開發(fā)時(shí)長。圖13所示為APP設(shè)計(jì)的基本流程。
根據(jù)圖13的開發(fā)流程,使用HbuilderX軟件進(jìn)行代碼編寫、編譯及APP打包。圖14所示為APP測(cè)試界面,可實(shí)現(xiàn)多用戶同時(shí)監(jiān)測(cè)車內(nèi)環(huán)境信息。
圖13 APP設(shè)計(jì)基本流程
圖14 APP運(yùn)行界面展示
本文設(shè)計(jì)了一種基于NB-IoT的車載環(huán)境動(dòng)態(tài)監(jiān)測(cè)和三級(jí)預(yù)警系統(tǒng),主要包含微控制模塊、感知識(shí)別模塊、本地預(yù)警模塊、本地顯示模塊、NB無線通信模塊、云平臺(tái)模塊、手機(jī)APP模塊。系統(tǒng)在STM32微控制器的控制下,進(jìn)行車內(nèi)CO、CO2和溫濕度等環(huán)境信息的采集和本地顯示,并通過串口向NB模塊發(fā)送AT指令,將傳感器采集的結(jié)果發(fā)送到OneNET云平臺(tái)。同時(shí),設(shè)計(jì)了一款跨平臺(tái)APP進(jìn)行多用戶環(huán)境信息的動(dòng)態(tài)監(jiān)測(cè)。當(dāng)CO、CO2或者溫濕度超過預(yù)先設(shè)定的安全閾值時(shí),進(jìn)行本地聲光預(yù)警,并通過云平臺(tái)進(jìn)行短信通知預(yù)警和APP彈窗預(yù)警。本系統(tǒng)基本實(shí)現(xiàn)了車載環(huán)境信息的動(dòng)態(tài)監(jiān)測(cè)和預(yù)警,后續(xù)還需要在PCB設(shè)計(jì)、低功耗管理、電池續(xù)航、數(shù)據(jù)分析、外觀設(shè)計(jì)等方面做進(jìn)一步優(yōu)化。此外,本系統(tǒng)還可以搭載其他有害氣體檢測(cè)傳感器和酒精測(cè)量傳感器,進(jìn)行車載環(huán)境的全面檢測(cè)和安全預(yù)警。
物聯(lián)網(wǎng)技術(shù)2022年12期