詹曉蕓,朱娟(通訊作者)
(湖北文理學(xué)院,湖北襄陽,441053)
隨著物聯(lián)網(wǎng)時代的到來,傳統(tǒng)數(shù)字設(shè)備的有線連接已經(jīng)不再便利,在一定程度上反而限制了人們的生活。無線傳感器網(wǎng)絡(luò)是物聯(lián)網(wǎng)技術(shù)的關(guān)鍵,多個無線傳感器可以對各種參數(shù)進行實時監(jiān)測、感知,以便采集各種信息和解決各類復(fù)雜細小的問題。zigbee技術(shù)是近距離無線傳感網(wǎng)絡(luò)采用的主流技術(shù),目前,zigbee技術(shù)已經(jīng)開始應(yīng)用在智能農(nóng)業(yè)、醫(yī)療、工業(yè)生產(chǎn)等各方面,均構(gòu)建了可靠、穩(wěn)定的無線傳感網(wǎng)絡(luò)數(shù)據(jù)采集處理解決方案,實現(xiàn)了各個領(lǐng)域的智能化、精準化、數(shù)字化監(jiān)控,為人們的生活帶來了極大便利。
本系統(tǒng)主要分為溫濕度數(shù)據(jù)采集和遠程數(shù)據(jù)傳輸兩部分。如圖1所示,zigbee無線網(wǎng)絡(luò)的第一部分主要由協(xié)調(diào)器和傳感器構(gòu)成的終端設(shè)備組成。在數(shù)據(jù)采集過程中,終端設(shè)備不斷從環(huán)境中采集溫濕度,并將結(jié)果發(fā)送到協(xié)調(diào)器。同時,協(xié)調(diào)器將全方位處理接收到的數(shù)據(jù)并將其以數(shù)據(jù)包的形式傳輸至STM32單片機中。單片機將使用預(yù)先設(shè)計的算法處理、保存、顯示數(shù)據(jù),以提高系統(tǒng)數(shù)據(jù)遠程傳輸?shù)男屎桶踩浴C看蜧PRS模塊從STM32接收數(shù)據(jù)包時,都會將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫中。數(shù)據(jù)管理中心進行維護,通過這種方式,用戶可以輕松訪問數(shù)據(jù)管理平臺以獲取有關(guān)當時環(huán)境溫度和濕度的實時信息。
圖1 溫濕度采集系統(tǒng)的整體框架圖
所謂協(xié)調(diào)器,就是網(wǎng)絡(luò)組織的管理者。對于一般的應(yīng)用模型,一旦形成了zigbee網(wǎng)絡(luò),其主要功能是根據(jù)掃描選擇合適的參數(shù)來建立網(wǎng)絡(luò),每個zigbee網(wǎng)絡(luò)僅允許一個協(xié)調(diào)器在此網(wǎng)絡(luò)中找一條通道,隨后建立一個網(wǎng)絡(luò)信號以便于啟動網(wǎng)絡(luò)[1]。由于整個網(wǎng)絡(luò)的起點是協(xié)調(diào)器,負責(zé)維護整個網(wǎng)絡(luò),并且還可以間接地址表,以及設(shè)計安全中心并執(zhí)行其他操作以維持與網(wǎng)絡(luò)其他成員的通信。如圖2所示,本系統(tǒng)以STM32為中心,電源給系統(tǒng)供電后,若想從OLED顯示屏上進行某些操作時,STM32會向CC2530發(fā)出相關(guān)指令,后續(xù)操作均由CC2530來控制,指令執(zhí)行完畢之后,以數(shù)據(jù)包的形式將數(shù)據(jù)發(fā)送給STM32,顯示于OLED顯示屏上。
圖2 zigbee協(xié)調(diào)器的硬件框圖
DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字輸出的溫濕度復(fù)合傳感器[2]。它通過采集當前環(huán)境的溫濕度,同時將數(shù)據(jù)發(fā)送至協(xié)調(diào)器以便于協(xié)調(diào)器的進一步處理。此傳感器的優(yōu)勢在于它將電阻式感濕元件和NTC測溫元件。兩器件相結(jié)合從而確保傳感器能高質(zhì)量準確運行。所以基于其優(yōu)勢的合理運用,此傳感器不僅可用于醫(yī)療、家庭自動控制也可以在軍事等領(lǐng)域發(fā)揮獨特作用。DHT11元器件的引腳說明:PIN1用于提供電量3V至5V;PIN2用于串行傳輸數(shù)據(jù);PIN3懸空即可;PIN4接地即可。DHT11電路原理圖如圖3所示。
圖3 DHT11電路原理圖
系統(tǒng)軟件設(shè)計分為兩部分,一部分是發(fā)射部分,另一部分是接收部分。如圖4所示,發(fā)射部分用于采集數(shù)據(jù),接收部分用于處理傳感器經(jīng)過zigbee網(wǎng)絡(luò)傳輸過來的溫度數(shù)據(jù)(數(shù)字信號),若發(fā)送成功,接收部分會對數(shù)據(jù)進行進一步處理,若發(fā)送失敗,數(shù)據(jù)會等待下一個周期進行重發(fā),數(shù)據(jù)經(jīng)過單片機的有效處理后,有效信息將會顯示在OLED液晶屏上。
圖4 主程序的收發(fā)流程圖
如圖5所示,協(xié)調(diào)器上電后,首先完成對STM32、OLED和UART串行通信口的初始化,并在節(jié)點被設(shè)置為協(xié)調(diào)器之后,開始建立網(wǎng)絡(luò),等待傳感器、溫度采集終端加入網(wǎng)絡(luò)后,協(xié)調(diào)器將開始處理來自終端設(shè)備發(fā)射過來的采集數(shù)據(jù),單片機對是否接收到數(shù)據(jù)進行一次判斷,若正確接收即對數(shù)據(jù)進行處理和保存;若接受失敗,數(shù)據(jù)將會在等待四個機械周期后進行重發(fā)并等待單片機接收。在單片機對數(shù)據(jù)處理和保存之后,它會將處理過的數(shù)據(jù)發(fā)送至OLED顯示屏上,隨后進行無線傳輸直至結(jié)束。
如圖6所示,系統(tǒng)的溫度采集傳感器節(jié)點上電啟動后,它將會主動掃描指定的網(wǎng)絡(luò),并且向協(xié)調(diào)器發(fā)出入網(wǎng)請求和嘗試加入網(wǎng)絡(luò),如果不成功,則將等待下一次掃描周期的到來,再次掃描加入網(wǎng)絡(luò)。加入成功后,就與協(xié)調(diào)器分配的網(wǎng)絡(luò)地址進行綁定,當傳感器沒有任務(wù)時就進入休眠狀態(tài),用以降低系統(tǒng)功耗,可以增加系統(tǒng)使用時間;當系統(tǒng)出現(xiàn)任務(wù)時,將會喚醒系統(tǒng),傳感器節(jié)點會每隔一段時間周期性的采集數(shù)據(jù)、讀取周圍環(huán)境溫度值,并將數(shù)據(jù)打包傳給父節(jié)點[4]。如果數(shù)據(jù)傳輸成功,傳感器則會進入休眠模式,之后則等待定時喚醒;反之如若未傳輸成功,則會需要等待數(shù)據(jù)再次傳輸,直至傳輸成功進入循環(huán)。
圖5 協(xié)調(diào)器接收過程流程圖
溫度和濕度是滿足居住和生活舒適度的最低要求,溫濕度硬件電路主要是由CC2530無線收發(fā)模塊、溫度和濕度傳感器、電源模塊幾大部分組成。溫濕度采集分為兩個部分,第一部分為室內(nèi)所有終端設(shè)備內(nèi)的溫濕度傳感器對溫濕度進行采集,若采集成功就通過ADC電壓轉(zhuǎn)換,將采集到的電壓數(shù)據(jù)(模擬數(shù)據(jù))轉(zhuǎn)換為10進制的數(shù)據(jù),同時將數(shù)據(jù)發(fā)送給協(xié)調(diào)器;若采集不成功就等待兩個機械周期重新對數(shù)據(jù)進行采集并通過ADC轉(zhuǎn)換,在zigbee設(shè)備節(jié)點進行數(shù)據(jù)發(fā)送,需經(jīng)過zigbee終端設(shè)備檢測是否發(fā)射成功,發(fā)射成功則由zigbee協(xié)調(diào)器接受,發(fā)射不成功則由zigbee設(shè)備節(jié)點重新發(fā)送。第二部分是協(xié)調(diào)器接收到數(shù)據(jù)后對所有的數(shù)據(jù)進行整理,并通過串口將數(shù)據(jù)傳送到外接單片機STM32進行數(shù)據(jù)處理和保存,同時傳給OLED進行顯示。
圖6 傳感器節(jié)點流程圖
本系統(tǒng)在IAR EW8051環(huán)境下完成基于zigbee2007協(xié)議棧的軟件開發(fā),實現(xiàn)了星型組網(wǎng)下傳感器節(jié)點(左)到協(xié)調(diào)器節(jié)點(右)的無線溫度傳輸,測試過程如圖7所示。
圖7 系統(tǒng)測試圖
由測試結(jié)果可知,系統(tǒng)上電后傳感器節(jié)點和協(xié)調(diào)器節(jié)點成功組網(wǎng)后便可以獲取 zigbee 網(wǎng)絡(luò)中的通信節(jié)點MAC地址、網(wǎng)絡(luò)域名、信號強度、鏈路質(zhì)量等信息。進一步初始化后,便可對環(huán)境的溫濕度信息進行實時采集,經(jīng)測試采集距離可達10米,溫濕度數(shù)據(jù)精度可達0.01。
本文實現(xiàn)了基于zigbee智能無線溫濕度采集系統(tǒng)設(shè)計,運用zigbee無線傳感網(wǎng)絡(luò)技術(shù)、STM32嵌入式技術(shù)對室內(nèi)溫濕度進行實時監(jiān)測,具有組網(wǎng)靈活、功耗低,成本低等優(yōu)點。該系統(tǒng)經(jīng)擴展后可應(yīng)用于各種復(fù)雜溫度監(jiān)測場景中,解決實時性差、精度低、成本高等問題,具有良好市場應(yīng)用價值。