李影 王波
(仰恩大學工程技術學院,福建泉州 362014)
近年來,我國在空氣質量治理方面下了很大的力氣,也取得了非??上驳某煽?據生態(tài)環(huán)境部的統(tǒng)計數據,2020年1月至12月全國337個地級及以上城市平均優(yōu)良天數比例為87.0%。大環(huán)境空氣質量變好的同時,人們也開始關注小環(huán)境的空氣質量,比如新買的汽車、新裝修的房子等[1]。目前,室內空氣質量檢測主要依賴專業(yè)機構,市場上出售的室內空氣質量檢測設備功能簡單,不能滿足用戶的需求。本文設計了一款適用于室內環(huán)境的空氣質量檢測系統(tǒng),該系統(tǒng)可以檢測CO2、甲醛、TVOC、PM2.5等數據,并可以通過智能手機遠程查看檢測數據。
本文設計了一款空氣質量檢測系統(tǒng),該系統(tǒng)適用于室內、車內等小空間的空氣質量檢測檢測數據包括CO2、甲醛、TVOC、PM2.5、PM10、溫度和濕度。系統(tǒng)分為硬件設計、服務器設計、oneNET物聯網平臺、微信小程序設計四個主要部分。
系統(tǒng)的硬件部分使用了STM32F103C8T6單片機,數據檢測使用的是七合一空氣質量檢測傳感器,配有4.3寸可觸式屏幕,檢測數據可以直接顯示在硬件顯示屏上。服務器用于存儲檢測數據,oneNET物聯網平臺用于與微信小程序之間進行通信。在硬件的設計中還加入了時鐘和本地天氣功能。本系統(tǒng)的硬件部分僅有4cm×3cm×3cm,可以擺放在桌面等地方,如果不需要檢測環(huán)境數據時,還可以做天氣、時鐘和溫濕度計使用。
本文選用了STM32F103C8T6單片機小系統(tǒng)板。單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)[2]。因為其體積小、處理能力比較強的特點,被廣泛的用在各類電子產品上,現代生活中所用的每件電子和機械產品中幾乎都會集成有單片機的存在。
本文使用oneNET云平臺。物聯網云平臺是近年來發(fā)展起來的物聯網云端解決方案。云平臺提供了大量的API接口,可以將檢測裝置檢測到的數據上傳到平臺上。相比于傳統(tǒng)的服務器技術,云平臺對開發(fā)者更加友好。
本文開發(fā)了“檢測控制系統(tǒng)”微信小程序[3]。根據《2019-2020微信就業(yè)影響力報告》公布的數據,截至2020年第一季度,在即時通信軟件排名方面,微信及WeChat排名全球第三、中國第一,微信及WeChat的合并月活躍帳戶數達12.025億?;谝陨锨闆r的分析,使用微信小程序作為移動監(jiān)控端,要要優(yōu)于APP。微信小程序有著與APP相似的功能性,在APP上能夠實現的功能,在微信小程序上也可以完成,并且小程序具有不占用手機內存的最大優(yōu)勢。
空氣質量檢測系統(tǒng)的核心檢測部件是TW70ST七合一傳感器,控制器采用STM32F103C8T6,Wi-Fi模塊將設備連接本地的Wi-Fi信號,并將檢測數據傳輸到服務器中。用戶在微信小程序中搜索并關注“檢測控制系統(tǒng)”,就可以通過關鍵字遠程查看監(jiān)測數據。系統(tǒng)架構圖如圖1。
圖1 空氣質量監(jiān)控系統(tǒng)架構圖Fig.1 Air quality monitoring system architecture diagram
3.1.1 STM32F103C8T6微控制器
STM32是一款基于ARM Cortex-M內核系列的32位的微控制器,因為其低價位、高性能、低功耗又易于開發(fā)等特性,被廣泛應用于智能化設備。
3.1.2 TW70ST七合一傳感器
本系統(tǒng)選用TW70ST七合一傳感器,這是一款數字串口輸出傳感器模塊,可采用RS485數據總線和UART TTL兩種輸出模式,適用于空氣質量監(jiān)測,靈敏度和精確度都較高。
3.1.3 DMG48270C043_03W 4.3寸可觸屏幕
本系統(tǒng)選用4.3寸或觸屏幕,在界面的設計上分兩屏顯示。在主界面設計時鐘、本地天氣預報設置按鈕等功能,在監(jiān)控界面設計6分隔,用以顯示CO2、甲醛、TVOC、PM2.5、溫度、濕度。兩個界面通過滑動觸屏可以方便切換。
3.1.4 ESP8266串口Wi-Fi模塊
ESP8266串口Wi-Fi模塊用于連網,讀取用戶。用戶將設備連入本地Wi-Fi信號,系統(tǒng)可以將檢測到的環(huán)境數據通過Wi-Fi模塊上傳到oneNet服務器上,在Wi-Fi配置上,本系統(tǒng)設計了網頁連接和微信連接兩種方式方便用戶使用。
3.2.1 硬件端屏幕設計
硬件端的數據采集不依賴于網絡,無論設備是否登錄成功,都會定時獲取傳感器和時鐘的數據、觸摸屏的數據交互(發(fā)給觸摸屏顯示的數據內容和解析觸摸屏下發(fā)的指令內容)。在硬件端安裝了水銀開關,用于檢測屏幕方向,如果檢測到水銀開關變化長達一秒,就進行對應的屏幕翻轉(發(fā)指令給觸摸屏)。
3.2.2 連網設計
空氣質量監(jiān)控系統(tǒng)的硬件部分配有Wi-Fi模塊,當設備通電后,先進行基本的外設、數據和模塊初始化。初始化結束以后,如果之前有連接過Wi-Fi(配過網),那么會自動再次連接該Wi-Fi(這部分ESP8266內部自動完成的),檢測到ESP8266連接Wi-Fi成功時,設備開始控制ESP8266設置為透傳模式,連接心知天氣服務器接口,進入透傳,進行GMT時間獲取寫入時鐘芯片,以及攜帶密鑰進行獲取指定地址的天氣狀況。獲取結束以后,退出透傳退出連接,重新連接oneNET的EDP協議端口,進入透傳,攜帶在OneNET服務器注冊的設備ID和API-KEY發(fā)起登陸請求,登陸成功以后需要定時發(fā)起心跳請求,用于告知OneNET服務器設備依然在線保持連接,如果超時也自動被OneNET強制下線,被強制下線的設備需要重新發(fā)起登錄。
登陸成功以后,定時發(fā)起心跳請求,以及上傳數據,每6秒退出一次透傳,以便檢查連接的Wi-Fi狀態(tài),即連接的Wi-Fi名稱信號強度,檢查完立刻重新連接端口恢復透傳。如果收到來自OneNET下發(fā)的指令(自定義的指令),則解析指令內容,如果是定義好的,那么就去執(zhí)行對應的指令內容,比如更換天氣城市。
3.2.3 微信通信設計
微信小程序和硬件之間無法直接通信,所以需要有個物聯網的服務器,本項目選用了OneNET物聯網平臺。小程序和硬件的通信,是經過OneNET服務器,在OneNET服務器上創(chuàng)建產品申請以后,會有設備ID和API-KEY,小程序只需要根據OneNET的EDP端口開放的API接口,攜帶這兩樣進行HTTP或者HTTPS通信就可以查看設備上傳的數據、設備是否在線、下發(fā)給該設備指令。
公眾號由于不支持開發(fā),也無法直接和OneNET通信,所以通信則是公眾號把用戶消息轉發(fā)到自建的服務器,服務器處理完以后根據處理結果和該用戶綁定的設備情況,轉發(fā)給OneNET服務器,OneNET服務器檢查如果設備在線,那么就轉發(fā)給設備,根據處理結果應答到服務器,我的服務器根據OneNET應答結果處理后轉發(fā)給公眾號(微信公眾號的服務器),最后顯示在用戶的手機微信上。
將硬件端設備通電后,先進行網絡配置。網絡配置有微信配置和網頁面配置兩種方法,按照提示信息進行配置既可。硬件設備連接Wi-Fi的成功后,就可以在微信小程序端查看檢測數據。如果沒有連接Wi-Fi,則只能在硬件端查看空氣質量監(jiān)控數據,如圖2、圖3所示。
圖2 監(jiān)控界面Fig.2 Monitoring interface
圖3 主界面Fig.3 Main interface
用戶需要關注“檢測控制系統(tǒng)”公眾號,在消息欄中輸入“獲取設備幫助”,可以看到幫助信息;根據幫助信息,可以使用語音或文字指令查詢監(jiān)測數據,如圖4所示。
圖4 手機端獲取監(jiān)測數據Fig.4 Obtaining monitoring data from the mobile phone
本文設計了一款空氣質量檢測系統(tǒng),該系統(tǒng)基于STM32單片機,具有實時檢測空氣質量、顯示時間、日期、天氣預報、用戶使用智能手機遠程讀取監(jiān)測數據的功能,適用于室內的空氣質量檢測。本產品的主要特點是可以通過手機小程序讀取檢測數據,這是市場上現有的空氣質量檢測設備所沒有的功能。本系統(tǒng)同樣適合用在室外的環(huán)境中,將通信模塊換成GSM功能的擴展模塊,就可以解決需要Wi-Fi信號的缺點,可以不受環(huán)境限制,用于更多的場景[4]。在后續(xù)的研究中,擬增加GSM無線應用及檢測報警功能,以增加產品的功能性及適用性。