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