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