国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向室內(nèi)環(huán)境的便攜式甲醛和總揮發(fā)性有機(jī)物監(jiān)測(cè)系統(tǒng)

2022-04-14 03:27杜英魁楊國(guó)棟張首星原忠虎
現(xiàn)代計(jì)算機(jī) 2022年2期
關(guān)鍵詞:網(wǎng)絡(luò)連接模組路由

杜英魁,楊國(guó)棟,李 娟,張首星,孫 博,原忠虎

(1.沈陽(yáng)大學(xué)信息工程學(xué)院,沈陽(yáng) 110014;2.沈陽(yáng)大學(xué)體育學(xué)院,沈陽(yáng) 110014)

0 引言

已有研究表明,居室裝修導(dǎo)致的室內(nèi)空氣污染會(huì)對(duì)人體健康造成嚴(yán)重的危害。當(dāng)甲醛濃度高于0.08 mg/m,會(huì)直接對(duì)眼睛、肝臟和肺部產(chǎn)生嚴(yán)重影響,甚至?xí)?dǎo)致血癌??倱]發(fā)性 有 機(jī) 物(total volatile organic compounds,TVOC)如苯類揮發(fā)性有機(jī)物,主要來(lái)源于各種建筑材料、家具、涂料、壁紙和黏合劑等。世界衛(wèi)生組織國(guó)際癌癥研究機(jī)構(gòu)公布的致癌物清單中,甲醛和苯為一類致癌物。

室內(nèi)的甲醛和TVOCs的監(jiān)測(cè),主要有離線監(jiān)測(cè)和在線監(jiān)測(cè)兩種方式。離線監(jiān)測(cè)方式依據(jù)《室內(nèi)空氣質(zhì)量標(biāo)準(zhǔn)》(GB/T 18883-2002)國(guó)家標(biāo)準(zhǔn),甲醛采用苯酚試劑分光光度法測(cè)定。TVOCs采用氣相色譜儀分析,成本高、監(jiān)測(cè)周期間隔大。在線監(jiān)測(cè)方式是利用電化學(xué)和半導(dǎo)體傳感器,進(jìn)行甲醛和TVOCs濃度實(shí)時(shí)連續(xù)監(jiān)測(cè),具有長(zhǎng)時(shí)監(jiān)測(cè)和成本極低的突出優(yōu)勢(shì)。

本文設(shè)計(jì)了一種結(jié)構(gòu)緊湊的甲醛和總揮發(fā)性有機(jī)物濃度無(wú)線監(jiān)測(cè)終端,以ESP-12F模組為核心器件,將數(shù)據(jù)采集、顯示和無(wú)線傳輸?shù)裙δ苓M(jìn)行了一體化集成設(shè)計(jì),有效降低了終端體積和功耗。一鍵式網(wǎng)絡(luò)連接設(shè)計(jì),則極大地簡(jiǎn)化了用戶網(wǎng)絡(luò)設(shè)置過(guò)程。

1 監(jiān)測(cè)終端的硬件設(shè)計(jì)

1.1 ESP-12F模組

ESP-12F模組的幾何尺寸僅為24 mm×16 mm×3 mm,如圖1所示。內(nèi)置WIFI前端和高性能的32位MCU。

圖1 ESP-12F模組

該模組支持UART、I2C、PWM、GPIO等多種模式。支持80MHz和160MHz主頻,支持IEEE 802.11 b/g/n協(xié)議,具有完整TCP/IP協(xié)議棧,集成板載天線。支持RTOS。

該模塊能耗極低。深度睡眠保持電流僅為10 uA,關(guān)斷電流小于5 uA,待機(jī)狀態(tài)消耗功率小于1 mW,喚醒時(shí)間小于2 ms。本文能耗控制采用睡眠模式。

1.2 甲醛和總揮發(fā)性有機(jī)物濃度傳感器

傳感器采用DS-HCHO-20電化學(xué)和半導(dǎo)體雙模集成數(shù)字式傳感器,幾何尺寸為29 mm×14 mm×9 mm,如圖2所示。內(nèi)置電化學(xué)和半導(dǎo)體雙模塊,內(nèi)置數(shù)據(jù)處理單元采用雙模塊修正經(jīng)驗(yàn)算法,兼容TVOC標(biāo)定曲線,不同溫度和濕度環(huán)境數(shù)據(jù)自動(dòng)修正,UART通信模式。

圖2 DS-HCHO-20傳感器

1.3 集成設(shè)計(jì)

設(shè)計(jì)了下載電路和復(fù)位電路,以ESP-12F為核心模組,進(jìn)行了無(wú)線監(jiān)測(cè)終端的硬件系統(tǒng)集成,如圖3所示。利用ESP-12F模組GPIO端口的狀態(tài),配置CPU的運(yùn)行模式,實(shí)現(xiàn)了程序下載和運(yùn)行之間的模式切換。復(fù)位電路用于保證系統(tǒng)處于確定狀態(tài),并從初態(tài)開始工作。

圖3 終端系統(tǒng)組成

數(shù)據(jù)顯示方面,則采用0.91寸低功耗OLED液晶屏。ESP-12F模組通過(guò)GPIO模擬IIC時(shí)序驅(qū)動(dòng)屏幕顯示。依據(jù)《民用建筑工程室內(nèi)環(huán)境污染控制規(guī)范》(GB50325-2001)國(guó)家標(biāo)準(zhǔn),利用采集到的甲醛和總有機(jī)揮發(fā)物濃度數(shù)據(jù),自動(dòng)進(jìn)行空氣質(zhì)量的優(yōu)、良、差三級(jí)評(píng)價(jià)和顯示,用戶可據(jù)此判斷甲醛和總有機(jī)揮發(fā)物的濃度是否處于安全水平。

2 通信協(xié)議

2.1 心跳機(jī)制

設(shè)計(jì)了心跳機(jī)制。周期性地查詢當(dāng)前端云網(wǎng)絡(luò)通信狀態(tài),以解決長(zhǎng)時(shí)間斷網(wǎng)條件下的長(zhǎng)鏈接更新以及云端無(wú)效鏈接請(qǐng)求的資源消耗問(wèn)題,不僅能夠保證云平臺(tái)監(jiān)控系統(tǒng)有效地得到各節(jié)點(diǎn)的網(wǎng)絡(luò)連接狀態(tài),也大幅降低了云端網(wǎng)絡(luò)通信資源消耗。

這個(gè)用于周期性查詢網(wǎng)絡(luò)狀態(tài)的數(shù)據(jù)幀由起始符、詢問(wèn)標(biāo)識(shí)符和設(shè)備識(shí)別碼組成。除了設(shè)備識(shí)別碼唯一之外,其他位的數(shù)據(jù)是統(tǒng)一的。

2.2 應(yīng)答機(jī)制

應(yīng)答包設(shè)備識(shí)別碼與上傳數(shù)據(jù)通信協(xié)議設(shè)備識(shí)別碼相同,主控芯片通過(guò)解析云平臺(tái)下發(fā)的應(yīng)答包判斷數(shù)據(jù)是否上傳成功。同心跳包類似,應(yīng)答包也包含起始字符、標(biāo)識(shí)符和設(shè)備識(shí)別碼,同時(shí)應(yīng)答包還包括接收時(shí)間和BCC校驗(yàn)碼。

2.3 設(shè)備登錄通信協(xié)議

云平臺(tái)依據(jù)該協(xié)議判斷設(shè)備是否登錄成功否則,中斷后續(xù)操作。登錄幀里除起始字符、命令標(biāo)識(shí)字符、設(shè)備識(shí)別碼之外還增加有數(shù)據(jù)單元長(zhǎng)度、數(shù)據(jù)單元內(nèi)容兩個(gè)數(shù)據(jù)段。

2.4 設(shè)備校時(shí)通信協(xié)議

用于保證數(shù)據(jù)上傳時(shí)帶有的時(shí)間戳的正確性。硬件終端開機(jī)后對(duì)RTC功能進(jìn)行初始化設(shè)置,使能PWR時(shí)鐘和后備寄存器,配置RTC的時(shí)鐘源并使能RTC時(shí)鐘。設(shè)置分頻系數(shù)和時(shí)鐘格式、初始化時(shí)間和日期。

2.5 數(shù)據(jù)上傳通信協(xié)議

數(shù)據(jù)上傳通信協(xié)議,如表1所示。由基礎(chǔ)的起始字符、命令單元、設(shè)備設(shè)別碼、數(shù)據(jù)包里特有的數(shù)據(jù)加密方式、數(shù)據(jù)單元長(zhǎng)度、可擴(kuò)展數(shù)據(jù)單元、校驗(yàn)碼組成。

表1 數(shù)據(jù)上傳的數(shù)據(jù)包結(jié)構(gòu)和定義

3 終端片上軟件設(shè)計(jì)

片上軟件設(shè)計(jì),包括數(shù)據(jù)采集模塊、手機(jī)配網(wǎng)模塊、網(wǎng)絡(luò)數(shù)據(jù)傳輸模塊和網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)模塊組成。片上軟件的執(zhí)行流程如圖4所示。

圖4 片上軟件流程

ESP-12F模組內(nèi)嵌的ESP8266芯片SDK采用基于“內(nèi)核回調(diào)”編程方式。對(duì)于輪詢?nèi)蝿?wù)和監(jiān)測(cè)狀態(tài),無(wú)法采用常規(guī)單片機(jī)的“主循環(huán)”編程方式實(shí)現(xiàn),需要依靠用戶任務(wù)或定時(shí)器回調(diào)函數(shù)來(lái)完成。本文采用定時(shí)器回調(diào)函數(shù)方式。

3.1 數(shù)據(jù)采集模塊

初始化硬件定時(shí)器。內(nèi)核將調(diào)用硬件回調(diào)函數(shù),在回調(diào)函數(shù)中通過(guò)串口問(wèn)詢傳感器,并通過(guò)串口接收中斷處理傳感器采集的數(shù)據(jù)。

對(duì)數(shù)據(jù)進(jìn)行解析后,首先將數(shù)據(jù)通過(guò)OLED屏幕進(jìn)行實(shí)時(shí)顯示,再根據(jù)數(shù)據(jù)通信協(xié)議進(jìn)行打包,通過(guò)數(shù)據(jù)傳輸模塊,上傳至云端。

3.2 配網(wǎng)模塊

設(shè)置網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)軟件定時(shí)器,讀取flash中已保存的路由信息然后自動(dòng)連接。在軟件定時(shí)器回調(diào)函數(shù)中設(shè)計(jì)網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)函數(shù),若網(wǎng)絡(luò)連接成功,則關(guān)閉軟件定時(shí)器并設(shè)置TCP連接,開啟網(wǎng)絡(luò)數(shù)據(jù)傳輸軟件定時(shí)器。若網(wǎng)絡(luò)連接失敗,則開啟手機(jī)配網(wǎng)。

采用“Smartconfig”方式,通過(guò)APP或微信公眾號(hào)進(jìn)行配網(wǎng)。開啟sniffer模式,掃描所有開啟的路由器。通過(guò)手機(jī)UDP組播發(fā)送加密SSID和PASSWORD信息。ESP8266抓取并解密SSID和PASSWORD信息,從而連接路由。

3.3 網(wǎng)絡(luò)數(shù)據(jù)傳輸模塊

系統(tǒng)連接路由成功后,將配置網(wǎng)絡(luò)信息,通過(guò)服務(wù)器IP地址或域名信息連接服務(wù)器。同時(shí),開啟網(wǎng)絡(luò)數(shù)據(jù)傳輸軟件定時(shí)器,在軟件定時(shí)回調(diào)函數(shù)中調(diào)用打包的傳感器采集數(shù)據(jù)通過(guò)網(wǎng)絡(luò)發(fā)送給服務(wù)器。

利用TCP連接的接收回調(diào)函數(shù),接收服務(wù)器的報(bào)文信息,判斷服務(wù)器連接狀態(tài)和接收信息,若發(fā)送失敗則重新發(fā)送,直至連續(xù)第3次發(fā)送失敗即放棄本次發(fā)送。若因服務(wù)器斷開TCP連接,則設(shè)備將通過(guò)TCP連接的成功斷開回調(diào)函數(shù)。

3.4 網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)模塊

監(jiān)測(cè)終端對(duì)云平臺(tái)的網(wǎng)絡(luò)鏈接狀態(tài)主動(dòng)監(jiān)測(cè)。設(shè)備上電或復(fù)位之后,設(shè)備首次連接已保存路由信息時(shí)的狀態(tài)監(jiān)測(cè)。

若無(wú)路由信息或路由信息改變時(shí),將由網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)任務(wù)啟動(dòng)設(shè)備配網(wǎng)模式,通過(guò)閃屏的方式告訴用戶需要通過(guò)手機(jī)APP進(jìn)行配置有效的網(wǎng)絡(luò)。

首次監(jiān)測(cè)網(wǎng)絡(luò)連接狀態(tài)后,將關(guān)閉網(wǎng)絡(luò)連接狀態(tài)監(jiān)測(cè)軟件定時(shí)器,由更為可靠的硬件定時(shí)器監(jiān)測(cè)網(wǎng)絡(luò)連接狀態(tài),若發(fā)現(xiàn)網(wǎng)絡(luò)連接失敗,立即開啟配網(wǎng)模式。軟件定時(shí)器基于內(nèi)核任務(wù)和內(nèi)核資源實(shí)現(xiàn)。通過(guò)軟件定時(shí)器和硬件定時(shí)器的嵌套使用輪詢監(jiān)測(cè),能夠有效保了網(wǎng)絡(luò)連接的可靠和CPU資源的合理分配。

云平臺(tái)對(duì)監(jiān)測(cè)終端的網(wǎng)絡(luò)鏈接狀態(tài)主動(dòng)監(jiān)測(cè)。云平臺(tái)根據(jù)心跳機(jī)制,周期性主動(dòng)向監(jiān)測(cè)終端發(fā)送心跳包,解析并判斷網(wǎng)絡(luò)連接狀態(tài)。在本文中,設(shè)置最大間隔為30 s,最大間隔實(shí)踐內(nèi),若未收到終端發(fā)送的心跳包,云端認(rèn)為網(wǎng)絡(luò)中斷,自動(dòng)刪除該終端節(jié)點(diǎn)的網(wǎng)絡(luò)長(zhǎng)鏈接數(shù)據(jù),終端狀態(tài)設(shè)置為設(shè)備下線。

4 軟件設(shè)計(jì)

4.1 APP軟件設(shè)計(jì)

基于Vue輕量級(jí)漸進(jìn)式框架和Apache Cordova插件混合開發(fā)。具有對(duì)終端甲醛檢測(cè)儀的數(shù)據(jù)可視化分析、設(shè)備配置管理以及用戶管理等功能。采用Vue-Router、Vue-x、local Storage、Session Storage等插件,實(shí)現(xiàn)頁(yè)面路由跳轉(zhuǎn)配置,完成對(duì)用戶信息、設(shè)備信息以及組件的狀態(tài)管理和存儲(chǔ)。利用proxy Table代理解決前端開發(fā)的跨域問(wèn)題。

使用AJAX請(qǐng)求后端服務(wù)提供的API接口,從而得到JSON格式的監(jiān)測(cè)數(shù)據(jù)。基于ECharts圖表庫(kù),進(jìn)行數(shù)據(jù)可視化分析的圖形化表達(dá)。通過(guò)AppVersion、FileTransfer、FileOpener2等插件,完成APP軟件的版本號(hào)讀取、文件下載、打開文件等軟件安裝步驟以及在線升級(jí)功能。

4.2 云平臺(tái)設(shè)計(jì)

基于SpringBoot微服務(wù)框架,主要實(shí)現(xiàn)對(duì)終端甲醛檢測(cè)儀的登錄處理以及對(duì)采集數(shù)據(jù)的處理?;赥CP協(xié)議,云端與終端依據(jù)自定義數(shù)據(jù)通信協(xié)議來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸以及業(yè)務(wù)下發(fā)。云端微服務(wù)平臺(tái)主要包括兩個(gè)部分:

(1)網(wǎng)關(guān)微服務(wù)。基于Netty高性能技術(shù)框架開發(fā),實(shí)現(xiàn)對(duì)無(wú)線監(jiān)測(cè)終端節(jié)點(diǎn)的高并發(fā)接入,數(shù)據(jù)存儲(chǔ)于Redis高速緩存數(shù)據(jù)庫(kù)。

(2)應(yīng)用后臺(tái)微服務(wù)。采用Spring、Spring MVC以及My batis plus等后端Web技術(shù)搭建,主要實(shí)現(xiàn)對(duì)數(shù)據(jù)以及終端設(shè)備的CRUD業(yè)務(wù)邏輯編寫,為客戶端應(yīng)用程序提供基于HTTP/IP協(xié)議的RESTful API接口。其中,后端監(jiān)控微服務(wù)執(zhí)行流程,如圖5所示。

圖5 后端監(jiān)控微服務(wù)執(zhí)行流程

5 實(shí)驗(yàn)測(cè)試

5.1 無(wú)線監(jiān)測(cè)終端離線數(shù)據(jù)采集測(cè)試

采集終端運(yùn)行測(cè)試內(nèi)容是模組定時(shí)問(wèn)詢傳感器,并解析傳感器的數(shù)據(jù),并在OLED屏幕上實(shí)時(shí)顯示。硬件電路實(shí)物,如圖6所示。

圖6 終端硬件電路實(shí)物

終端功能測(cè)試結(jié)果,如圖7所示。

圖7 監(jiān)測(cè)終端功能測(cè)試結(jié)果

5.2 網(wǎng)絡(luò)通信測(cè)試

網(wǎng)絡(luò)通信測(cè)試主要包括:設(shè)備連接路由是否穩(wěn)定可靠、配網(wǎng)功能是否有效、網(wǎng)絡(luò)連接成功之后網(wǎng)絡(luò)數(shù)據(jù)傳輸是否可靠且穩(wěn)定。通信實(shí)驗(yàn)的測(cè)試過(guò)程包括以下幾個(gè)部分。

(1)上電重啟設(shè)備,測(cè)試是否能夠主動(dòng)重連有效路由。

(2)若路由信息修改或無(wú)有效路由,測(cè)試設(shè)備是否進(jìn)入配網(wǎng)模式且配網(wǎng)是否成功。

(3)當(dāng)連接路由成功之后,測(cè)試向云端的數(shù)據(jù)上傳是否成功。

如圖8所示,串口調(diào)試助手顯示的TCP接收回調(diào)函數(shù)中接收的服務(wù)器應(yīng)答信息,表明了無(wú)線監(jiān)測(cè)終端數(shù)據(jù)上傳成功。

圖8 網(wǎng)絡(luò)數(shù)據(jù)傳輸測(cè)試結(jié)果

數(shù)據(jù)上傳成功后,APP頁(yè)面監(jiān)測(cè)數(shù)據(jù)實(shí)時(shí)顯示和圖形可視化分析頁(yè)面,如圖9所示。

圖9 APP軟件的數(shù)據(jù)顯示頁(yè)面

6 結(jié)語(yǔ)

本文研發(fā)了一種面向室內(nèi)環(huán)境安全的便攜式甲醛和總揮發(fā)性有機(jī)物監(jiān)測(cè)系統(tǒng),以ESP-12F模組為核心器件,通過(guò)數(shù)據(jù)采集、顯示和傳輸功能的一體化集成設(shè)計(jì),有效降低了終端功耗。跟據(jù)自定義數(shù)據(jù)通信協(xié)議所開發(fā)的一鍵配網(wǎng)和遠(yuǎn)程監(jiān)控等軟件功能,則有有效簡(jiǎn)化了用戶操作過(guò)程。

猜你喜歡
網(wǎng)絡(luò)連接模組路由
移遠(yuǎn)通信:以利潤(rùn)換市場(chǎng)
數(shù)據(jù)通信中路由策略的匹配模式
一種用于6LoWPAN的多路徑路由協(xié)議
OSPF外部路由引起的環(huán)路問(wèn)題
個(gè)性化設(shè)置 Win10 的網(wǎng)絡(luò)連接信息
高通聯(lián)發(fā)科等公司與阿里達(dá)成合作
全模組電源選購(gòu)
中小型網(wǎng)絡(luò)組建技術(shù)
百色市| 新绛县| 铜鼓县| 灵寿县| 陆良县| 大英县| 新安县| 苍溪县| 迭部县| 浙江省| 杂多县| 博客| 沂南县| 犍为县| 大方县| 广元市| 千阳县| 丰镇市| 阜平县| 丰台区| 荔波县| 仙居县| 陵水| 绥宁县| 淳安县| 泾川县| 高唐县| 桃园县| 大洼县| 通许县| 江孜县| 兴安盟| 荥阳市| 西林县| 治多县| 南皮县| 林西县| 海安县| 穆棱市| 乾安县| 且末县|