孫玉霞,王軍敏
(平頂山學院信息工程學院,河南平頂山,467000)
對室內環境的實時監測對提高家居的安全性和舒適性具有重要意義,但現有的室內環境監測系統存在一些不足,例如監測數據不全面,不能及時有效地進行數據推送,組網形式復雜等[1,2]。為了解決上述問題,本文設計一種監測數據全面、檢測精度高、傳輸穩定的無線室內環境實時監測系統。
基于MQTT通信協議的無線室內環境實時監測系統主要包含硬件和軟件兩部分。一方面控制硬件利用傳感器采集信息到TFT屏幕監測并且將采集到的信息推送到MQTT服務器,當有害氣體超過閾值則發出警報;另一方面用戶先注冊再登錄系統,小程序端便會訂閱硬件主題下推送的消息,從而渲染到頁面上進行實時更新,達到遠程實時查看的功能。
在該系統中主要實現光照度監測、溫濕度監測、煙霧濃度監測和一氧化碳濃度監測。無線室內環境實時監測系統的STM32主控單元負責接收數據,當讀取到一氧化碳濃度超過閾值時,蜂鳴器會發出警報提醒用戶及時開窗通風,當讀取到室內溫濕度時,提醒用戶通過空氣加濕器等一些家用電器來及時調整室內溫濕度。此外,主控將數據讀取后,可以通過ESP-12F WiFi模塊利用MQTT協議[3]上傳到MQTT服務器,在此過程中ESP-12F WiFi模塊聯網,通過網絡設備獲取ID并接入Broker之后,往/iot/445/xyz推送消息,微信小程序再去訂閱這個消息便可以實現數據的實時顯示,微信小程序控制燈的開關是通過推送關燈指令給MQTT服務器,ESP-12F模塊訂閱到開關燈指令實現燈的開關。
圖1展示了該系統的原理圖,設備側通過最小核心采集傳感器信息,ESP-12F模塊把數據通過路由器推送到MQTT服務器,用戶側通過調用合適的API發起請求,并訂閱MQTT推送過來的消息,微信小程序也可以發送AT指令反向控制設備側燈的開關來調節光照度。

圖1 基于MQTT通信協議的無線室內環境實時監測系統原理圖
本系統采用DHT11溫濕度傳感器對室內溫濕度進行檢測,其溫度測量范圍為0到50度,濕度測量范圍為20%到95%,工作電壓為3.3V到5V。圖2為DHT11溫濕度檢測模塊電路圖。

圖2 DHT11溫濕度檢測模塊電路圖
采用MQ-2煙霧傳感器檢測室內煙霧濃度,采用MQ-7氣體傳感器檢測一氧化碳濃度。圖3為空氣檢測模塊的電路圖,采用模擬量對煙霧和一氧化碳濃度進行監測,VCC接5V電源,GND接地。

圖3 煙霧和一氧化碳濃度檢測模塊電路圖
ESP-12F模塊支持標準的IEEE8 02.11 b/g/n協議,完整的TCP/IP協議棧,方便用戶使用此模塊為設備添加聯網功能。ESP8266共包含22個引腳,其中GPIO6-11被用于連接開發板的閃存,因此不適合用戶自定義使用,可以使用其他的GPIO來對PWM進行接口控制。ESP8266負責無線上網接入承擔WiFi適配器的任務時,可以將其添加到基于微控制器的設計中,連接簡單易行。圖4為ESP-12F WIFI模塊電路圖,只需通過SPI/SDIO接口或I2C/UART口、ESP-12F的RX引腳連接STM32VET6的PB10引腳、TX接PA11引腳、RST接PB9引腳即可。

圖4 ESP-12F WiFi模塊電路圖
當無線室內環境實時監測系統程序開啟時,首先進行程序端的初始化,然后各硬件元件根據程序預設的狀態進行硬件元件的初始化,硬件初始化會有略微的時延。硬件初始化結束后將WiFi模塊配置為STA模式,通過對ESP-12F進行設置,COM的數據與WiFi的網絡數據相互轉換。若配置未完成則繼續配置,配置完成后連接到MQTT服務器,采集端通過MQTT主題發布消息到服務器,微信小程序通過訂閱此主題便可接收到消息,最后通過小程序的API渲染到頁面上。圖5為采集端主程序的工作流程圖。

圖5 采集端主程序的工作流程圖
無線室內實時監測系統的移動終端是開發的一款用完即走的微信小程序[4],通過平臺中提供的組件對移動終端的功能與界面進行設計,首先選擇布局方案,主頁包含頭部、主體內容、Echarts圖表、導航欄四個模塊,采用wxml語言進行模塊化布局,wxss語言進行樣式美化。主體內容展示實時檢測到的數據,為了到達響應式效果,本系統采用flex伸縮布局,通過設置主軸的方向和子元素的排列方式來實現。Echarts圖表部分結合數據可視化知識,引入了Echarts柱狀圖,利用控制臺訂閱到的數據對Echarts中data數組的賦值便可實現數據的實時變化。
本系統的移動終端可以在主界面對室內的溫濕度數據、煙霧濃度數據、一氧化碳濃度數據和光照強度數據進行實時顯示,同時可以通過ECharts圖表明顯地展示數據的實時變化情況,如圖6所示。

圖6 移動終端主界面
本文采用STM32單片機、多種傳感器和WiFi模塊設計了一個無線室內環境實時監測系統,該系統以STM32單片機為控制核心,使用DHT11、MQ-7等多種類型的傳感器采集室內的多種環境數據,并利用無線WiFi模塊通過MQTT通信協議將數據傳送至微信小程序,用戶可通過微信小程序遠程實時查看室內的環境狀況,具有重要的應用價值。