許東輝, 郭秀娟
(吉林建筑大學(xué) 電氣與計算機(jī)學(xué)院, 吉林 長春 130118)
室內(nèi)環(huán)境是影響生產(chǎn)和居民生活質(zhì)量的重要因素。無論是生產(chǎn)車間、設(shè)備間還是高端住宅,室內(nèi)環(huán)境監(jiān)測系統(tǒng)顯得尤為重要。傳統(tǒng)的監(jiān)測系統(tǒng)中數(shù)據(jù)的傳輸多采用有線通信,有線通信存在成本較高、布線繁瑣、系統(tǒng)擴(kuò)展性能差、線路老化快、抗干擾能力差等問題[1];數(shù)據(jù)顯示通常采用LCD、OLED等顯示屏,數(shù)據(jù)顯示內(nèi)容有限,并且受空間的限制用戶不能隨時隨地的查看室內(nèi)環(huán)境數(shù)據(jù)。文章設(shè)計一種基于ZigBee技術(shù)的室內(nèi)環(huán)境監(jiān)測系統(tǒng),通過DHT11和MQ-2多個終端傳感器采集室內(nèi)溫濕度與煙霧濃度,通過ZigBee技術(shù)將數(shù)據(jù)發(fā)送至ZigBee協(xié)調(diào)器,由協(xié)調(diào)器板載的Wi-Fi模塊將數(shù)據(jù)傳輸?shù)皆破脚_,將測得的溫度濕度及煙霧濃度數(shù)據(jù)在Web網(wǎng)頁上顯示。用戶可以在任何時間任何地點查看室內(nèi)環(huán)境數(shù)據(jù),并在云平臺對環(huán)境數(shù)據(jù)閾值進(jìn)行調(diào)整,在室內(nèi)有害氣體濃度或者溫濕度超出閾值時發(fā)出警報,提醒采取措施。
系統(tǒng)主要由下位機(jī)與上位機(jī)組成。下位機(jī)包括終端采集節(jié)點、協(xié)調(diào)器組成,上位機(jī)采用阿里云平臺。上位機(jī)與下位機(jī)數(shù)據(jù)交互通過Wi-Fi網(wǎng)絡(luò)完成,終端節(jié)點與協(xié)調(diào)器之間的通信采用ZigBee自組網(wǎng)進(jìn)行雙向通信。終端節(jié)點用來采集室內(nèi)溫濕度及煙霧濃度數(shù)據(jù);協(xié)調(diào)器用來匯集終端節(jié)點數(shù)據(jù),ZigBee協(xié)調(diào)器搭載了ESP8266 Wi-Fi模塊與云平臺進(jìn)行通信,將終端節(jié)點數(shù)據(jù)傳輸?shù)皆破脚_;云平臺用于系統(tǒng)數(shù)據(jù)的顯示。系統(tǒng)采用阿里云平臺,應(yīng)用阿里云平臺的IoT Studio工具創(chuàng)建數(shù)據(jù)顯示界面,可通過云平臺設(shè)置室內(nèi)環(huán)境數(shù)據(jù)的閾值,當(dāng)終端節(jié)點采集數(shù)據(jù)超過閾值時系統(tǒng)發(fā)出警報,用戶及管理人員可以及時得知室內(nèi)環(huán)境情況,為后續(xù)工作提供數(shù)據(jù)依據(jù)。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)用于室內(nèi)環(huán)境數(shù)據(jù)采集,系統(tǒng)的終端節(jié)點及協(xié)調(diào)器均安裝于室內(nèi),傳輸距離較近,因此采用TI公司最新的第二代片上系統(tǒng)CC2530,該芯片的傳輸距離為400 m以上,完全適用于室內(nèi)。CC2530是德州儀器公司推出針對IEEE 802.15.4協(xié)議和ZigBee和RF的解決方案,能夠在此芯片的基礎(chǔ)上用極低的成本構(gòu)建出強大的網(wǎng)絡(luò),并且CC2530芯片的工作溫度范圍在-40 ℃~125 ℃可以適用于多種不同的溫度情況,也可以應(yīng)對突變的溫度環(huán)境。同時,此芯片內(nèi)置強大的ZigBee協(xié)議棧,ZigBee協(xié)議棧是將各層定義的協(xié)議都集合在一起,以函數(shù)的形式實現(xiàn),并給用戶提供API(應(yīng)用程序編程接口),用戶可以直接調(diào)用[2]。通過使用ZigBee協(xié)議棧來使用ZigBee協(xié)議,實現(xiàn)無線通信功能,Zigbee協(xié)議棧是構(gòu)建ZigBee無線傳感網(wǎng)絡(luò)的核心,僅需要很少的外圍電路就能構(gòu)成ZigBee協(xié)調(diào)器和終端節(jié)點。工作模式下,ZigBee技術(shù)的傳輸速率低,傳輸數(shù)據(jù)量很小,因此信號的收發(fā)時間很短。在非工作模式情況下,ZigBee的節(jié)點處于休眠狀態(tài)。由于工作時間較短,收發(fā)信息功耗較低且采用了休眠模式,使得ZigBee節(jié)點非常省電,減少了功耗延長了待機(jī)時間。CC2530芯片電路如圖2所示。
圖2 CC2530電路圖
設(shè)計中,室內(nèi)溫濕度的數(shù)據(jù)由DHT11數(shù)據(jù)采集模塊進(jìn)行采集。DHT11由一個八位高性能單片機(jī)傳感器及與其連接的電阻式濕度傳感器、NTC測溫元件構(gòu)成。具有抗干擾能力強,反應(yīng)時間短,可靠性強和性價比高等優(yōu)點[3]。DHT11傳感器在專業(yè)實驗室校準(zhǔn)后將校準(zhǔn)系數(shù)以程序形式存儲在OTP內(nèi)存中。以便于在傳感器內(nèi)部檢測時調(diào)用校準(zhǔn)系數(shù)[4]。傳感器采用單線制的串行接口,擁有簡易快捷的優(yōu)勢。微處理器和DHT11之間的數(shù)據(jù)通信采用單數(shù)據(jù)總線傳輸方式,僅采用一根數(shù)據(jù)線即可滿足通信要求,節(jié)省了單片機(jī)上的I/O口資源。溫度傳感器與單片機(jī)連接的電路如圖3所示。
圖3 溫濕度傳感器
圖4 煙霧傳感器
煙霧傳感器采用MQ-2傳感器。MQ-2傳感器是一款技術(shù)成熟應(yīng)用范圍廣的傳感器,在家庭和工廠中被廣泛采用,MQ-2由二氧化錫組成,MQ-2的敏感材料是活性很高的SnO2,其工作原理為:當(dāng)SnO2在空氣中被加熱到一定溫度時,SnO2會吸附空氣中的氧,其電子會轉(zhuǎn)移到所吸附的氧上,導(dǎo)致氧原子變?yōu)檠踟?fù)離子,由于這種電子的轉(zhuǎn)移,會在SnO2表面生成一個正的空間電荷層,從而導(dǎo)致表面勢壘升高,這樣會阻礙電子流動,導(dǎo)致電導(dǎo)率的變化[5]。室內(nèi)安裝時一般將煙感傳感安放在廚房燃?xì)庑孤栋l(fā)生率比較高的地方。煙霧傳感器與單片機(jī)連接的電路如圖4所示。
設(shè)計中下位機(jī)與上位機(jī)之間的通訊是通過Wi-Fi網(wǎng)絡(luò)實現(xiàn)的,系統(tǒng)選擇ESP8266模塊實現(xiàn)Wi-Fi通信功能。ESP8266模塊是低功耗Wi-Fi芯片,集成了完整的TCP/IP協(xié)議棧和MCU。
ESP8266模塊芯片是基于無線通信協(xié)議的UART-Wi-Fi透傳模塊芯片,支持802.11b/g/n的無線標(biāo)準(zhǔn),并帶有三種可選擇的工作模式:STA、AP、STA+AP,比較適合家居環(huán)境使用[6]。ESP8266模塊的控制是通過AT(Attention)指令(終端與上位機(jī)實現(xiàn)通信功能的指令)的形式控制,通過串口助手可以實現(xiàn)ESP8266模塊與云平臺的數(shù)據(jù)交互。且該模塊的工作溫度范圍大,且能夠保持穩(wěn)定的性能,能適應(yīng)各種操作環(huán)境。ESP8266模塊通信原理圖如圖5所示。
圖5 ESP8266模塊原理圖
系統(tǒng)軟件部分主要分為下位機(jī)軟件及上位機(jī)軟件,其中,下位機(jī)軟件包括ZigBee自組網(wǎng)及ESP8266模塊軟件設(shè)計;上位機(jī)軟件設(shè)計為阿里云平臺的設(shè)計。
ZigBee自組網(wǎng)主要完成終端節(jié)點與協(xié)調(diào)器之間數(shù)據(jù)交互。包括系統(tǒng)各個設(shè)備的初始化,ZigBee協(xié)議的初始化。終端節(jié)點在系統(tǒng)上電后進(jìn)行主控芯片及傳感器的初始化,并尋找可用信道,當(dāng)成功加入可用網(wǎng)絡(luò)后,將數(shù)據(jù)通過ZigBee協(xié)議發(fā)送給協(xié)調(diào)器;協(xié)調(diào)器在系統(tǒng)上電后完成主控芯片初始化,并組建ZigBee網(wǎng)絡(luò),進(jìn)行掃描,當(dāng)掃描到可用信道時協(xié)調(diào)器會指定一個PAN ID和16位網(wǎng)絡(luò)地址,PAN ID范圍為0x0000~0x3FFF,協(xié)調(diào)器的地址通常為0x0000信道為11~26[7]。Zigbee網(wǎng)絡(luò)中只有協(xié)調(diào)器允許的設(shè)備才可能加入網(wǎng)絡(luò)并及時接收終端節(jié)點發(fā)送的室內(nèi)溫濕度及煙霧濃度數(shù)據(jù),并將其通過Wi-Fi網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到云平臺。
系統(tǒng)中ZigBee所選擇的開發(fā)環(huán)境是IAR軟件8.1版本,軟件本身對多種語言兼容,程序?qū)C2530芯片適配性,對系統(tǒng)網(wǎng)絡(luò)的組建提供了強有力的支持。采用C語言進(jìn)行編程,因為ZigBee協(xié)議棧為半開源協(xié)議棧,用戶可以在TI公司的官網(wǎng)免費下載全部權(quán)限的ZStack-CC2530軟件安裝,在每個應(yīng)用層中添加開發(fā)者所需要的代碼就可以實現(xiàn)ZigBee網(wǎng)絡(luò)的搭建,節(jié)省了組網(wǎng)的時間成本。ZigBee組網(wǎng)程序流程如圖6所示。
圖6 ZigBee自組網(wǎng)程序流程圖
系統(tǒng)中協(xié)調(diào)器通過ESP8266模塊與阿里云平臺進(jìn)行數(shù)據(jù)交互,ESP8266模塊與云平臺之間需要建立TCP連接進(jìn)行數(shù)據(jù)交互,文章利用串口助手通過AT指令建立ESP8266模塊與云平臺之間的連接,通過AT指令配置ESP8266無線模塊,實現(xiàn)協(xié)調(diào)器與阿里云平臺的TCP連接及數(shù)據(jù)傳輸[8]。ESP8266模塊程序流程如圖7所示。
圖7 ESP8266模塊程序流程圖
系統(tǒng)的上位機(jī)采用阿里云平臺,通過阿里云平臺的IoT Studio工具完成Web界面的建立。利用該工具,只需在編輯框內(nèi)進(jìn)行簡單設(shè)計,配置數(shù)據(jù)源,最后發(fā)布即可完成Web界面的創(chuàng)建,然后ESP8266可以將終端采集的數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,通過Wi-Fi無線傳輸?shù)皆破脚_,管理人員和用戶可以通過阿里云平臺賬戶登錄進(jìn)行數(shù)據(jù)的監(jiān)測,無需用戶自主搭建App,大大降低了開發(fā)成本。Web界面如圖8所示。
圖8 Web界面
系統(tǒng)調(diào)試好之后隨機(jī)采取某天不同時刻的溫度與物理測試的數(shù)值進(jìn)行對比,詳情見表1。
表1 系統(tǒng)測量數(shù)據(jù)表
經(jīng)過系統(tǒng)的測試,比較系統(tǒng)顯示值和實際測量值之間的誤差,經(jīng)過對比數(shù)據(jù)進(jìn)行分析,系統(tǒng)的誤差率控制在0.6%以下,能滿足對日常生產(chǎn)生活的使用,滿足系統(tǒng)的最初設(shè)定。
基于ZigBee的室內(nèi)溫濕度與煙霧信號監(jiān)測系統(tǒng)的使用,消除了傳統(tǒng)監(jiān)測系統(tǒng)通過有線方式通訊的弊端,管理人員及用戶可在云平臺Web網(wǎng)頁上對數(shù)據(jù)進(jìn)行瀏覽,為生產(chǎn)生活提供了便利。