李巖博 潘明巖 陳東紅 陳錫愛
摘 要:針對空氣質量測試的實時性以及大多公眾場合無網絡無WiFi的問題,本文設計了一款基于NBIOT和微信的空氣質量直播系統。該系統以STM32F100超低功耗單片機為控制核心,采用光照、甲醛、氣壓等傳感器,通過NBIOT窄帶物聯網實現硬件模塊與微信客戶端的遠程數據傳輸,實現了低功耗下的空氣質量數據采集功能。該系統具有本地數據記錄、回顧功能,同時基于NBIOT通訊實現了云服務器數據同步更新功能和支持微信平臺的網絡終端數據查詢功能。
關鍵詞:NBIOT窄帶物聯網 微信客戶端 STM32 空氣質量檢測 低功耗
中圖分類號:X85 文獻標識碼:A 文章編號:1672-3791(2018)08(c)-0012-02
隨著生活水平的迅速提高,人們對自己日常生活和工作的室內空氣環境質量的要求不斷提高。同時,建筑節能的要求在現代科技的支持下,使室內建筑的密閉性越來越好,室內空氣與室外空氣的交換越來越少,極易導致室內污染物的積累,引發室內空氣污染。目前,市面上在售的可以自動檢測空氣質量的設備,大多依賴WiFi來進行數據傳輸,考慮到新房以及其他公眾場合沒有公共網絡,市場上并沒有能夠在無網絡情況下將數據傳輸到移動設備的儀器,那么本文設計的空氣質量檢測系統就顯得意義重大。
此空氣質量檢測系統擁有低功耗、信號覆蓋廣等特點,解決了無網絡情況下室內空氣質量實時檢測的問題,并結合NBIOT物聯網技術將采集到的數據發送到阿里云數據庫,進而顯示到微信客戶端。用戶可以隨時隨地打開微信查看室內空氣質量的各項指標,給用戶帶來了極大便利的同時能夠有效實現空氣質量檢測的智能化、自動化,能夠推進智能家居的快速發展,從而推動社會經濟的快速發展。
1 系統整體設計
本文設計的系統由底層硬件部分及微信客戶端組成。硬件部分利用低功耗單片機STM32F100對空氣質量濃度實時采集并處理,利用NBIOT低功耗、覆蓋廣的特點將無線傳輸數據到云服務器,并且支持本地數據存儲,同時以微信公眾號形式將數據采集結果呈現出來,也可以在微信界面上對數據庫內容進行操作處理,以此實現人機交互,系統結構圖如圖1所示。
2 上下位機軟件設計
2.1 下位機軟件設計
該空氣質量檢測系統的設備首先初始化LWIP協議棧和我們的TCP服務器,然后和我們的客戶機建立連接,當連接上以后,再進行LED、ADC、串口、IIC等模塊的初始化。初始化后定時對甲醛、PM2.5、二氧化碳、氣壓、光強燈數據進行采集,并將采集到的數據進行打包,寫入發送緩存區,按定時2min對數據進行采集和更新。下位機整體軟件流程圖如圖2所示。
2.2 上位機通信設計
(1)MCU與云服務器的通信設計。本系統與云服務端與MCU之間的通信是基于一套接字socket辦議。大多數互聯網應用都是基于TCP的,它是一種能在客戶端和服務器套接字之間提供可靠傳輸數據的方式。在這里使用Node中的Net模塊來創建一個絲術的TCP服務器。
(2)微信與公眾平臺服務器的通信設計。微信用戶關注公眾號并綁定設備,確定之后就可以通過微信對設備進行實時監測與查詢。而設備服務器號需要我們自己申請,拿到appid和access token,這是每個公眾號唯一的ID和token。接下來申請服務器,最后做服務器號的接入認證。
2.3 上位機軟件設計
上位機軟件在開始的時候先與NBIOT網絡連接,成功后會顯示連接成功。連接成功后下位機發送數據到MySQL數據庫,緊接著用PHP讀取數據,進而顯示數據到微信界面以實現人機交互。MySQL數據庫設計如表1所示。
2.4 上位機界面設計
上位機界面分為兩個部分:當前數據和歷史數據。
在當前數據界面中,可以查看當前空氣質量的檢測值,如圖3所示。在歷史數據界面中,以折線統計圖的方式呈現歷史數據,如圖4所示。
3 結語
本文設計的空氣質量檢測系統針對傳統的空氣質量測試儀進行了功耗方面和數據傳輸方面的優化,由于NBIOT窄帶物聯網的應用,可以隨時隨地傳輸數據到微信客戶端供用戶進行參考,保障用戶生命安全的同時節省了用戶大量的時間,使采集其他更多的信息成為可能,開辟新的商業領域,具有非常高的社會效益。
參考文獻
[1] 馬士玲.物聯網技術在智慧城市建設中的應用[J].物聯網技術,2012,2(2):70-72.
[2] 嚴益強.NB-IOT技術簡介及其在智慧城市中應用研究[J].廣東通信技術,2016,36(11):6-8.
[3] 竇強,葛鑫,冉述,等.智能家居發展現狀研究[J].科技視界,2015(18):171-172.
[4] 王玉英.基于JSP的MySQL數據庫訪問技術[J].現代計算機:專業版,2010(14):67-70.
[5] 陳楊楊,黎銘生,黃國際,等.基于JSP+MYSQL的實驗教學中心信息資源管理網站的設計與開發[J].電腦知識與技術,2010(23):6640-6642.