冉卓衡
(天津工業(yè)大學(xué),天津 300387)
2020年初,全球范圍內(nèi)爆發(fā)的新冠疫情改變了許多家庭的生活方式。伴隨著國內(nèi)外疫情形勢的進(jìn)一步惡化,人們居家時(shí)間變得更長,因而室內(nèi)的環(huán)境狀況對(duì)人們?nèi)粘I畹挠绊懸仓饾u凸顯。PM是室內(nèi)空氣中主要的污染微粒之一。北京協(xié)和醫(yī)院的一項(xiàng)研究結(jié)果表明:PM短期暴露濃度每增加10 μg/m,心腦血管疾病患者的相關(guān)死亡風(fēng)險(xiǎn)增加0.63%。同時(shí)液化氣、苯、烷等可燃?xì)怏w的泄露也會(huì)給室內(nèi)環(huán)境帶來一定的危險(xiǎn)。此外溫度、濕度等常見的環(huán)境參數(shù)對(duì)人體也具有重要意義。參考相關(guān)研究數(shù)據(jù)可以得出:在人們所處環(huán)境中普遍存在著特定范圍的溫度和濕度舒適區(qū),當(dāng)人體脫離這個(gè)舒適區(qū)后就會(huì)感到一定的不適。正是人們對(duì)于周圍環(huán)境的這些實(shí)時(shí)感知需求,使得智能化環(huán)境檢測系統(tǒng)開始逐步走入千家萬戶。用戶在使用這類設(shè)備時(shí)只需插上插銷,就能實(shí)時(shí)地自動(dòng)采集周圍環(huán)境數(shù)據(jù)。操作系統(tǒng)在對(duì)采集數(shù)據(jù)進(jìn)行分析之后,會(huì)將處理結(jié)果實(shí)時(shí)地顯示在屏幕中。同時(shí)還基于物聯(lián)網(wǎng)云平臺(tái)實(shí)現(xiàn)了數(shù)據(jù)在云端的可視化,方便用戶能夠在任何設(shè)備或大屏上直接獲取簡潔明了的環(huán)境信息。
本系統(tǒng)所使用的開發(fā)板型號(hào)為中移OneNET麒麟座V3.0開發(fā)板,該開發(fā)板采用STM32F103RET6作為其主控芯片。連接好所有外設(shè)后的系統(tǒng)實(shí)物圖如圖1所示。
圖1 連接好外設(shè)后的系統(tǒng)實(shí)物圖
由圖1可知,中移麒麟座開發(fā)板不但板載資源豐富,而且引出了大量的通用模塊接口。其中板載的M6312通信模組與蜂鳴器主要負(fù)責(zé)數(shù)據(jù)通信與報(bào)警功能;板載的三軸加速度傳感器用于檢測設(shè)備的擺放是否符合要求,否則將不會(huì)進(jìn)行數(shù)據(jù)采集;板載的光照傳感器和溫濕度傳感器用于采集光照和溫濕度數(shù)據(jù)。所用到的外部傳感器模塊包括夏普GP2Y1014AU粉塵測量模塊和MQ-2氣體測量模塊,這些模塊都具有超低功耗、測量精度高等諸多優(yōu)勢。
GPRS有著較快的數(shù)據(jù)傳輸速度,該技術(shù)可以穩(wěn)定地傳送大容量的高質(zhì)量音頻與視頻文件,因而被廣泛用于數(shù)據(jù)通信、遠(yuǎn)程監(jiān)測、信息查詢等領(lǐng)域。M6312通信模組在插入了物聯(lián)網(wǎng)SIM卡后即可快速實(shí)現(xiàn)數(shù)據(jù)的聯(lián)網(wǎng)傳輸,不但能帶給設(shè)備一定的便攜性,也為設(shè)備與云端之間提供了快速且穩(wěn)定的數(shù)據(jù)交互環(huán)境。
系統(tǒng)中所使用的PM測量模塊是由夏普公司開發(fā)的型號(hào)為GP2Y1014AU的粉塵微粒檢測模塊。模塊的中部有一個(gè)空氣采樣孔,內(nèi)部還有一組紅外發(fā)光二極管與光電晶體管。紅外發(fā)光二極管會(huì)一直以特定頻率向外輻射紅外射線,當(dāng)空氣采樣孔內(nèi)流通的氣體里有微粒阻礙紅外射線傳播時(shí)就會(huì)產(chǎn)生漫反射現(xiàn)象。當(dāng)光電晶體管接收到經(jīng)反射后的紅外射線時(shí),輸出引腳所對(duì)應(yīng)的電壓信號(hào)就會(huì)隨之改變。該模組可在供電電壓為5~7 V和環(huán)境溫度為-10~65 ℃時(shí)正常工作,能夠偵測到粉塵顆粒的最小直徑為0.8 μm。環(huán)境中的微粒濃度每變化0.1 mg/m,所對(duì)應(yīng)輸出電壓的變化大小就為0.5 V。
DHT11是一款較為常用的溫濕度測量傳感器,它具有成本低、體積小和高精度等諸多優(yōu)勢。傳感器在0~50 ℃溫度范圍內(nèi)與5%~95%RH范圍內(nèi)正常工作,溫濕度的測量精度分別為±2 ℃和±5%RH。該模塊基于IC協(xié)議與單片機(jī)進(jìn)行數(shù)據(jù)通信,一次需發(fā)送40位的溫濕度測量數(shù)據(jù)。其中前16位數(shù)據(jù)與環(huán)境中的濕度測量結(jié)果相關(guān),中間16位數(shù)據(jù)與環(huán)境中的溫度測量結(jié)果相關(guān),其余8位數(shù)據(jù)用來校驗(yàn)溫濕度測量結(jié)果是否準(zhǔn)確。如果校驗(yàn)不通過,則代表模塊傳輸?shù)臄?shù)值為錯(cuò)誤的數(shù)值,單片機(jī)則不會(huì)進(jìn)行一次采樣。通過這種方式對(duì)環(huán)境中的溫度和濕度參數(shù)進(jìn)行采集與上傳,極大地增加了本系統(tǒng)的可靠性。
MQ-2氣體傳感器通??捎糜诩彝ズ凸S的氣體泄漏監(jiān)測裝置,所探測的范圍包括液化氣、氫氣、苯和烷等有害與可燃?xì)怏w,具有較好的重復(fù)性和穩(wěn)定性。當(dāng)傳感器與氣體接觸時(shí),晶粒間界處的勢壘會(huì)隨著氣體濃度的改變而發(fā)生變化,最終轉(zhuǎn)換成導(dǎo)電率的變化來實(shí)現(xiàn)對(duì)氣體參數(shù)的測量。該傳感器可在3.0~5.5 V電壓和-20~50℃溫度條件下正常工作。氣體的濃度越大,導(dǎo)電率越高,會(huì)使輸出電阻越低,從而使引腳輸出較大的模擬信號(hào)值。
本系統(tǒng)中的軟件部分基于Keil5集成開發(fā)系統(tǒng)和Windows操作系統(tǒng)開發(fā)。在搭建好相應(yīng)的的軟件開發(fā)環(huán)境后,就可以開始進(jìn)一步地對(duì)軟件程序進(jìn)行規(guī)劃與設(shè)計(jì)。
2.1.1 μC/OS-III工程的移植
在移植操作系統(tǒng)代碼之前,首先需要在其官方網(wǎng)站中獲取到μC/OS-III的源碼包。下載源碼包后需要對(duì)包中的文件進(jìn)行分析,結(jié)合本系統(tǒng)實(shí)際情況按需配置最適合的工程文件。添加完所需要的文件后將頭文件路徑添加到工程中,這樣整體的工程就移植完畢了。
2.1.2 劃分任務(wù)的優(yōu)先級(jí)
在本系統(tǒng)所建立的μC/OS-III工程中,各個(gè)任務(wù)的優(yōu)先級(jí)劃分由先到后應(yīng)遵循如下三大原則:對(duì)于實(shí)時(shí)性要求高的任務(wù)應(yīng)該分配較高的優(yōu)先級(jí);對(duì)于運(yùn)行速度較快的任務(wù)應(yīng)該分配較高的優(yōu)先級(jí);任務(wù)在邏輯之前的要分配較高的優(yōu)先級(jí)。在遵循這三個(gè)原則的前提下,本系統(tǒng)中任務(wù)的優(yōu)先級(jí)劃分情況見表1所列。
表1 本系統(tǒng)中任務(wù)的優(yōu)先級(jí)劃分情況
2.1.3 事件標(biāo)志組的創(chuàng)建
當(dāng)操作系統(tǒng)中的任務(wù)需要與多個(gè)事件同步發(fā)生時(shí),就可以使用事件標(biāo)志組。事件標(biāo)志組同步任務(wù)的過程如圖2所示。通過設(shè)立不同的優(yōu)先級(jí)并運(yùn)用事件標(biāo)志組的方法,就可以輕易地對(duì)不同報(bào)警信息的緊急程度加以區(qū)分。在需要同時(shí)進(jìn)行的任務(wù)較多時(shí),可實(shí)現(xiàn)“有次序、有先后”地進(jìn)行任務(wù)處理。同時(shí),事件標(biāo)志組內(nèi)還可以設(shè)置不同的邏輯關(guān)系。例如“或”同步和“與”同步就是當(dāng)操作系統(tǒng)中任意事件發(fā)生和全部事件發(fā)生時(shí)任務(wù)才被同步的兩種不同的邏輯處理機(jī)制。事件標(biāo)志組在本系統(tǒng)中有著廣泛的應(yīng)用,例如當(dāng)溫度和濕度數(shù)值同時(shí)超過一定范圍時(shí),出行推薦指數(shù)才會(huì)下降;而當(dāng)PM數(shù)值超過一定范圍時(shí),無論溫濕度數(shù)值范圍是多大,出行推薦指數(shù)都會(huì)直接清零,表示當(dāng)前極不適合出行。此外還有大量的類似于這樣的同步任務(wù)存在于本系統(tǒng)中,但在編輯和添加這些任務(wù)時(shí)僅需更改幾個(gè)邏輯字母就完成事件標(biāo)志組的重組與建立,而不需要大量復(fù)雜的條件函數(shù)或者邏輯指令。設(shè)置簡便和容易編輯的特點(diǎn)也是開發(fā)者們選擇μC/OS-III操作系統(tǒng)進(jìn)行開發(fā)的重要原因之一。
圖2 事件標(biāo)志組的任務(wù)同步過程
在開啟了基站定位服務(wù)后,通過OneNET平臺(tái)可方便快捷地建立網(wǎng)頁端、手機(jī)端和公共大屏中豐富的可視化應(yīng)用。
2.2.1 開啟基站定位服務(wù)(LBS)
基站定位服務(wù)是指設(shè)備不需要增加額外的外設(shè)硬件,而是通過設(shè)備板載的通信模組將周邊基站信息上傳給云端后即可實(shí)現(xiàn)位置信息的獲取,從而達(dá)到簡化硬件設(shè)計(jì)和降低設(shè)備功耗的效果。當(dāng)開啟了這項(xiàng)服務(wù)之后就可以結(jié)合已構(gòu)建好的數(shù)據(jù)可視化應(yīng)用,對(duì)設(shè)備當(dāng)前的位置和歷史軌跡進(jìn)行查詢與回溯?;径ㄎ环?wù)不但覆蓋三大運(yùn)營商的基站信息,而且在2G、3G、4G等網(wǎng)絡(luò)信號(hào)下均可實(shí)現(xiàn)位置信息的獲取。這項(xiàng)服務(wù)的覆蓋區(qū)域除了中國大陸之外,還包含了港澳臺(tái)地區(qū)。
2.2.2 網(wǎng)頁端應(yīng)用的構(gòu)建
OneNET網(wǎng)頁應(yīng)用編輯器為開發(fā)者提供了曲線圖和柱狀圖、位置軌跡、開關(guān)按鈕、儀表盤等虛擬圖表和儀器,為感知層所上傳的數(shù)據(jù)流提供初步的數(shù)據(jù)可視化功能。只有當(dāng)傳感器所采集的數(shù)據(jù)流成功上傳至OneNET云平臺(tái)后,開發(fā)者所建立的相關(guān)可視化網(wǎng)頁應(yīng)用才能正常工作和顯示。對(duì)于氣體傳感器所采集的參數(shù),本系統(tǒng)在OneNET網(wǎng)頁應(yīng)用端開發(fā)了如圖3所示的警告次數(shù)與氣體濃度參數(shù)折線圖面板。當(dāng)有害或可燃?xì)怏w的濃度過大時(shí),μC/OS-III操作系統(tǒng)會(huì)通過事件標(biāo)志組執(zhí)行上傳超標(biāo)參數(shù)值的任務(wù)。警告次數(shù)也會(huì)隨著每一次警告信息的產(chǎn)生而累計(jì)加1,并可以通過物理按鍵來清零,表示用戶已經(jīng)知曉相關(guān)的警告信息。
圖3 警告信息的可視化
除了上傳警告信息與相關(guān)參數(shù)之外,本系統(tǒng)在OneNET網(wǎng)頁應(yīng)用端還基于感知層所采集的光照、溫濕度和操作系統(tǒng)智能分析出的推薦指數(shù)等信息,擴(kuò)展開發(fā)了出行建議助手功能。將設(shè)備放在陽臺(tái)附近后,通過數(shù)據(jù)可視化的方式,用戶不但能夠得出目前周圍環(huán)境的具體參數(shù)細(xì)節(jié),還能得出當(dāng)前出行的推薦指數(shù),是用戶制定出行計(jì)劃的好幫手。推薦指數(shù)總共分為三等,數(shù)值越高則代表當(dāng)前環(huán)境狀況越適宜出行。相關(guān)功能的可視化效果如圖4所示。
圖4 參數(shù)折線圖與推薦指數(shù)的可視化效果
2.2.3 手機(jī)端應(yīng)用的構(gòu)建
開發(fā)者不但可以構(gòu)建和編輯網(wǎng)頁端的可視化應(yīng)用,還可以將構(gòu)建好的相關(guān)組件移植至手機(jī)端頁面,通過中國移動(dòng)開發(fā)的設(shè)備云APP進(jìn)行手機(jī)端環(huán)境信息的可視化。在本系統(tǒng)所構(gòu)建的手機(jī)端可視化應(yīng)用中,可以像在網(wǎng)頁端一樣看到數(shù)值的歷史變化趨勢以及虛擬儀表顯示的瞬時(shí)值。但不同于網(wǎng)頁端的是,手機(jī)端物聯(lián)網(wǎng)應(yīng)用在設(shè)計(jì)時(shí)需盡可能使界面更加緊湊,以更好地貼合手機(jī)用戶的視窗大小與瀏覽習(xí)慣。開發(fā)完成的手機(jī)端可視化界面如圖5所示。
圖5 手機(jī)端的數(shù)據(jù)流與可視化應(yīng)用界面
2.2.4 數(shù)據(jù)可視化View平臺(tái)
除了構(gòu)建簡單的網(wǎng)頁和手機(jī)應(yīng)用外,還可基于中國移動(dòng)數(shù)據(jù)可視化View平臺(tái)開發(fā)更為復(fù)雜的可視化應(yīng)用,以實(shí)現(xiàn)在公共區(qū)域內(nèi)更大的屏幕中展現(xiàn)更為豐富的數(shù)據(jù)可視化內(nèi)容?;赩iew平臺(tái)為公共大屏開發(fā)的可視化應(yīng)用界面如圖6所示。
圖6 在公共大屏上實(shí)現(xiàn)的數(shù)據(jù)可視化應(yīng)用界面
連接好開發(fā)板的電源與相關(guān)傳感器模塊后,登錄中國移動(dòng)OneNET云平臺(tái),進(jìn)入本產(chǎn)品的詳細(xì)界面,選擇本設(shè)備并進(jìn)入數(shù)據(jù)流查看界面。打開供電開關(guān)并運(yùn)行開發(fā)板上的程序后,會(huì)看到數(shù)據(jù)流中的相關(guān)參數(shù)正在動(dòng)態(tài)地變化。只要所上傳的數(shù)據(jù)流結(jié)果是準(zhǔn)確的,基于這些數(shù)據(jù)流所構(gòu)建的OneNET云平臺(tái)應(yīng)用就一定能夠正常工作與顯示。
當(dāng)點(diǎn)開如圖7所示的“Warning”數(shù)據(jù)流后可以看出,在此時(shí)刻內(nèi)警告次數(shù)為3次。此外還可通過點(diǎn)擊“導(dǎo)出”按鈕將所上傳的數(shù)據(jù)流導(dǎo)出,所導(dǎo)出的數(shù)據(jù)包含了上傳時(shí)間、環(huán)境參數(shù)等數(shù)值。在得到這些詳細(xì)數(shù)據(jù)后,還可以結(jié)合其他大數(shù)據(jù)分析方法使導(dǎo)出的數(shù)據(jù)產(chǎn)生進(jìn)一步的價(jià)值,從而為用戶和企業(yè)提供參考。
圖7 實(shí)時(shí)上報(bào)名稱為“Warning”的數(shù)據(jù)流
本文基于μC/OS-III操作系統(tǒng)和中國移動(dòng)OneNET云平臺(tái)設(shè)計(jì)了一款實(shí)用的智能環(huán)境助手。該系統(tǒng)的感知層基于中移麒麟座開發(fā)板開發(fā),并在其外部連接了用于測量PM、溫濕度、氣體濃度等參數(shù)的傳感器模塊,通過μC/OS-III操作系統(tǒng)采集和處理環(huán)境數(shù)據(jù)信息。網(wǎng)絡(luò)層包括GPRS通信模組和中國移動(dòng)物聯(lián)網(wǎng)SIM卡,作用是將感知層實(shí)時(shí)收集的環(huán)境信息,通過MQTT協(xié)議傳輸至中國移動(dòng)OneNET物聯(lián)網(wǎng)云平臺(tái)。在應(yīng)用層中通過對(duì)網(wǎng)頁端應(yīng)用、手機(jī)端應(yīng)用和View應(yīng)用的構(gòu)建,向用戶呈現(xiàn)了多種方式的數(shù)據(jù)可視化效果,實(shí)現(xiàn)用戶對(duì)周圍的環(huán)境數(shù)值變化與相關(guān)警告提示進(jìn)行及時(shí)感知。該系統(tǒng)經(jīng)測試后成功實(shí)現(xiàn)了傳感器的采集、云平臺(tái)的可視化等功能,滿足了用戶對(duì)環(huán)境監(jiān)測智能化和可視化的現(xiàn)實(shí)需求,具有較高研究價(jià)值和廣泛的應(yīng)用前景。