基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)11000字論文_第1頁
基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)11000字論文_第2頁
基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)11000字論文_第3頁
基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)11000字論文_第4頁
基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)11000字論文_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng)設計與實現(xiàn)內(nèi)容提要:環(huán)境監(jiān)測在現(xiàn)實生活中具有舉足輕重的地位,從環(huán)境的監(jiān)控與預測,環(huán)境生態(tài)管理到工農(nóng)業(yè)生產(chǎn),智能家居,我們需要采集并處理大量的數(shù)據(jù),實時且準確的環(huán)境參數(shù)至關重要。傳統(tǒng)的環(huán)境監(jiān)測設備造價高,結構復雜,維護成本高,無法適應越來越多樣化的智能控制需求。本文以CC2530芯片為核心控制芯片設計了基于ZigBee無線通信技術的環(huán)境監(jiān)測系統(tǒng),利用IAR軟件在Z-Stack中對網(wǎng)絡節(jié)點進行編程,用QT軟件編寫了上位機程序,重點研究了ZigBee網(wǎng)絡通信、數(shù)據(jù)采集、上位機軟件開發(fā)。本設計可以用無線傳感器節(jié)點對環(huán)境中的溫濕度,土壤濕度,河流水位,煙霧濃度做出測量,并將數(shù)據(jù)實時傳送到上位機,滿足人們防范火災、洪澇災害,時刻掌握環(huán)境狀況的需求。本設計部署簡單、可以無人操作、可以長期且實時監(jiān)控、節(jié)點成本相對較低,可以適應多樣化的環(huán)境監(jiān)測需求。關鍵詞:CC2530,無線傳感器網(wǎng)絡,ZigBee,環(huán)境監(jiān)測系統(tǒng)目錄1緒論 31.1課題研究背景和意義 31.2國內(nèi)外環(huán)境監(jiān)測系統(tǒng)研究現(xiàn)狀 31.2.1環(huán)境監(jiān)測方法 31.2.2無線傳感器網(wǎng)絡應用現(xiàn)狀 41.3本文研究內(nèi)容 52系統(tǒng)原理與總體方案設計 62.1ZigBee技術概述 62.1.1ZigBee技術簡介 62.1.2ZigBee技術特點 62.1.3ZigBee協(xié)議棧 72.1.4ZigBee網(wǎng)絡設備及拓撲結構 82.2系統(tǒng)總體設計方案 92.3系統(tǒng)節(jié)點設計原理 92.3.1終端節(jié)點 92.3.2協(xié)調(diào)器節(jié)點 3系統(tǒng)硬件設計 3.1核心模塊簡介 3.2控制模塊設計 3.2.1電壓轉換模塊 3.2.2USB轉串口模塊 3.2.3OLED液晶顯示模塊 3.3傳感器模塊 3.3.1溫濕度傳感模塊 3.3.3土壤濕度傳感模塊 3.3.4水位傳感模塊 3.4節(jié)點電路設計 3.4.1終端節(jié)點 3.4.2協(xié)調(diào)器節(jié)點 4系統(tǒng)軟件設計 4.1系統(tǒng)開發(fā)環(huán)境簡介 4.2ZigBee協(xié)議棧簡介 4.3節(jié)點軟件設計 4.3.1終端節(jié)點工作流程 4.3.2協(xié)調(diào)器節(jié)點工作流程 4.3.3初始化 204.3.4周期檢測與OLED顯示、數(shù)據(jù)發(fā)送 204.3.5協(xié)調(diào)器數(shù)據(jù)傳送 204.3.6程序燒錄 214.4上位機軟件開發(fā)環(huán)境簡介 4.5上位機軟件設計 4.5.1設計思路 4.5.2構造串口 4.5.3串口線程、信號與槽 4.5.4數(shù)據(jù)顯示 234.5.5UI設計 5系統(tǒng)實驗與結果 256總結與展望 26 266.2展望 27 271緒論1.1課題研究背景和意義在實際生產(chǎn)生活中,環(huán)境監(jiān)測始終是一個重要的問題,大到自然災害的防治,小到生產(chǎn)生活中的應用。如果能掌握充分的環(huán)境信息,對這些數(shù)據(jù)進行分析,就能預測環(huán)境的變化,對可能發(fā)生的情況做出未雨綢繆的決策,消除安全隱患,讓事件向人們預期的方向發(fā)展。環(huán)境監(jiān)測不只是宏觀的氣象監(jiān)測、森林火災預防、洪澇災害預防,也存在于許多個性化的、微觀的應用場景中,比如對礦井中的溫濕度,煙霧濃度等環(huán)境信息進行監(jiān)控,預防瓦斯泄露以及透水等事故。對于環(huán)境監(jiān)測而言,持續(xù)而穩(wěn)定地獲取高質量監(jiān)測數(shù)據(jù)是十分重要的,這就需要監(jiān)測系統(tǒng)有較低的成本,較高的可持續(xù)性1]。基于ZigBee技術的無線傳感器網(wǎng)絡為環(huán)境監(jiān)測的一些問題提供了新的解決方案。與傳統(tǒng)的固定監(jiān)測站相比,無線傳感器網(wǎng)絡的優(yōu)勢有很多,比如低成本,便于部署,傳感節(jié)點可以廣泛布置。在傳統(tǒng)的環(huán)境監(jiān)測方式無法滿足監(jiān)測需求的地方,如礦井作業(yè)區(qū)監(jiān)控、河流、森林火災預防等應用場景,無線傳感器網(wǎng)絡可以發(fā)揮重要作用[2]。1.2國內(nèi)外環(huán)境監(jiān)測系統(tǒng)研究現(xiàn)狀1.2.1環(huán)境監(jiān)測方法在工業(yè)發(fā)達國家,環(huán)境監(jiān)測大致經(jīng)歷了從污染事故的調(diào)查到環(huán)境質量監(jiān)測的轉變,20世紀80年代,發(fā)達國家先后建立了可以自動連續(xù)監(jiān)測的環(huán)境監(jiān)測系統(tǒng)和宏觀的生態(tài)監(jiān)測系統(tǒng),此時地理信息系統(tǒng)技術,衛(wèi)星遙感技術和全球衛(wèi)星定位系統(tǒng)技術也開始用于環(huán)境監(jiān)測?,F(xiàn)代的環(huán)境監(jiān)測方式也大多基于監(jiān)測站點、衛(wèi)星遙感、人工檢測。如美國的CASTNET清潔空氣現(xiàn)狀和趨勢網(wǎng)絡,有約90多個監(jiān)測站點(圖1-1是其中一個站點),旨在評估污染物濃度,大氣沉積和空氣污染物排放變化造成的生態(tài)影響的趨勢。瑞典環(huán)境保護局(SEPA)的國家監(jiān)測項目,編制了高價值的觀測系列,跨越了較長的時間尺度,協(xié)調(diào)了國家的監(jiān)測工作,提高了全國監(jiān)測項目的效率,有助于了解環(huán)境狀況報告我國的環(huán)境監(jiān)測工作經(jīng)過長期的發(fā)展也具有了一定的水平,環(huán)境監(jiān)測的手段也與國際接軌,也可以實現(xiàn)長時間的自動連續(xù)監(jiān)測。監(jiān)測范圍相比以往更加廣泛,基本能夠全國范圍[4]。根據(jù)《2020中國生態(tài)環(huán)境狀況公報》,我國生態(tài)環(huán)境部的環(huán)境監(jiān)測網(wǎng)絡已經(jīng)較為完善,可以監(jiān)測諸多環(huán)境數(shù)據(jù),比如空氣質量、降水、地表水水質、海洋環(huán)境、城市中的聲環(huán)境,電磁輻射和電離輻射等。除了這些監(jiān)測站點之外還有衛(wèi)星遙感數(shù)據(jù)和MODIS數(shù)據(jù)。在環(huán)境監(jiān)測方面,即使存在許多的先進方式,如衛(wèi)星遙感,無人機,眾感等,基于無線傳感器網(wǎng)絡的監(jiān)測方式也可以占據(jù)一席之地。這些技術優(yōu)勢互補1.2.2無線傳感器網(wǎng)絡應用現(xiàn)狀無線傳感器網(wǎng)絡的研究歷史從1980年美國的DSN(Distributedsensornetwork)項目開始,在此之后,IEEE也被擁有低成本高性能特性的無線傳感器網(wǎng)絡吸引了注意力,該組織為無線短距離低速率的網(wǎng)絡定義了IEEE802.15.4標準?;谶@樣的標準,ZigBee聯(lián)盟發(fā)布了ZigBee標準,該標準規(guī)定了一套可供無線傳感器網(wǎng)絡使用的高級通信協(xié)議61。針對中國發(fā)展中的三個突出問題,即采礦行業(yè)的安全問題;環(huán)境治理問題;交通堵塞問題,從2006年9月開始,我國啟動了一系列無線傳感器網(wǎng)絡研究項目,旨在用有效的低成本傳感器網(wǎng)絡解決上述三大問題17]。在環(huán)境監(jiān)測方面,無線傳感器網(wǎng)絡具有得天獨厚的優(yōu)勢。常規(guī)的環(huán)境監(jiān)測方式不夠靈活,依賴有線通信,而無線傳感器易于部署,不需要太多的配套設施,傳感器節(jié)點成本低,可以密集部署。環(huán)境參數(shù)往往處在高度動態(tài)的變化之中,無線傳感器網(wǎng)絡的特點使它可以應對環(huán)境復雜的變化,對氣象的監(jiān)控和預測起到重要作用8]。加州大學和Intel實驗室的研究人員在大鴨島的海燕棲息地部署了有32個節(jié)點的傳感器網(wǎng)絡,可以在不驚擾海燕的情況下監(jiān)測海燕的生活情況91。圖1-2是該項目所用的傳感器節(jié)點,這樣精致的傳感節(jié)點就是本設計的目標。圖1-2大鴨島項目的傳感器網(wǎng)絡節(jié)點IEEE的研究人員設計了一種基于無線傳感器網(wǎng)絡技術的環(huán)境監(jiān)測系統(tǒng),該系統(tǒng)最終部署在澳大利亞布里斯班莫倫頓灣,用來監(jiān)測部分澳大利亞珊瑚礁的水質情況01。圖1-3是該項目使用的傳感圖1-3澳大利亞莫爾頓灣的水質傳感器網(wǎng)絡節(jié)點為了實現(xiàn)溫室大棚種植環(huán)境的精確調(diào)控,我國學者設計了基于ZigBee技術的溫室大棚環(huán)境監(jiān)測系統(tǒng),對溫室大棚內(nèi)與植物生長有關的環(huán)境信息進行采集,并根據(jù)采集到的信息控制灌溉系統(tǒng)和光照補償系統(tǒng)["。為了解決煤礦井下安全生產(chǎn)的問題,我國學者設計了用于礦井開采作業(yè)環(huán)境的監(jiān)測系統(tǒng),以ZigBee模塊為基礎的無線傳感器網(wǎng)絡監(jiān)測系統(tǒng),搭配礦井和地面有線信號的傳遞,解決了1.3本文研究內(nèi)容在閱讀我國環(huán)境監(jiān)測情況以及無線傳感器網(wǎng)絡技術的相關文獻時,發(fā)現(xiàn)了我國在環(huán)境監(jiān)測的過程中存在的一些問題,比如一些監(jiān)測站點環(huán)境監(jiān)測技術較為落后,設備不夠先進,環(huán)境監(jiān)測網(wǎng)絡尚不完善[131,基于ZigBee通信技術的無線傳感器網(wǎng)絡有望解決這些問題。在環(huán)境監(jiān)測方面,在面對多樣化的需求時,這樣的網(wǎng)絡也能給出較好的解決方案。本文實現(xiàn)了基于ZigBee技術的環(huán)境信息監(jiān)測系統(tǒng),制作了由CC2530芯片控制的傳感器節(jié)點,搭配了合適的傳感器,完成了傳感網(wǎng)絡節(jié)點及其與上位機通信的軟件設計,可以實現(xiàn)對一些環(huán)境信息的監(jiān)測,比如溫濕度,煙霧濃度,土壤濕度和水位,通過對這些環(huán)境信息的分析,可以滿足對森林火災預防,洪澇災害預防,礦井瓦斯泄露、透水事故預防的需求。2系統(tǒng)原理與總體方案設計為了實現(xiàn)大量小型設備的聯(lián)網(wǎng)功能,IEEE的工作組確立了IEEE802.15.4標準,基于此標準,發(fā)展出了ZigBee技術,這是一種低功耗的、適用于近距離通信的、低速率的、大容量的組網(wǎng)技術14]。ZigBee這一詞匯起源于蜜蜂的一種肢體語言,蜜蜂在發(fā)現(xiàn)花朵和花蜜時會采用形似ZigZag的運動動作來與其他蜜蜂交流。ZigBee網(wǎng)絡節(jié)點的通信在某些方面和蜜蜂采蜜的過程具有一定的相似性,所以人們用ZigBee來指代這樣的通信技術。在ZigBee技術的規(guī)范制定工作中,兩個組織貢獻巨大:IEEE805.15.4工作組制定了物理層和數(shù)據(jù)鏈路層的技術規(guī)范,ZigBee聯(lián)盟逐漸完善這一規(guī)范,使完整的ZigBee協(xié)議誕生于世。(1).可靠性強,更為安全。ZigBee協(xié)議中規(guī)定了一種載波監(jiān)聽多路訪問/沖突避免(CSMA-CA)技術。此種技術利用對ACK信號的確認來改善數(shù)據(jù)在信道中傳輸?shù)倪^程中可能面臨的沖突狀況。在這之外,ZigBee通信協(xié)議利用通信時延和休眠激活的運行時間短的特點,增強數(shù)據(jù)傳輸?shù)目煽砍潭萚15。在提升通信安全性方面,ZigBee技術還采用了AES-128算法對傳輸?shù)臄?shù)據(jù)進行加密,在一定程度上使數(shù)據(jù)安全得到了保障。(2).節(jié)點數(shù)多。單個ZigBee網(wǎng)絡最多可容納250多節(jié)點,在物理距離較短的范圍內(nèi)可以有將近百個ZigBee節(jié)點同時工作。使用了網(wǎng)絡協(xié)調(diào)器的ZigBee網(wǎng)絡可以搭載六萬五千個節(jié)點,而且網(wǎng)絡協(xié)調(diào)器相互之間也可以進行連接,這樣就可以構成有海量節(jié)點的傳感器網(wǎng)絡[16]。(3).低功耗,低成本。ZigBee節(jié)點數(shù)據(jù)收發(fā)量小,工作時間短,ZigBee終端節(jié)點在沒有任務時可以從工作狀態(tài)切換為休眠狀態(tài),通常情況下由干電池供電也可工作數(shù)月甚至數(shù)年。ZigBee的網(wǎng)絡協(xié)議的優(yōu)勢在于設計簡單且開源,協(xié)議能夠運行于MCU,大大降低了ZigBee節(jié)點的成本。(4).低時延。ZigBee技術除了對通信時延做了處理之外,還將系統(tǒng)的喚醒時延控制在15毫秒,組網(wǎng)時延控制在30毫秒,移動設備入網(wǎng)時延控制在15毫秒。(5).自組網(wǎng)能力強。ZigBee網(wǎng)絡具有無中心的特征,節(jié)點之間地位沒有差異,節(jié)點間拓撲結構為網(wǎng)狀,網(wǎng)絡功能的實現(xiàn)不依賴于某一個節(jié)點。ZigBee網(wǎng)絡在工作過程中,會根據(jù)事先配置好的路由工作頻率用途78多媒體無線局域網(wǎng)無需供電2小于10規(guī)則,在通信時避開發(fā)生故障的節(jié)點,通過新的路徑通信。除此之外ZigBee網(wǎng)絡還具有自組織的特性,這種特性也是自組網(wǎng)能力的有力支撐。不同的通信技術有各自的長處和短板,也有各自的適用領域。ZigBee技術的這些特點決定了它比其他的通信技術更適用于連接傳感器,其他的通信技術如藍牙、Wi-Fi、UWB、GPRS、RFID等用于無線傳感器網(wǎng)絡都或多或少存在一些問題,比如功耗高,連接數(shù)少,距離近等[15]。表2-1是幾種通信技術的比較。表2-1幾種無線通信技術比較前文描述了IEEE工作組和ZigBee聯(lián)盟在規(guī)范制定方面的工作,圖2-1直觀地描述了協(xié)議棧的結構。物理層負責與數(shù)據(jù)傳輸相關的事宜,完成數(shù)據(jù)的調(diào)制解調(diào)和收發(fā),完成信道頻率的選擇。介質訪問層負責使用CSMA-CA機制實現(xiàn)數(shù)據(jù)的可靠傳輸,負責設備之間的數(shù)據(jù)鏈路的建立。網(wǎng)絡層負責網(wǎng)絡的建立及地址的分配,ZigBee提供了星形,樹狀,網(wǎng)狀三種網(wǎng)絡拓撲結構。應用層主要為形網(wǎng)絡相比,這種網(wǎng)絡可以容納更多節(jié)點,且節(jié)點間的通信有了更多的路徑可供選擇。網(wǎng)形網(wǎng)絡是性能最佳的一種網(wǎng)絡,這種網(wǎng)絡的路由能力更強,節(jié)點間的通信可以通過路由節(jié)點進行,在某個節(jié)點因為損壞或故障無法通信時,網(wǎng)狀網(wǎng)絡可以尋找替代路徑,具有一定的“自愈”能力。2.2系統(tǒng)總體設計方案本設計利用CC2530芯片搭載溫濕度、煙霧、土壤濕度、水位傳感器模塊作為ZigBee網(wǎng)絡的終端節(jié)點,負責收集環(huán)境信息。協(xié)調(diào)器節(jié)點的功能是建立連接網(wǎng)絡,連接傳感器節(jié)點,接收傳感器數(shù)據(jù)并發(fā)送到上位機,便于管理人員進行后續(xù)的操作。網(wǎng)絡采用星形拓撲結構,簡單實現(xiàn)ZigBee通信的基本功能,系統(tǒng)結構見圖2-3。ZigBee終端節(jié)點串口通信上位機ZigBee協(xié)調(diào)器節(jié)點ZigBee終端節(jié)點ZigBee終端節(jié)點圖2-3系統(tǒng)結構圖2.3系統(tǒng)節(jié)點設計原理2.3.1終端節(jié)點系統(tǒng)節(jié)點(終端節(jié)點和協(xié)調(diào)節(jié)點)的硬件核心是CC2530F256芯片,之所以選擇這一款芯片,是因為該芯片集成了射頻收發(fā)器和一顆單片機內(nèi)核,可以同時滿足本設計對單片機和射頻收發(fā)的需求,對節(jié)點編程時,可在TI公司開發(fā)的ZigBee協(xié)議棧上做應用開發(fā),較為便捷1201。CC2530有足夠的引腳來連接本設計需要的傳感器,終端節(jié)點的硬件結構是以CC2530模塊為核心連接其他模塊,比如電源模塊、調(diào)試接口、各種傳感器模塊。終端節(jié)點功能齊全而且小巧精致,圖2-4是終端節(jié)點RESET-N一32.768r品體3xRC酒蕩器P位定時器3結構管AGe圖o該芯片工作模式種類豐富,工作模式可根據(jù)實際情況靈活切換,且系統(tǒng)通常采用定時休眠的模式,內(nèi)置的8051內(nèi)核功耗低,多重原因保證了CC2530的低功耗特性[21]。該芯片的信號接收靈敏度與抗干擾能力強,不需要外接元件保證信號傳輸質量。增強型的8051內(nèi)核具有較高性能,指令處理速度快,具有代碼預存取功能,能使用IAR進行功能調(diào)試。由于基于該芯片的硬件的外圍電路設計相對簡單,加之它的體積小、功耗低,所以在搭建無線傳感器網(wǎng)絡時較多采用該芯片[22]。在查閱了CC2530芯片手冊之后,將不同的引腳用于實現(xiàn)不同功能,并且設計了外圍電路。本設計的CC2530外圍電路與引腳分配如圖3-2所示。542RXDRTS#4USBD6金罪 菲ⅢI0913.2.3OLED液晶顯示模塊OLED的顯示效果比傳統(tǒng)的LCD更好,分辨率較高、亮度高、尺寸小、構造簡單。本設計采用0.96寸OLED顯示屏,該顯示器功耗低,不會給傳感器節(jié)點帶來負擔。顯示器工作電壓3.3V,需要注意的是高電壓下會燒毀模塊。OLED液晶模塊電路原理圖見圖3-5。3.3傳感器模塊3.3.1溫濕度傳感模塊本設計的溫濕度檢測使用的是DHT11傳感器,該傳感器的輸入電壓范圍是3~5V,該芯片已經(jīng)經(jīng)過數(shù)字信號輸出校準,在芯片內(nèi)部存儲了校準系數(shù),當處理環(huán)境信號時可以自動進行校準。因為空氣的相對濕度與溫度有關,所以本設計選擇了這樣的具備測量溫濕度的雙重功能的傳感器。該傳感器可以測量-20~60°C范圍內(nèi)的溫度,存在正負2°C的誤差,可以測量5~95%RH范圍內(nèi)的濕度,存在正負5%RH的誤差。這樣的測量范圍與精度基本適用于本設計。該模塊的電路原理圖見圖3-6。王王志T圖3-12協(xié)調(diào)器節(jié)點電路原理圖4系統(tǒng)軟件設計4.1系統(tǒng)開發(fā)環(huán)境簡介對節(jié)點的代碼設計與編譯在IAREmbeddedWorkbenchFor8051集成開發(fā)環(huán)境下用C語言進行。該編譯器支持許多知名廠商的MCU產(chǎn)品,可以進行軟件仿真,硬件仿真,程序編譯與下載。其中包含一個全軟件模擬程序,用戶不需要硬件支持也可以模擬設備的運行。品hls4.2ZigBee協(xié)議棧簡介TI公司提供了便于開發(fā)的協(xié)議棧ZStack-2.5.1a,本設計中終端節(jié)點和協(xié)調(diào)器節(jié)點的軟件設計可以借助這樣的協(xié)議棧來實現(xiàn)。圖4-2是該協(xié)議棧的內(nèi)容,其中有ZigBee協(xié)議各層的配置文件。在創(chuàng)建工程時可以根據(jù)不同的設備類型創(chuàng)建不同的工作區(qū),如本設計的協(xié)調(diào)器和終端設備。在程序編寫時,大部分的修改內(nèi)容都集中在SampleAPP.c以及apl_device.c文件中,只需要偶爾修改其他配置。4.3節(jié)點軟件設計4.3.1終端節(jié)點工作流程終端節(jié)點首先要加入ZigBee網(wǎng)絡,然后周期性地監(jiān)測環(huán)境數(shù)據(jù),并發(fā)送至協(xié)調(diào)器。在終端節(jié)點上電復位之后,會自動掃描通信信道,尋找已有的ZigBee網(wǎng)絡,找到網(wǎng)絡后,就會將入網(wǎng)申請發(fā)送至協(xié)調(diào)器,申請入網(wǎng)的請求得到響應之后在可以加入網(wǎng)絡,如果本次入網(wǎng)失敗,則會繼續(xù)掃描信道,重新嘗試入網(wǎng)。加入網(wǎng)絡時,為了識別不同的終端節(jié)點,協(xié)調(diào)器會為終端分配不同的網(wǎng)絡地址。建網(wǎng)成功后終端節(jié)點切換為休眠狀態(tài),需要采集信息時再次喚醒[24]。終端節(jié)點入網(wǎng)工作流程見圖4-3。進入休撰進入休撰否是發(fā)送入網(wǎng)清求初始化CC25300力議棧普試入網(wǎng)否是入網(wǎng)成功?缺罐節(jié)點節(jié)點上電復位發(fā)運成功?發(fā)送數(shù)描圖4-3終端節(jié)點工作流程4.3.2協(xié)調(diào)器節(jié)點工作流程在本設計中,協(xié)調(diào)器節(jié)點的兩個重要任務是組建無線網(wǎng)絡、與上位機通信。協(xié)調(diào)器節(jié)點上電復位之后,就嘗試找出合適的信道,并選擇一個PAN_ID,然后完成建網(wǎng)。ZigBee網(wǎng)絡的建網(wǎng)方式有單播、多播和廣播三種。廣播意味著將信息傳遞給所有設備,單播意味著一對一的通信。本設計中網(wǎng)絡為星形拓撲,所以協(xié)調(diào)器節(jié)點的組網(wǎng)方式是廣播,將網(wǎng)絡的信道和ID傳送到所有節(jié)點,而終端節(jié)點適合使用單播的建網(wǎng)方式,一對一發(fā)送入網(wǎng)申請。接到請求之后,協(xié)調(diào)器為其分配一個沒有被使用的網(wǎng)絡地址,并響應入網(wǎng)申請。如果協(xié)調(diào)器判斷出接收到的數(shù)據(jù)是傳感器數(shù)據(jù),則會把數(shù)據(jù)發(fā)送給上位機。圖4-4是協(xié)調(diào)器節(jié)點的工作流程。功星圖4-4協(xié)調(diào)器節(jié)點工作流程4.3.3初始化在軟件流程中首先要進行的工作是對硬件的初始化,一般來說協(xié)議棧中已經(jīng)包含初始化的函數(shù)。在本設計中,根據(jù)實際需要自行編寫了GPIO接口、ADC接口和OLED接口的驅動程序,需要自己進行初始化。具體的代碼見圖4-5。/*外設初始化*/voidapl_peripheral_init(_hal_gpio_init();_hal_adc_init(ADC_CHANNEL_INIT1IADC_CHANNEL_INITO);#ifdefOLED_ENABLE#ifdefZIGBEE_NODE_1#ifdefZIGBEE_NODE_2#endif#endifI溫度:");濕度:");煙霧:");圖4-5初始化函數(shù)4.3.4周期檢測與OLED顯示、數(shù)據(jù)發(fā)送終端節(jié)點在啟動過后會周期性的檢測環(huán)境數(shù)據(jù),傳感器檢測到的數(shù)據(jù)經(jīng)過模數(shù)轉換后會按照一定的格式顯示在OLED中,之后發(fā)送到協(xié)調(diào)器,協(xié)議棧中有函數(shù)可以實現(xiàn)數(shù)據(jù)發(fā)送的功能,在編寫代碼時只需要調(diào)用即可。圖4-6是煙霧傳感器的代碼示例,上位機根據(jù)數(shù)據(jù)中的傳感器編號區(qū)分不同的傳感器數(shù)據(jù)。#ifdefZIGBEE_NODE_1sprintf(oledstr,"%dpOLED_ShowString(50,6,(uint8*)ole#endif圖4-6終端節(jié)點功能實現(xiàn)4.3.5協(xié)調(diào)器數(shù)據(jù)傳送協(xié)調(diào)器接收到無線數(shù)據(jù)后,如果判斷出該數(shù)據(jù)是傳感器數(shù)據(jù),則會將這些數(shù)據(jù)直接發(fā)送給上位機。圖4-7是數(shù)據(jù)傳送代碼。uint16value=BUILD_UINT16(pkt->cmd.Data[16],pkt->cmd.Data[15]);圖4-7數(shù)據(jù)傳送4.3.6程序燒錄燒錄程序時,在工作區(qū)內(nèi)分別選擇節(jié)點類型為協(xié)調(diào)器或者終端節(jié)點即可,本設計的兩個終端節(jié)點通過apl_common.h文件中的宏定義區(qū)分,修改宏定義中的數(shù)字即可分別為兩個終端節(jié)點燒錄程序。宏定義見圖4-8。圖4-8宏定義區(qū)分節(jié)點4.4上位機軟件開發(fā)環(huán)境簡介本設計采用QtCreator開發(fā),QtCreator是集成開發(fā)環(huán)境,主要使用C++語言進行開發(fā),也有豐富的Qt項目庫可用于開發(fā)。Qt是一個用于GUI開發(fā)的框架,為使用者提供了開發(fā)GUI所需的功能,程序可在多平臺運行。Qt和QtCreator為應用程序開發(fā)提供了一個很好的環(huán)境,無論是在編寫控制臺、GUI還是QtQuick應用程序。都可以將標準C++代碼與QT混合和匹配125]。圖4-9是該軟件的開發(fā)界面。日?12356789{本設計中,上位機軟件的功能是與協(xié)調(diào)器實現(xiàn)串口通信,并接收來自協(xié)調(diào)器的數(shù)據(jù),然后將數(shù)據(jù)通過窗口顯示。圖4-10是軟件流程圖。開始開始構造率口查找中口否否結束是是圖4-10軟件流程圖具體設計思路是通過Qt中的QSerialPort類構造一個串口類,用來與協(xié)調(diào)器進行通信。串口涉及到數(shù)據(jù)的處理,為了防止用戶界面無響應,再創(chuàng)建一個串口線程。串口收到一幀數(shù)據(jù)之后對該幀數(shù)據(jù)進行解析,判斷幀頭部、尾部、數(shù)據(jù)長度是否符合預定的格式,格式正確則保留數(shù)據(jù),提取出其中的傳感器數(shù)據(jù)并顯示;格式錯誤則丟棄該幀數(shù)據(jù)。用戶界面通過QT中的控件實現(xiàn)預期的顯示Qt中的QSerialPort類和QSerialPortInfo類可用于實現(xiàn)與下位機的串口通信[261,前者可以實現(xiàn)串口的初始化、讀寫等操作,后者提供上位機中的串口信息。圖4-11中構造了串口,并通過一些函數(shù)實現(xiàn)串口的功能。1Serialconnection::Serialconnectionconnect(_serial,SIGNAL(readyRead()),this,SLOT(readDintSerialconnection::openConnection(intindex)//通voidSerialConnectfon::cancelconnectio239?voidSerialCo圖4-11串口功能的實現(xiàn)4.5.3串口線程、信號與槽GUI是一個主線程,每次只執(zhí)行一個操作,串口通信涉及到數(shù)據(jù)的處理,在代碼中將串口類移動到串口線程中,避免了GUI可能因為處理數(shù)據(jù)而無響應的情況27]。在Qt中,對象之間的通信是通過信號與槽機制來實現(xiàn)的,通過connect(函數(shù)將信號與槽函數(shù)連接,在功能函數(shù)中觸發(fā)信號即可引起槽函數(shù)的響應,這樣就可以實現(xiàn)具體的功能[28]。信號與槽的連接見圖4-12。//串口相關connect(this,SIGNAL(StartUartDev_Signal(int)),&serial,SLOT(openConnection(int));//第一、三個參!connect(_serialThread,SIGNAL(started()),&serial,SLOTconnect(_serialThread,SIGNAL(finished()),&serial,SLOT(deconnect(&serial,SIGNAL(sendnewdata(QByteArray)),this,SLOT(RecvSensorData(QBconnect(this,SIGNAL(sensorCtrol(QByteArray)),&serial,SLOT(SendCmdData(QBconnect(&serial,SIGNAL(connectionStateChanged(int)),this,SLOT(DispConnectState圖4-12信號與槽的連接4.5.4數(shù)據(jù)顯示傳感器數(shù)據(jù)具有固定的格式,包含了傳感器的類型和測量數(shù)據(jù),在上位機軟件中可以將傳感器類型作為判斷條件,判斷數(shù)據(jù)屬于何種傳感器,然后將此種傳感器數(shù)據(jù)顯示在用戶界面中,判斷過程以及顯示代碼見圖4-13,圖中以溫濕度數(shù)據(jù)處理為例,其余傳感器的處理與之類似。voidMainWindow::sensor_data_process(quint8_nID,QByteArray_bSensorData){{{strTmp_1.setNum(((quint8)_bSensorData[2]<<8)+(quint8)_bSenstrTmp="溫度:";strTmp_1.setNum(((quint8)_bSensorData[4]<<8)+(quint8)_bSen}圖4-13數(shù)據(jù)處理與顯示在Qt中有豐富的控件可以用來美化用戶界面,本設計使用了多種控件來實現(xiàn)時間顯示、數(shù)據(jù)顯示、串口開關、串口控制的功能。本設計所使用的控件類型、控件之間關系以及控件在窗口中的布局見圖4-13。在這里輸入類圖4-13UI設計5系統(tǒng)實驗與結果首先進行對節(jié)點組網(wǎng)的測試,如圖5-1所示,終端節(jié)點與協(xié)調(diào)器節(jié)點連接成功,分別在兩節(jié)點的OLED顯示屏上顯示出網(wǎng)絡號與各自的IP。協(xié)調(diào)節(jié)點PAN:0042CH:OCPAN:0042CH:OC圖5-1組網(wǎng)測試之后進行數(shù)據(jù)采集測試,圖5-2所示,兩個終端節(jié)點成功實現(xiàn)了對環(huán)境數(shù)據(jù)的采集,并且能夠在OLED顯示器實時顯示環(huán)境數(shù)據(jù)。圖5-2數(shù)據(jù)采集測試協(xié)調(diào)器與上位機成功實現(xiàn)通信,數(shù)據(jù)可以被成功傳送到上位機,圖5-3是在串口助手中觀察傳送數(shù)據(jù)的結果。010000375D006A010E000000000096圖5-3串口通信數(shù)據(jù)傳輸協(xié)調(diào)器節(jié)點按一定的格式發(fā)送數(shù)據(jù),上位機軟件對數(shù)據(jù)進行解析并顯示。圖5-4是數(shù)據(jù)在上位機軟件中的顯示結果。2022-04-1716:10:02周日溫度:23℃濕度:48%煙霧:670ppe土壤濕度:4%串口號:波特率:連接:圖5-4上位機軟件用戶界面6總結與展望經(jīng)過查閱和分析大量的文獻資料,發(fā)現(xiàn)了國際上一些環(huán)境監(jiān)測的先進理念與方法,了解了WSN和環(huán)境監(jiān)測發(fā)展的趨勢,總結了目前國內(nèi)的環(huán)境監(jiān)測手段存在的一些問題。目前傳感器發(fā)展較為成熟,應用較為廣泛,我國部分環(huán)境監(jiān)測站點存在設備落后的問題,一些采礦業(yè),工業(yè),農(nóng)業(yè)領域也需要低成本的環(huán)境監(jiān)測工具,基于此,本文設計了基于ZigBee技術的環(huán)境檢測系統(tǒng)。本文詳細描述了基于ZigBee技術的環(huán)境監(jiān)測系統(tǒng)的設計過程,根據(jù)目前實際的環(huán)境監(jiān)測需求,本文完成了這樣的一些工作:(1)確定了用小型傳感器來監(jiān)測環(huán)境數(shù)據(jù),并通過無線網(wǎng)絡進行通信的環(huán)境監(jiān)測系統(tǒng)的設計思路,選擇了CC2530作為核心器件,設計了用于采集環(huán)境數(shù)據(jù)的小型傳感器終端節(jié)點和用于建網(wǎng)與通信的協(xié)調(diào)節(jié)點。(2)完成了系統(tǒng)的硬件設計,包括元器件的選配,原理圖設計。以模塊化的設計思路設計了電源模塊、USB轉串口模塊、OLED顯示模塊、傳感模塊,并將這些模塊與核心控制芯片結合,完成了對終端節(jié)點與協(xié)調(diào)器節(jié)點的設計。(3)完成了對節(jié)點的軟件設計,在IAR開發(fā)環(huán)境中,以C語言為工具,利用Z-stack協(xié)議棧實現(xiàn)了節(jié)點的組網(wǎng),采集數(shù)據(jù),發(fā)送數(shù)據(jù)的功能。利用QtCreator開發(fā)了上位機軟件,可以在圖形界面實時顯示測量到的環(huán)境數(shù)據(jù)。(4)對硬件與軟件進行測試,協(xié)調(diào)器與終端成功組網(wǎng),終端完成了對環(huán)境數(shù)據(jù)的采集,能夠將環(huán)境數(shù)據(jù)正確地發(fā)送到協(xié)調(diào)器,協(xié)調(diào)器與上位機通信正常,上位機軟件可以實時顯示來自協(xié)調(diào)器的6.2展望本文設計的環(huán)境監(jiān)測系統(tǒng)在實際的應用中仍有需要完善和發(fā)展的空間,具體需要改進的內(nèi)容如(1)本設計節(jié)點數(shù)目較少,網(wǎng)絡拓撲結構采用星形結構,較為簡單,在后續(xù)改進時增加節(jié)點,改用網(wǎng)形拓撲結構,提高系統(tǒng)的實用性與穩(wěn)定性。(2)本設計的終端節(jié)點較為簡陋,傳感器較少,供電方式目前采用干電池供電,后續(xù)改進時將使用太陽能電池作為電源,增加傳感器類型。考慮到實際的應用場景,還應該為終端節(jié)點選擇合適的材料加裝外殼。(3)本設計為保證硬件質量,使用了商用開發(fā)板,產(chǎn)生了硬件資源的冗余。后續(xù)改進時應考慮自行進行PCB設計,這樣可以避免資源浪費,降低成本。(4)上位機軟件功能單一,只可以實現(xiàn)基礎的實時顯示的功能,后續(xù)會考慮加入曲線圖顯示、歷史記錄、設置報警閾值等內(nèi)容。參考文獻[1]LovettGM,BurnsDA,DriscollCT,etal.WhoneedsenvironmentFrontiersinEcologyandtheEnvironment,22022:1-12.[3]WestonS.Anoverviewofenvenvironmentalmanagement[J].Schoolo[5]FascistaA.TowardInWSN/UAV/Crowdsensing:AReviewofApplications,SignalProcessing,andSensors,2022,22(5):1824.Networks:Application-CentricDesign,YenKhengTan(Ed.),ISBN:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論