李影 王波
(仰恩大學(xué)工程技術(shù)學(xué)院,福建泉州 362014)
近年來,我國(guó)在空氣質(zhì)量治理方面下了很大的力氣,也取得了非常可喜的成績(jī),據(jù)生態(tài)環(huán)境部的統(tǒng)計(jì)數(shù)據(jù),2020年1月至12月全國(guó)337個(gè)地級(jí)及以上城市平均優(yōu)良天數(shù)比例為87.0%。大環(huán)境空氣質(zhì)量變好的同時(shí),人們也開始關(guān)注小環(huán)境的空氣質(zhì)量,比如新買的汽車、新裝修的房子等[1]。目前,室內(nèi)空氣質(zhì)量檢測(cè)主要依賴專業(yè)機(jī)構(gòu),市場(chǎng)上出售的室內(nèi)空氣質(zhì)量檢測(cè)設(shè)備功能簡(jiǎn)單,不能滿足用戶的需求。本文設(shè)計(jì)了一款適用于室內(nèi)環(huán)境的空氣質(zhì)量檢測(cè)系統(tǒng),該系統(tǒng)可以檢測(cè)CO2、甲醛、TVOC、PM2.5等數(shù)據(jù),并可以通過智能手機(jī)遠(yuǎn)程查看檢測(cè)數(shù)據(jù)。
本文設(shè)計(jì)了一款空氣質(zhì)量檢測(cè)系統(tǒng),該系統(tǒng)適用于室內(nèi)、車內(nèi)等小空間的空氣質(zhì)量檢測(cè)檢測(cè)數(shù)據(jù)包括CO2、甲醛、TVOC、PM2.5、PM10、溫度和濕度。系統(tǒng)分為硬件設(shè)計(jì)、服務(wù)器設(shè)計(jì)、oneNET物聯(lián)網(wǎng)平臺(tái)、微信小程序設(shè)計(jì)四個(gè)主要部分。
系統(tǒng)的硬件部分使用了STM32F103C8T6單片機(jī),數(shù)據(jù)檢測(cè)使用的是七合一空氣質(zhì)量檢測(cè)傳感器,配有4.3寸可觸式屏幕,檢測(cè)數(shù)據(jù)可以直接顯示在硬件顯示屏上。服務(wù)器用于存儲(chǔ)檢測(cè)數(shù)據(jù),oneNET物聯(lián)網(wǎng)平臺(tái)用于與微信小程序之間進(jìn)行通信。在硬件的設(shè)計(jì)中還加入了時(shí)鐘和本地天氣功能。本系統(tǒng)的硬件部分僅有4cm×3cm×3cm,可以擺放在桌面等地方,如果不需要檢測(cè)環(huán)境數(shù)據(jù)時(shí),還可以做天氣、時(shí)鐘和溫濕度計(jì)使用。
本文選用了STM32F103C8T6單片機(jī)小系統(tǒng)板。單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)[2]。因?yàn)槠潴w積小、處理能力比較強(qiáng)的特點(diǎn),被廣泛的用在各類電子產(chǎn)品上,現(xiàn)代生活中所用的每件電子和機(jī)械產(chǎn)品中幾乎都會(huì)集成有單片機(jī)的存在。
本文使用oneNET云平臺(tái)。物聯(lián)網(wǎng)云平臺(tái)是近年來發(fā)展起來的物聯(lián)網(wǎng)云端解決方案。云平臺(tái)提供了大量的API接口,可以將檢測(cè)裝置檢測(cè)到的數(shù)據(jù)上傳到平臺(tái)上。相比于傳統(tǒng)的服務(wù)器技術(shù),云平臺(tái)對(duì)開發(fā)者更加友好。
本文開發(fā)了“檢測(cè)控制系統(tǒng)”微信小程序[3]。根據(jù)《2019-2020微信就業(yè)影響力報(bào)告》公布的數(shù)據(jù),截至2020年第一季度,在即時(shí)通信軟件排名方面,微信及WeChat排名全球第三、中國(guó)第一,微信及WeChat的合并月活躍帳戶數(shù)達(dá)12.025億。基于以上情況的分析,使用微信小程序作為移動(dòng)監(jiān)控端,要要優(yōu)于APP。微信小程序有著與APP相似的功能性,在APP上能夠?qū)崿F(xiàn)的功能,在微信小程序上也可以完成,并且小程序具有不占用手機(jī)內(nèi)存的最大優(yōu)勢(shì)。
空氣質(zhì)量檢測(cè)系統(tǒng)的核心檢測(cè)部件是TW70ST七合一傳感器,控制器采用STM32F103C8T6,Wi-Fi模塊將設(shè)備連接本地的Wi-Fi信號(hào),并將檢測(cè)數(shù)據(jù)傳輸?shù)椒?wù)器中。用戶在微信小程序中搜索并關(guān)注“檢測(cè)控制系統(tǒng)”,就可以通過關(guān)鍵字遠(yuǎn)程查看監(jiān)測(cè)數(shù)據(jù)。系統(tǒng)架構(gòu)圖如圖1。

圖1 空氣質(zhì)量監(jiān)控系統(tǒng)架構(gòu)圖Fig.1 Air quality monitoring system architecture diagram
3.1.1 STM32F103C8T6微控制器
STM32是一款基于ARM Cortex-M內(nèi)核系列的32位的微控制器,因?yàn)槠涞蛢r(jià)位、高性能、低功耗又易于開發(fā)等特性,被廣泛應(yīng)用于智能化設(shè)備。
3.1.2 TW70ST七合一傳感器
本系統(tǒng)選用TW70ST七合一傳感器,這是一款數(shù)字串口輸出傳感器模塊,可采用RS485數(shù)據(jù)總線和UART TTL兩種輸出模式,適用于空氣質(zhì)量監(jiān)測(cè),靈敏度和精確度都較高。
3.1.3 DMG48270C043_03W 4.3寸可觸屏幕
本系統(tǒng)選用4.3寸或觸屏幕,在界面的設(shè)計(jì)上分兩屏顯示。在主界面設(shè)計(jì)時(shí)鐘、本地天氣預(yù)報(bào)設(shè)置按鈕等功能,在監(jiān)控界面設(shè)計(jì)6分隔,用以顯示CO2、甲醛、TVOC、PM2.5、溫度、濕度。兩個(gè)界面通過滑動(dòng)觸屏可以方便切換。
3.1.4 ESP8266串口Wi-Fi模塊
ESP8266串口Wi-Fi模塊用于連網(wǎng),讀取用戶。用戶將設(shè)備連入本地Wi-Fi信號(hào),系統(tǒng)可以將檢測(cè)到的環(huán)境數(shù)據(jù)通過Wi-Fi模塊上傳到oneNet服務(wù)器上,在Wi-Fi配置上,本系統(tǒng)設(shè)計(jì)了網(wǎng)頁連接和微信連接兩種方式方便用戶使用。
3.2.1 硬件端屏幕設(shè)計(jì)
硬件端的數(shù)據(jù)采集不依賴于網(wǎng)絡(luò),無論設(shè)備是否登錄成功,都會(huì)定時(shí)獲取傳感器和時(shí)鐘的數(shù)據(jù)、觸摸屏的數(shù)據(jù)交互(發(fā)給觸摸屏顯示的數(shù)據(jù)內(nèi)容和解析觸摸屏下發(fā)的指令內(nèi)容)。在硬件端安裝了水銀開關(guān),用于檢測(cè)屏幕方向,如果檢測(cè)到水銀開關(guān)變化長(zhǎng)達(dá)一秒,就進(jìn)行對(duì)應(yīng)的屏幕翻轉(zhuǎn)(發(fā)指令給觸摸屏)。
3.2.2 連網(wǎng)設(shè)計(jì)
空氣質(zhì)量監(jiān)控系統(tǒng)的硬件部分配有Wi-Fi模塊,當(dāng)設(shè)備通電后,先進(jìn)行基本的外設(shè)、數(shù)據(jù)和模塊初始化。初始化結(jié)束以后,如果之前有連接過Wi-Fi(配過網(wǎng)),那么會(huì)自動(dòng)再次連接該Wi-Fi(這部分ESP8266內(nèi)部自動(dòng)完成的),檢測(cè)到ESP8266連接Wi-Fi成功時(shí),設(shè)備開始控制ESP8266設(shè)置為透?jìng)髂J?連接心知天氣服務(wù)器接口,進(jìn)入透?jìng)?進(jìn)行GMT時(shí)間獲取寫入時(shí)鐘芯片,以及攜帶密鑰進(jìn)行獲取指定地址的天氣狀況。獲取結(jié)束以后,退出透?jìng)魍顺鲞B接,重新連接oneNET的EDP協(xié)議端口,進(jìn)入透?jìng)?攜帶在OneNET服務(wù)器注冊(cè)的設(shè)備ID和API-KEY發(fā)起登陸請(qǐng)求,登陸成功以后需要定時(shí)發(fā)起心跳請(qǐng)求,用于告知OneNET服務(wù)器設(shè)備依然在線保持連接,如果超時(shí)也自動(dòng)被OneNET強(qiáng)制下線,被強(qiáng)制下線的設(shè)備需要重新發(fā)起登錄。
登陸成功以后,定時(shí)發(fā)起心跳請(qǐng)求,以及上傳數(shù)據(jù),每6秒退出一次透?jìng)?以便檢查連接的Wi-Fi狀態(tài),即連接的Wi-Fi名稱信號(hào)強(qiáng)度,檢查完立刻重新連接端口恢復(fù)透?jìng)鳌H绻盏絹碜設(shè)neNET下發(fā)的指令(自定義的指令),則解析指令內(nèi)容,如果是定義好的,那么就去執(zhí)行對(duì)應(yīng)的指令內(nèi)容,比如更換天氣城市。
3.2.3 微信通信設(shè)計(jì)
微信小程序和硬件之間無法直接通信,所以需要有個(gè)物聯(lián)網(wǎng)的服務(wù)器,本項(xiàng)目選用了OneNET物聯(lián)網(wǎng)平臺(tái)。小程序和硬件的通信,是經(jīng)過OneNET服務(wù)器,在OneNET服務(wù)器上創(chuàng)建產(chǎn)品申請(qǐng)以后,會(huì)有設(shè)備ID和API-KEY,小程序只需要根據(jù)OneNET的EDP端口開放的API接口,攜帶這兩樣進(jìn)行HTTP或者HTTPS通信就可以查看設(shè)備上傳的數(shù)據(jù)、設(shè)備是否在線、下發(fā)給該設(shè)備指令。
公眾號(hào)由于不支持開發(fā),也無法直接和OneNET通信,所以通信則是公眾號(hào)把用戶消息轉(zhuǎn)發(fā)到自建的服務(wù)器,服務(wù)器處理完以后根據(jù)處理結(jié)果和該用戶綁定的設(shè)備情況,轉(zhuǎn)發(fā)給OneNET服務(wù)器,OneNET服務(wù)器檢查如果設(shè)備在線,那么就轉(zhuǎn)發(fā)給設(shè)備,根據(jù)處理結(jié)果應(yīng)答到服務(wù)器,我的服務(wù)器根據(jù)OneNET應(yīng)答結(jié)果處理后轉(zhuǎn)發(fā)給公眾號(hào)(微信公眾號(hào)的服務(wù)器),最后顯示在用戶的手機(jī)微信上。
將硬件端設(shè)備通電后,先進(jìn)行網(wǎng)絡(luò)配置。網(wǎng)絡(luò)配置有微信配置和網(wǎng)頁面配置兩種方法,按照提示信息進(jìn)行配置既可。硬件設(shè)備連接Wi-Fi的成功后,就可以在微信小程序端查看檢測(cè)數(shù)據(jù)。如果沒有連接Wi-Fi,則只能在硬件端查看空氣質(zhì)量監(jiān)控?cái)?shù)據(jù),如圖2、圖3所示。

圖2 監(jiān)控界面Fig.2 Monitoring interface

圖3 主界面Fig.3 Main interface
用戶需要關(guān)注“檢測(cè)控制系統(tǒng)”公眾號(hào),在消息欄中輸入“獲取設(shè)備幫助”,可以看到幫助信息;根據(jù)幫助信息,可以使用語音或文字指令查詢監(jiān)測(cè)數(shù)據(jù),如圖4所示。

圖4 手機(jī)端獲取監(jiān)測(cè)數(shù)據(jù)Fig.4 Obtaining monitoring data from the mobile phone
本文設(shè)計(jì)了一款空氣質(zhì)量檢測(cè)系統(tǒng),該系統(tǒng)基于STM32單片機(jī),具有實(shí)時(shí)檢測(cè)空氣質(zhì)量、顯示時(shí)間、日期、天氣預(yù)報(bào)、用戶使用智能手機(jī)遠(yuǎn)程讀取監(jiān)測(cè)數(shù)據(jù)的功能,適用于室內(nèi)的空氣質(zhì)量檢測(cè)。本產(chǎn)品的主要特點(diǎn)是可以通過手機(jī)小程序讀取檢測(cè)數(shù)據(jù),這是市場(chǎng)上現(xiàn)有的空氣質(zhì)量檢測(cè)設(shè)備所沒有的功能。本系統(tǒng)同樣適合用在室外的環(huán)境中,將通信模塊換成GSM功能的擴(kuò)展模塊,就可以解決需要Wi-Fi信號(hào)的缺點(diǎn),可以不受環(huán)境限制,用于更多的場(chǎng)景[4]。在后續(xù)的研究中,擬增加GSM無線應(yīng)用及檢測(cè)報(bào)警功能,以增加產(chǎn)品的功能性及適用性。