版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于物聯網的室內環(huán)境檢測系統(tǒng)設計摘要倉儲作為現代物流和供給鏈系統(tǒng)的重要節(jié)點,已成為物流管理的核心局部和關鍵環(huán)節(jié)。隨著社會經濟的開展和人們生活水平的提高,人們對物品的數量和種類的需求都在不斷增加,這樣對倉儲系統(tǒng)的要求也日益提高。特別是,倉儲內溫度、濕度等環(huán)境參數對存儲物品的質量和壽命有著重要的影響,對倉儲環(huán)境參數進行實時監(jiān)控不僅可以保證存儲物品的質量,延長產品的存儲壽命,還能夠增強倉儲系統(tǒng)的平安系數,當出現平安隱患的時候能夠及時報警。然而傳統(tǒng)的倉儲環(huán)境監(jiān)測系統(tǒng)存在布線復雜,可靠性低,管理維護本錢低等問題,因而將新的科學技術引入倉儲系統(tǒng)中構建信息化、網絡化、智能化的倉儲環(huán)境監(jiān)控系統(tǒng)具有重要意義。ZigBee網絡作為無線傳感器網絡的典型代表,具有低能耗、低本錢、低速率等特點,它融合了無線通信技術、傳感器技術以及嵌入式計算機技術等多學科知識的前沿熱點研究領域,能夠通過各種微型傳感器協同完成對各種環(huán)境或檢測對象的信息實時監(jiān)測、感知和采集,并將這些信息傳送給用戶。ZigBee無線傳感器網絡被認為是21世紀最重要的技術之一?;赯igBee無線傳感器網絡的倉儲監(jiān)控系統(tǒng)充分利用了ZigBee節(jié)點能耗小、本錢低、安裝維護簡單等特點,能夠實時地對倉儲區(qū)域內溫度、濕度等環(huán)境參數進行無線遠程采集與管理,同時可有效消除平安隱患,具備了傳統(tǒng)倉儲管理無法比較的優(yōu)勢,很好地解決了傳統(tǒng)倉儲管理中布線復雜、效率低下等問題。關鍵詞:倉儲環(huán)境監(jiān)測無線傳感器網絡ZigBee簇樹型拓撲結構CC2530目錄摘要I目錄II第1章智能倉儲監(jiān)測系統(tǒng)論述11.1研究背景與意義11.2智能倉儲監(jiān)測系統(tǒng)的特點2第2章ZigBee技術綜述22.1基于CC2530的ZIGBEE協議棧22.1.1Zigbee技術的廣闊應用前景22.1.2低功耗低速率技術特點42.1.3網絡拓撲和路由42.2Zigbee協議棧整體架構62.3Zigbee協議棧網絡層:8網絡層概述及其實現功能8網絡層中常用路由協議10第3章智能倉儲監(jiān)測系統(tǒng)方案設計13133.2硬件設計133.3軟件設計15總結21參考文獻23附錄24第1章智能倉儲監(jiān)測系統(tǒng)論述1.1研究背景與意義隨著現代物流業(yè)和供給鏈管理理念的不斷開展,倉儲管理在物流管理中的重要性日益提高,倉儲管理己成為物流管理的核心局部和關鍵環(huán)節(jié)。目前我國倉儲管理存在自動化程度不高、人工依賴性強等諸多問題,降低了倉儲管理的效率。本文設計了一種基于ZigBee無線傳感器網絡的智能倉儲系統(tǒng),在原有倉儲系統(tǒng)的根底上引入ZigBee技術,利用無線傳感器節(jié)點能耗低、網絡容量大、本錢低的特點,在倉儲區(qū)域內讓其自組織構成智能測控網絡。這樣能夠有效地解決傳統(tǒng)倉儲存在的各種問題,同時還能夠對溫度、濕度等環(huán)境參數進行實時監(jiān)測,從而構建了智能化的倉儲環(huán)境監(jiān)測系統(tǒng)。
本文以ZigBee無線傳感器網絡技術在倉儲環(huán)境監(jiān)控系統(tǒng)中的應用為主線,主要完成以下幾個方面的工作:〔1〕首先概述了無線傳感器網絡及ZigBee技術的根底知識,然后從ZigBee協議架構入手,對物理層、媒介接入控制層、網絡層及應用層的標準展開了研究,深入了解ZigBee技術的特性和通信原理?!?〕接著對基于ZigBee無線傳感器網絡的倉儲環(huán)境系統(tǒng)中幾項關鍵技術的研究現狀進行了分析,主要包括:MAC協議和路由協議,并對其在倉儲環(huán)境監(jiān)控這一應用背景下進行了探討?!?〕然后根據倉儲監(jiān)控系統(tǒng)的實際需要,設計了無線傳感器設備的硬件系統(tǒng)。節(jié)點采用增強型的8051單片機作為主控制器,CC2530射頻芯片作為無線數據收發(fā)器,SHT11溫濕度傳感器來實現對環(huán)境參數的采集?!?〕通信系統(tǒng)基于ZigBee協議棧Z-Stack開發(fā),使用IAREW8051集成開發(fā)環(huán)境對Z-Stack進行代碼編程,為不同角色的節(jié)點編寫相應的代碼,其中包括ZigBee協調器建立網絡及運行程序,ZigBee路由器參加網絡及運行程序,ZigBee終端設備參加網絡及數據采集、收發(fā)等,然后借助下載工具SmartRFFlashProgrammer將代碼下載到ZigBee設備中進行調試,在簇樹型網絡拓撲結構的根底上實現無線傳輸數據,并運用在倉儲系統(tǒng)中,構成了基于ZigBee無線傳感器網絡的倉儲環(huán)境監(jiān)控系統(tǒng)。基于ZigBee無線傳感器網絡的倉儲監(jiān)控系統(tǒng)充分利用了ZigBee節(jié)點能耗小、本錢低、安裝維護簡單等特點,能夠實時地對倉儲區(qū)域內溫度、濕度等環(huán)境參數進行無線遠程采集與管理,同時可有效消除平安隱患,具備了傳統(tǒng)倉儲管理無法比較的優(yōu)勢,很好地解決了傳統(tǒng)倉儲管理中布線復雜、效率低下等問題。1.2智能倉儲監(jiān)測系統(tǒng)的特點智能倉儲監(jiān)測系統(tǒng)擁有全面、可靠的環(huán)境信息采集分析能力。為了實現環(huán)境信息監(jiān)測的精確性、全面性并且方便使用,本文的環(huán)境監(jiān)測系統(tǒng)應具有以下各種特點:(1)多對象監(jiān)測,環(huán)境監(jiān)測系統(tǒng)需要檢測多種環(huán)境信息,如:溫濕度、光照強度等。這樣才能為用戶提供全面的環(huán)境信息參考。(2)多點監(jiān)測,需要對同一環(huán)境參數在不同地點和不同時間分別進行測量,這是因為環(huán)境中各種環(huán)境信息不同的時間和空間上分布不具有均勻性,由此實現監(jiān)測的全面性和高精度性,甚至有時需要對同一環(huán)境參數在多點進行測量。(3)系統(tǒng)靈活,當有新的環(huán)境參數被要求測量時,系統(tǒng)的可擴展性要求靈活,方便增加節(jié)點,以降低本錢。第2章ZigBee技術綜述2.1基于CC2530的ZIGBEE協議棧Zigbee技術的廣闊應用前景Zigbee技術的使用與開展很大程度上彌補了無線通信市場上低功耗、低本錢、低速率的空缺,Zigbee技術開展成功的關鍵更多的是因為豐富而便捷的應用,并不是技術本身。隨著Zigbee技術的深入開展和應用,越來越多的注意力和研究力量將會轉到應用的設計、實現互聯互通測試和市場的推廣等方面。Zigbee技術的關鍵點是開展一種易布建、低本錢、低功耗的無線網絡,其低耗電性將使產品的電池能維持6個月到數年的時間。對Zigbee技術的應用前景預測被非常好。Zigbee在未來的幾年里將在工業(yè)無線定位、工業(yè)控制、消費電子、汽車自動化、家庭網絡、樓宇自動化、醫(yī)用設備控制等多個控制領域具有廣泛的應用前景,特別是工業(yè)控制和家庭自動化,將成為今后Zigbee芯片的主要應用領域。通常符合以下條件之一的應用,就可以考慮采用Zigbee技術:·網點多:需要數據采集或監(jiān)控的網點多?!さ蛡鬏斄浚阂髠鬏數臄祿坎淮笄乙髷祿惧X低?!た煽啃愿撸阂髷祿鬏斂煽啃?、全性高。·體積?。涸O備體積很小,體積較大的充電電池或者電源模塊不便放置?!る姵毓╇??!じ采w量大:所需檢測點監(jiān)測點多,地形復雜,需要較大的網絡覆蓋面積?!がF有移動網絡的覆蓋盲區(qū)?!みb測、遙控系統(tǒng):使用現存移動網絡進行的低數據量傳輸?!ぞ植繀^(qū)域移動目標的定位系統(tǒng):使用GPS效果差、本錢高的。根據Zigbee聯盟的觀點,一般家庭可將Zigbee應用于以下裝置:·燈光、窗簾的自動控制以及空調系統(tǒng)的溫度控制器?!ぞo急呼叫器,老年人與行動不便者或者病患的緊急呼叫?!じ鞣N電子設備,家用電器的萬能遙控器、電腦等的無線鍵盤、無線鼠標,搖桿、玩具等。·家庭煙霧濃度偵測器?!ぜ揖咧悄苄蜆撕?。Zigbee無線傳感網絡是就是Zigbee應用方案的經典應用。無線傳感網絡是基于IEEE802.15.4技術標準和Zigbee網絡協議而設計的無線數據傳輸網絡,該網絡主要應用在壓力過程控制數據采集、流量過程控制數據采集、溫度濕度監(jiān)控、樓宇自動化、工業(yè)控制、數據中心、社區(qū)安防、設備監(jiān)控、環(huán)境數據監(jiān)控、制冷監(jiān)控、倉庫貨物監(jiān)控等方面。適用于蔬菜大棚溫度、濕度和土壤酸堿度監(jiān)控,鋼鐵冶煉溫度控制,煤氣抄表等各個領域。這種網絡主要用于無線系統(tǒng)中短距離的連接,提供傳感器網絡接入,能夠滿足各種傳感器的數據輸出和輸入控制的命令和信息的需求,實現系統(tǒng)網絡化、無線化。這種網絡是低速率的無線傳感網絡,射頻傳輸本錢低,各節(jié)點只需要很少的能量,低功耗,適用于電池長期工作供電,可實現一點到多點,兩點之間的對等通信,快速組網自動配置,自動恢復和高級電源管理,網絡中任意個傳感器之間可相互協調實現數據通信。2.1.2低功耗低速率技術特點Zigbee技術是一種應用于各種電子設備之間的無線通信技術,這種通信組網是基于中短距離范圍內、低傳輸速率下的。根據Zigbee技術的本質,它具有以下特性:低功耗在非工作模式時,Zigbee節(jié)點是處于休眠狀態(tài)的。Zigbee設備休眠激活時延為15ms,搜索時延一般為30ms。由于收發(fā)信息低功耗,工作時間短,且采用了休眠模式,使Zigbee節(jié)點耗電極少,其電池工作時間可長達6個月到2年左右。同時,由于電池使用時間取決于電池種類、容量和應用場合等很多因素,因此Zigbee技術在協議上對電池的使用也做了優(yōu)化;對于某些工作實踐和總時間之比小于1%的情況,電池壽命甚至可以超過10年。工作模式下,Zigbee信號的收發(fā)時間短,因為傳輸數據量小,傳輸速率低;2、高度擴展性通過NetworkCoordinator的網絡最多可到達6500個Zigbee網絡節(jié)點,再加上NetworkCoordinator的可互相連接性,整體Zigbee網絡節(jié)點數目將十分龐大。但是,就一般來說,一個Zigbee的網絡最多包括255個Zigbee網絡節(jié)點,有一個是Master設備,其余那么都是Slave設備。3、可靠性Zigbee技術中為了提高可靠性,在Zigbee介質接入控制層〔MAC層〕中,采用了talk-when-ready的碰撞機制這是一種完全確定的數據傳輸機制,在這種傳輸機制下,當有數據需要傳送時,那么立刻傳送。每個數據包的發(fā)送都必須等待對方確實認消息,并進行信息確信回復,如果沒有得到確認信息的回復就表示發(fā)生了碰撞,將再傳一次。這種方法的采用可以提高系統(tǒng)傳輸的可靠性。同時,Zigbee針針對時延敏感的應用也做了優(yōu)化,通過時延和休眠狀態(tài)激活的時延都非常短。也為需要固定帶寬的通信業(yè)務預留了專用時隙,防止了發(fā)送數據時的競爭和沖突。網絡拓撲和路由Zigbee每個節(jié)點的功能并非相同,因為它是以一個個獨立的工作點為依托,通過無線通信組成星狀、樹樁或網狀網絡。有半功能設備〔RFD〕和全功能設備〔FFD〕之分,負責與所控制的子節(jié)點會聚數據、通信和發(fā)布控制,或起到通信路由的作用,稱之為全功能設備〔FFD〕;另外還有一些節(jié)點,也就是系統(tǒng)中大局部節(jié)點,為子節(jié)點,從組網通信上,它只是其中功能的一個子集,并成為半功能設備〔RFD〕。每個網絡都有一個相當于現在有線局域網中的效勞器的唯一的協調器,具有對本網絡的管理能力。網絡中的全功能節(jié)點可作為路由器、協調器以及終端節(jié)點來使用,而半功能節(jié)點只能由終端節(jié)點使用。在任何一種網絡拓撲結構中,每個獨立的網絡都有一個唯一的網絡號〔PAN標識符〕。利用PAN標識符,采用16位的短地址碼進行網絡設備間的通信,并可激活網絡設備之間的通信。Zigbee路由和協調器需要對路由表進行維護。Zigbee路由和協調器也可以保存一定數據量得入口,僅僅在路由維護時使用這些入口,或者在耗盡所有其他的路由容量的情況下使用這些入口。路由選擇是在網絡中的設備相互合作條件下建立路由的一個流程的選擇,并且該流程通常與特定的源地址和目的地址相對應。路由選擇包括如下流程:1、路由搜索的初始化。2、接受路由請求命令幀。3、接受路由應答命令幀2.2Zigbee協議棧整體架構圖1ZigBee協議棧整體架構Zigbee協議結構體系Zigbee協議棧由一組子層組成,每一層為其上層提供一定的特定效勞:一個數據實體提供數據傳輸效勞,一個管理實體提供管理、維護等效勞。每個效勞實體通過一個效勞接入點〔SAP〕為其上層提供效勞接口,并且每個效勞接入點〔SAP〕提供了一系列的根本效勞指令來實現相應的功能。Zigbee協議棧中包括應以下各個子層:APP〔ApplicationProgramming〕:應用層目錄,這是用戶創(chuàng)立各種不同工程的區(qū)域,在這個目錄中包含了應用層的內容和這個工程的主要內容,在協議棧里面一般是以操作系統(tǒng)的任務實現的。HAL〔Hardware(H/W)AbstractionLayer〕:硬件層目錄,包含有與硬件相關的配置和驅動及操作函數。ZigBee硬件層通過射頻固件和射頻硬件提供了一個從MAC層以硬件層無線信道的接口。在硬件層中,包含一個硬件層管理實體〔PLME〕,該實體通過調用硬件層的管理功能函數,為硬件層管理效勞提供其接口,同時,還負責維護由硬件層所管理的目標數據庫,該數據庫包含有硬件層個域網絡的根本信息。圖2物理層結構模型MAC:介質接入控制子層,包含了MAC層的參數配置文件及其MAC的LIB庫的函數接口文件。實現的功能有:1、能產生網絡信標。2、支持PAN的連接和斷開連接。3、同信標保持同步。4、在對等的MAC實體之間提供一個可靠的通信鏈路。5、處理和維護GTS機制。6、信道接入采用CSMA-CA接入機制。7、支持設備的平安性。介質訪問控制層(MAC)幀被稱為MAC協議數據單元(MPDU),其長度不超過127個字節(jié)。它具有四種不同的幀形式,即信標幀、數據幀、確認幀和命令幀。MT〔MonitorTest〕:實現通過串口可控各層,與各層進行直接交互。NWK〔ZigBeeNetworkLayer〕:網絡層目錄,含網絡層配置參數文件及網絡層庫的函數接口文件,APS層庫的函數接口。OSAL〔OperatingSystem(OS)AbstractionLayer〕:協議棧的操作系統(tǒng)。Profile:AF〔Applicationwork〕層目錄,包含AF層處理函數文件。Security:平安層目錄,平安層處理函數,比方加密函數等。Services:地址處理函數目錄,包括著地址模式的定義及地址處理函數。Tools:工程配置目錄,包括空間劃分及ZStack相關配置信息。ZDO〔ZigBeeDeviceObjects〕:ZDO目錄。ZMac:MAC層目錄,包括MAC層參數配置及MAC層LIB庫函數回調處理函數。ZMain:主函數目錄,包括入口函數及硬件配置文件。Output:輸出文件目錄,這個EW8051IDE自動生成的。2.3Zigbee協議棧網絡層:2.3.1網絡層概述及其實現功能ZigBee網絡層必須提供功能,其的主要就是提供一些必要的函數,以保證IEEE802.15.4-2003ZigBee協議棧的MAC層能夠正確操作,正常工作,并且為應用層提供一個適宜的效勞接口。為了和應用層通信,必須向其提供接口,網絡層的概念包括了兩個必要的功能效勞實體,提供必要的功能。它們分別為數據效勞實體〔NLDE〕和管理效勞實體〔NLME〕。網絡層數據實體〔NLDE〕通過網絡層相關的數據庫效勞接入點〔NLDE-SAP〕提供數據傳輸效勞,網絡層管理實體〔NLME〕通過網絡層相關的管理庫效勞接入點〔NLME-SAP〕提供網絡管理效勞,網絡層管理實體利用網絡層數據實體來獲得一些網絡管理任務,并完成一些網絡的管理工作。并且,網絡層管理實體還維護一個管理對象的數據庫,叫做網絡信息庫〔NIB〕,網絡層管理實體完成對網絡信息庫〔NIB〕的維護和管理。1、網絡層數據實體〔NLME〕網絡層數據實體提供一個數據效勞,同一個網絡中,即在同一個內部個域網中的兩個或者更多的設備之間傳送數據時,允許一個應用程序將按照應用協議數據單元〔APDU〕的格式進行傳送數據。網絡層數據實體提供如下效勞:①生成網絡級別的協議數據單元〔網絡層協議數據單元〕PDU〔NPDU〕:網絡層數據實體〔NLME〕通過增加一個適當的協議頭,從應用支持子層的協議數據單元PDU中生成網絡層的協議數據單元〔NPDU〕。②指定拓撲傳輸路由:網絡層數據實體能夠發(fā)送一個網絡層的協議數據單元到一個適宜的設備,該設備可以是最終的目的通信設備,也可能是通信鏈路中到最終目的節(jié)點的下一個節(jié)點。2、網絡層管理實體網絡層管理實體提供網絡管理效勞,允許一個應用程序與堆棧相互作用。并且網絡層管理實體還維護一個叫做網絡信息庫〔NIB〕的管理對象的數據庫。網絡層管理實體應該提供如下效勞:①配置一個新的設備:為所需的操作充分配置協議棧的功能。為保證設備正常工作的需要,滿足配置的需要,設備應該具有足夠堆棧。配置選項中包括對一個ZigBee協調器的操作,或參加一個已存在的網絡。②開始一個網絡:建立一個新的網絡功能,使之具有建立一個新網絡的能力。③參加、重新參加和離開一個網絡:實現參加、重新參加和離開一個網絡的功能,以及為一個ZigBee協調器或者ZigBee路由器請求一個設備離開網絡的能力。具有連接或者斷開一個網絡的能力。④尋址:ZigBee協調器和ZigBee路由器具有為新參加網絡的設備分配地址的能力。⑤鄰居設備發(fā)現:具有發(fā)現、記錄和匯報有關單跳鄰居設備信息的能力。⑥路由發(fā)現:具有發(fā)現和記錄有效地傳送信息的網絡路由能力,即信息可以有效的傳達。⑦收控制:具有控制設備接收機接收狀態(tài)的能力,即控制何時接收者是激活的,以及接收激活時間的長短,從而使MAC層的同步或者直接接收等。⑧路由:具有使用不同路由機制的能力。有單播、多播、播送等,使得路由能夠在網絡中高效率的交換數據。3、網絡層效勞標準網絡層通過兩種效勞訪問點〔SPA〕提供相應的兩種效勞,它們分別是網絡層數據效勞〔NLDE〕和網絡層管理效勞〔NLME〕。網絡層數據效勞通過網絡層數據實體效勞接入點接入,網絡層管理效勞通過網絡層管理實體效勞接入點接入。這兩種分別效勞通過MCPS-SAP和MLME-SAP接口為MAC層提供接口。這些接口之外,在NLDE-SAP和NLME-SAP之間有一個隱藏的借口,允許NLME使用網絡層的數據效勞。NWK層的組件以及接口如以下圖所示:圖3網絡層參考模型2.3.2網絡層中常用路由協議在移動Adhoc網絡中,隨著節(jié)點移動,網絡拓撲結構在不斷變化。如何迅速準確地選擇網絡路由的問題,是移動Adhoc網絡的一個重要核心的問題。常規(guī)的距離向量算法DVA和鏈路狀態(tài)算法LSA,不能滿足AdHoc網絡中的動態(tài)變化的網絡拓撲結構;單向信道的存在;有限的無線傳輸帶寬;無線移動終端的局限性等特點。因此,自20世紀70年代美軍DARPA資助的分組無線網絡工程開展以來,國內外的許多研究人員從不同的角度提出了一系列的移動Adhoc網絡路由協議。這些協議必須處理好移動Adhoc網絡的以上特點。根據發(fā)現路由的驅動模式的不同,可將這些路由協議分為表驅動路由協議和按需路由協議。如下圖:表驅動路由協議又稱為主動式〔或先應式〕的路由協議〔ProactiveProtocols〕。是一種基于表格的路由協議。該路由協議試圖維護網絡中各個節(jié)點到其余所有節(jié)點的最新路由信息,所有路由信息都保持一致。這個路由協議中,每個節(jié)點都維護一張或多張表格,這些表格中包含到達網絡中所有其他節(jié)點的路由信息表。當檢測到網絡拓撲結構有變化發(fā)生時,節(jié)點在網絡中發(fā)送更新消息。收到更新消息的節(jié)點便更新自己的表格,以維護路由信息的一致、及時、準確。拓撲更新消息在網絡中傳播的方式和需要存儲的表的類型決定了不同的表驅動路由協議的區(qū)別。表驅動路由協議根據變化更新路由表,不斷的檢測網絡拓撲和鏈路質量的變化,所以路由表可以準確地反映網絡的拓撲結構。只要源節(jié)點發(fā)送報文,就能夠立即取得到達目的節(jié)點的路由。目前常見的有C.E,Perkins在1994年提出的DSDV路由協議、CGSR路由協議以及WRP路由協議等。DSDV路由協議是一種無環(huán)路距離向路由協議,它是傳統(tǒng)的BellmanFord路由協議的改良。在DSDV中,每個移動節(jié)點都需要維護一個路由表,路由表表項其中包括目的節(jié)點、跳數和目的地序號,其中目的節(jié)點分配目的地序號,主要用于判別路由是否過時,并且能夠防止路由環(huán)路的產生。每個節(jié)點必須周期性的與鄰節(jié)點交換路由信息,也可以根據路由表的改變來觸發(fā)路由更新。CGSR路由協議與DSDV類似,但是CGSR并不是一個大的平面網絡。CGSR分配指定了網關節(jié)點簇首節(jié)點和,其中網關節(jié)點是兩個簇之間的節(jié)點,簇首節(jié)點用來控制一組節(jié)點和網關節(jié)點。其中每個節(jié)點都必須有其簇成員的路由表。因為,當一個節(jié)點要發(fā)送分組時,這個分組首先到達這個發(fā)送節(jié)點的簇首節(jié)點,然后簇首節(jié)點把該分組通過網關節(jié)點轉發(fā)給另外一個簇首節(jié)點,不斷重復這個過程直到分組到達目的節(jié)點。WRP路由協議是另一種表驅動路由協議,在網絡的節(jié)點中保存路由信息。每個節(jié)點都在路由表中保存有如下信息:距離、路由、鏈路開銷和重傳消息的列表。重傳消息的列表記錄關于重傳計數器、消息序列號、每一個鄰節(jié)點正確應答所需的標識以及更新消息的更新列表等信息。WRP的優(yōu)點就是當一個節(jié)點試圖執(zhí)行路徑方案算法時,可以通過目的節(jié)點的上游節(jié)點所保存的信息和鄰節(jié)點所保存的信息來限制算法,使得算法收斂得更快并防止路由當中的環(huán)路。由于WRP需要保存4個路由表,所以比大多數的協議需要更大的內存。WRP還依賴于周期性的Hello消息,這也要占用帶寬。這類路由協議通常是通過修改常規(guī)的Internet路由協議以適應移動Adhoc網絡環(huán)境,通過引入序列號機制解決了“路由環(huán)路〞和“計數到無窮〞的問題;通過采用“時問驅動〞和“事件驅動〞機制更新路由信息,盡量減少路由等控制信息對無線信道的占用,以提高系統(tǒng)效率。在主動式路由協議中,由于每個節(jié)點需要實時地維護路由信息,這樣在網絡規(guī)模較大、拓撲變化較快的環(huán)境中,大量的拓撲更新消息會占用過多的信道資源,使得系統(tǒng)效率下降。為此,1996年卡耐基梅隆大學的DavidB.Johnson在DSR協議中提出了一種新的路由選擇原那么:按需路由協議。按需路由協議又稱為反響式路由協議〔ReactiveProtocols〕。與主動式路由協議相比,它是一種被動式的路由協議。在這類協議中,節(jié)點平時并不實時地維護網絡路由,只有在節(jié)點有數據需要發(fā)送時,從激活路由發(fā)現機制尋找到達目的地的路由。路山發(fā)現過程如下圖。當節(jié)點1有數據要向節(jié)點8發(fā)送且無路由時,節(jié)點1啟動路由發(fā)現過程:1.節(jié)點1向鄰居節(jié)點〔節(jié)點2、3、4〕發(fā)送路由請求消息;2.中間節(jié)點轉發(fā)路由請求消息直至目的節(jié)點8;3.目的節(jié)點選擇適宜的路由返回路由響應消息,該消息中攜帶了從節(jié)點1到節(jié)點8的完整路由。圖4按需路由協議的路由發(fā)現過程根據國際上目前研究的結果可知,在各種不同的情況下比較時,基于按需方式的路由算法要比基于表驅動方式的路由算法在性能上有著明顯的優(yōu)勢。另外,在負載較重的情況下,按需式的路由協議中AODV協議的性能最為理想。第3章智能倉儲監(jiān)測系統(tǒng)方案設計圖5傳感器網絡拓撲3.2硬件設計、節(jié)點結構如圖由數傳感A/轉換器據處塊由負責控制整個傳感器節(jié)點的操作和數據存儲無線負責與其他傳感器節(jié)能量供給模塊為系統(tǒng)其他的三個局部T10CC2530CC2530AA通過一個電壓轉換MCP1259將電壓轉3.3V系統(tǒng)節(jié)點通常在閑置時快速進入休眠其外設模塊休眠不對這些外模塊主要由CC2530和一些外圍器件構圖6傳感器節(jié)點結構圖SHT10是一款高度集成的溫濕度傳感器芯片,提供全標定的數字輸出。它采用專利的CMOSens技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上,與14位的A/D轉換器以及串行接口電路實現無縫連接。SHT10引腳特性如下:1.VDD,GNDSHT10的供電電壓為2.4~5.5V。傳感器上電后,要等待11ms以越過“休眠〞狀態(tài)。在此期間無需發(fā)送任何指令。電源引腳〔VDD,GND〕之間可增加一個100nF的電容,用以去耦濾波。2.SCK用于微處理器與SHT10之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。3.DATA三態(tài)門用于數據的讀取。DATA在SCK時鐘下降沿之后改變狀態(tài),并僅在SCK時鐘上升沿有效。數據傳輸期間,在SCK時鐘高電平時,DATA必須保持穩(wěn)定。為防止信號沖突,微處理器應驅動DATA在低電平。需要一個外部的上拉電阻〔例如:10kΩ〕將信號提拉至高電平。上拉電阻通常已包含在微處理器的I/O電路中。向SHT10發(fā)送命令:用一組“啟動傳輸〞時序,來表示數據傳輸的初始化。它包括:當SCK時鐘高電平時DATA翻轉為低電平,緊接著SCK變?yōu)榈碗娖?,隨后是在SCK時鐘高電平時DATA翻轉為高電平。后續(xù)命令包含三個地址位〔目前只支持“000〞,和五個命令位。SHT10會以下述方〕式表示已正確地接收到指令:在第8個SCK時鐘的下降沿之后,將DATA拉為低電平〔ACK位〕。在第9個SCK時鐘的下降沿之后,釋放DATA〔恢復高電平〕。測量時序(RH和T):發(fā)布一組測量命令〔‘00000101’表示相對濕度RH,‘00000011’表示溫度T〕后,控制器要等待測量結束。這個過程需要大約11/55/210ms,分別對應8/12/14bit測量。確切的時間隨內部晶振速度,最多有±15%變化。SHTxx通過下拉DATA至低電平并進入空閑模式,表示測量的結束。控制器在再次觸發(fā)SCK時鐘前,必須等待這個“數據備妥〞信號來讀出數據。檢測數據可以先被存儲,這樣控制器可以繼續(xù)執(zhí)行其它任務在需要時再讀出數據。接著傳輸2個字節(jié)的測量數據和1個字節(jié)的CRC奇偶校驗。需要通過下拉DATA為低電平,uC以確認每個字節(jié)。所有的數據從MSB開始,右值有效〔例如:對于12bit數據,從第5個SCK時鐘起算作MSB;而對于8bit數據,首字節(jié)那么無意義〕。用CRC數據確實認位,說明通訊結束。如果不使用CRC-8校驗,控制器可以在測量值LSB后,通過保持確認位ack高電平,來中止通訊。在測量和通訊結束后,SHTxx自動轉入休眠模式。通訊復位時序:如果與SHTxx通訊中斷,以下信號時序可以復位串口:當DATA保持高電平時,觸發(fā)SCK時鐘9次或更多。在下一次指令前,發(fā)送一個“傳輸啟動〞時序。這些時序只復位串口,狀態(tài)存放器內容仍然保存。3.3軟件設計ZigBee無線通訊協議終端節(jié)點的軟件主要實現以下功能:(1)數據采集功能:采集各個傳感器的輸出信號并進行數據分析存儲。(2)數據顯示功能:能夠在LCD上將采集處理后的傳感器數據實時顯示。每個不同類型的傳感器構成一個單獨的節(jié)點,液晶顯示當前環(huán)境下溫度(℃)、濕度(%RH)和煙霧強弱。(3)數據傳輸功能:采用標準的MODBUS協議通過上位機修改系統(tǒng)參數。(4)與無線模塊通訊:單片機將要發(fā)送的數據以特定的波特率通過串口送到無線模塊發(fā)送[12]。ZigBee無線通訊協議程序流程圖如圖7所示。圖7ZigBee無線通訊協議程序流程主程序程序流程圖:圖8主程序程序流程圖2.2.4核心程序代碼:voidmain(){inttempera;inthumidity;chars[16];UINT8adc0_value[2];floatnum=0;SET_MAIN_CLOCK_SOURCE(CRYSTAL);//設置系統(tǒng)時鐘源為32MHz晶體振蕩器GUI_Init();//GUI初始化GUI_SetColor(1,0);//顯示色為亮點,背景色為暗點GUI_PutString5_7(25,6,"OURS-CC2530");//顯示OURS-CC2530GUI_PutString5_7(10,22,"Temp:");GUI_PutString5_7(10,35,"Humi:");GUI_PutString5_7(10,48,"Light:");LCM_Refresh();while(1){th_read(&tempera,&humidity);//讀取溫度和濕度sprintf(s,(char*)"%d%dC",((INT16)((int)tempera/10)),((INT16)((int)tempera%10)));//將溫度結果轉換為字符串GUI_PutString5_7(48,22,(char*)s);//顯示結果LCM_Refresh();sprintf(s,(char*)"%d%d%%",((INT16)((int)humidity/10)),((INT16)((int)humidity%10)));//將濕度結果轉換為字符串GUI_PutString5_7(48,35,(char*)s);//顯示結果LCM_Refresh();3.4本設計所使用的實驗箱以及軟件支持3.4.1所使用的試驗箱概述物聯網創(chuàng)新實驗系統(tǒng)IOV-T-2530采用系列傳感器模塊和無線節(jié)點模塊組成無線傳感網,擴展嵌入式網關實現廣域訪問,可實現多種物聯網構架,完成物聯網相關的各種傳感器的信息采集、無線信號收發(fā)、Zigbee網絡通訊、組件控制全過程。該工具箱提供了無線傳感網通信模塊、根本的傳感器及控制器模塊、嵌入式網關、計算機效勞器參考軟件等,實驗系統(tǒng)形式如以下圖:3.4.2實現基于CC2530的溫濕度采集系統(tǒng)節(jié)點模塊設計實驗系統(tǒng)包含4個無線傳感網通信節(jié)點和一個無線網絡協調器,其結構如下:無線節(jié)點模塊:主要有射頻單片機構成,MCU是TI的CC2530,2.4G載頻,棒狀天線。傳感器及控制模塊:系列傳感器模塊,包括溫濕度傳感模塊、繼電器模塊和RS232模塊等,也可以通過總線擴展用戶自己的傳感器及控制器部件。電源板或智能主板:即實現無線節(jié)點模塊與傳感及控制模塊的連接,又實現系統(tǒng)供電,目前主要有兩節(jié)電池供電,保存外接電源接口,可以直接有直流電供電。節(jié)點圖如下:總結ZigBee無線傳感器網絡是基于ZigBee協議的無線傳感器網絡,是ZigBee協議與傳感技術的結合,是應用性非常強的技術,它具有耗資小、安裝方便、維護和更新費用低等優(yōu)勢,非常適合于對布線困難、人員不能到達的區(qū)域和一些臨時場合的狀況進行遠程監(jiān)控,如大型建筑的健康狀態(tài)監(jiān)控、空間探索、災害預測等,它在當前我國環(huán)境監(jiān)測系統(tǒng)中有著巨大的應用潛力的。目前市場上的近距離無線通信技術有很多種,如無線局域網WiFi、藍牙、IrDA、UWB、RF等。經過市場調研,發(fā)現ZigBee無線通信技術在在無線傳感網絡中占有廣泛的市場,具有低功耗、數據傳輸可靠、網絡容量大、兼容性強、平安性高、本錢低等特點。本設計采用了ZigBee技術實現無線網絡的搭建。經過反復的測試,我們研制的無線網絡節(jié)點通信平臺已經可以穩(wěn)定的運行,并且有較好的可靠性和擴展性。本次設計主要涉及到硬件設計和ZigBee協議編程兩方面的內容。通過該設計,使得自己在學業(yè)上受益匪淺,它不僅要求我靈活應用以前所學的知識,也要求自己在工作中不斷學習和接受新知識,極大的鍛煉了自己獨立研發(fā)的能力,為今后的工作開創(chuàng)了新的前景。致謝經過數周的努力,我們終于完成了這次的課程設計。這次課設主要是設計基于物聯網的數據采集系統(tǒng),盡管在這次課程設計中我們遇到了了很多的問題,但是在指導老地師耐心的指導下,我們反反復復的實驗,失敗了很屢次,從中汲取經驗,直到問題迎刃而解。論文能夠得以順利完成,首先要感謝我的學院給我提供良好的學習環(huán)境和實驗條件。飲其流時思其源。成吾學士念吾師。在課程設計完成的時刻,我謹向這次課程設計的指導老師表示誠摯的謝意和崇高的敬意。大學之大,不在大樓,而在大師。大師們才高八斗,學富五車,授我以專業(yè)知識;大師們高屋建瓴,寧靜致遠,予我以嚴謹之邏輯;大師們博聞多識,學高身正,釋我以學者之楷模。最后我要感謝陪我一起做課設的同學們,謝謝你們在做課設期間對我耐心誠懇的幫助,這是我大學生涯中一段美好的,難忘的時光。參考文獻[1]李文仲,段朝玉著.ZigBee2007/PRO協議棧實驗與實踐.北京航空航天大學出版社,2023.3[2]石志國等著.物聯網技術與應用.北京交通大學出版社,2023.9[3]吳大鵬等著.物聯網技術與應用.電子工業(yè)出版社,2023.6[4]吳洪貴,孫玉娣等著.物聯網應用系統(tǒng)開發(fā).東軟電子出版社,2023.11[5]付蔚著,家居物聯網技術開發(fā)與實踐.北京大學出版社,2023.8[6]熊茂華,熊昕著.物聯網技術與應用開發(fā).西安電子科技大學出版社,2023.11[7]北京奧爾斯電子科技.物聯網創(chuàng)新實驗套件實驗指導書2023.11[5][8]JaneK.Hart,KirkMartinez.EnvironmentalSensorNetworks:Arevolutionintheearthsystemscience7.Earth—ScienceReviews,2006附錄附件:系統(tǒng)程序#include"hal.h"#include"LCD.h"#include"stdio.h"#definenoACK0#defineACK1#defineSTATUS_REG_W0x06#defineSTATUS_REG_R0x07#defineMEASURE_TEMP0x03#defineMEASURE_HUMI0x05#defineRESET0x1e#defineSCLP1_0//SHT10時鐘#defineSDAP1_1//SHT10數據線unsignedchard1,d2,d3,d4,d5,d6,d7;voidWait(unsignedintms);voidQWait(void);chars_write_byte(unsignedcharvalue);chars_read_byte(unsignedcharack);voids_transstart(void);voids_connectionreset(void);chars_measure(unsignedchar*p_checksum,unsignedcharmode);voidinitIO(void);/***************************************************************************************************函數名稱:Wait**功能描述:延時函數〔不精確延時〕**參數:ms--延時時間**返回值:無**************************************************************************************************/voidWait(unsignedintms){unsignedcharg,k;while(ms){ for(g=0;g<=167;g++) { for(k=0;k<=48;k++); }ms--;}}/***************************************************************************************************函數名稱:QWait**功能描述:延時函數〔大約1us的延時〕**參數:無**返回值:無**************************************************************************************************/voidQWait(){asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");}/***************************************************************************************************函數名稱:initIO**功能描述:SHT10串行通信IO初始化**參數:無**返回值:無**************************************************************************************************/voidinitIO(void){IO_DIR_PORT_PIN(1,0,IO_OUT);IO_DIR_PORT_PIN(1,1,IO_OUT);P1INP|=0x03;SDA=1;SCL=0;}/***************************************************************************************************函數名稱:s_write_byte**功能描述:從SHT10寫一個字節(jié)**參數:value--需寫入的字節(jié)值**返回值:error--操作是否成功**************************************************************************************************/chars_write_byte(unsignedcharvalue){unsignedchari,error=0;IO_DIR_PORT_PIN(1,0,IO_OUT);//時鐘和數據IO設置為輸出IO_DIR_PORT_PIN(1,1,IO_OUT);for(i=0x80;i>0;i/=2)//將一個字節(jié)的8位逐一輸出{if(i&value) SDA=1;else SDA=0;SCL=1;QWait();QWait();QWait();QWait();QWait();SCL=0;asm("NOP");asm("NOP");}SDA=1;IO_DIR_PORT_PIN(1,1,IO_IN);//將數據線設置為輸入,以準備接收SHT10的ACKSCL=1;asm("NOP");error=SDA;QWait();QWait();QWait();IO_DIR_PORT_PIN(1,1,IO_OUT);//將數據線恢復為輸出狀態(tài)SDA=1;SCL=0;returnerror;}/***************************************************************************************************函數名稱:s_read_byte**功能描述:從SHT10讀取一個字節(jié)**參數:ack--讀取數據后,向SHT10發(fā)送ACK**返回值:val--讀取的字節(jié)值**************************************************************************************************/chars_read_byte(unsignedcharack){IO_DIR_PORT_PIN(1,0,IO_OUT);//時鐘和數據IO設置為輸出IO_DIR_PORT_PIN(1,1,IO_OUT);unsignedchari,val=0;SDA=1;IO_DIR_PORT_PIN(1,1,IO_IN);//將數據線設置為輸入,以準備接收SHT10的數據for(i=0x80;i>0;i/=2){SCL=1;if(SDA)val=(val|i);elseval=(val|0x00);SCL=0;QWait();QWait();QWait();QWait();QWait();}IO_DIR_PORT_PIN(1,1,IO_OUT);//將數據線恢復為輸出狀態(tài)SDA=!ack;SCL=1;QWait();QWait();QWait();QWait();QWait();SCL=0;SDA=1;returnval;//返回讀取的值}/***************************************************************************************************函數名稱:s_transstart**功能描述:啟動SHT10,開始與SHT10通信**參數:無**返回值:無**************************************************************************************************/voids_transstart(void){IO_DIR_PORT_PIN(1,0,IO_OUT);IO_DIR_PORT_PIN(1,1,IO_OUT);SDA=1;SCL=0;QWait();QWait();SCL=1;QWait();QWait();SDA=0;QWait();QWait();SCL=0;QWait();QWait();QWait();QWait();QWait();SCL=1;QWait();QWait();SDA=1;QWait();QWait();SCL=0;QWait();QWait();}/***************************************************************************************************函數名稱:s_connectionreset**功能描述:與SHT10通信復位**參數:無**返回值:無**************************************************************************************************/voids_connectionreset(void){IO_DIR_PORT_PIN(1,0,IO_OUT);IO_DIR_PORT_PIN(1,1,IO_OUT);unsignedchari;SDA=1;SCL=0;for(i=0;i<9;i++){SCL=1;QWait();QWait();SCL=0;QWait();QWait();}s_transstart();}/***************************************************************************************************函數名稱:s_measure**功能描述:發(fā)送命令、讀取SHT10溫度或濕度數據**參數:*p_checksum--校驗和*mode--讀取數據類型〔3為溫度,5為濕度〕**返回值:er--操作結果**************************************************************************************************/chars_measure(unsignedchar*p_checksum,unsignedcharmode){unsigneder=0;unsignedinti,j;s_transstart();//啟動傳輸switch(mode){case3 :er+=s_write_byte(3);break;//發(fā)送溫度讀取命令case5 :er+=s_write_byte(5);break;//發(fā)送濕度讀取命令default:break;}IO_DIR_PORT_PIN(1,1,IO_IN);//將數據線設置為輸入,以準備接收SHT10的ACKfor(i=0;i<65535;i++){for(j=0;j<65535;j++){if(SDA==0){break;}}if(SDA==0){break;}}if(SDA)//SDA沒有拉低,錯誤信息加1{er+=1;}d1=s_read_byte(ACK);//數據讀取d2=s_read_byte(ACK);d3=s_read_byte(noACK);returner;}/***************************************************************************************************函數名稱:th_read**功能描述:調用相應函數,讀取溫度和數據數據并校驗和計算**參數:t--溫度值*h--濕度值*返回值:無**************************************************************************************************/voidth_read(int*t,int*h){unsignedcharerror,checksum;floathumi,temp;inttmp;initIO();s_connectionreset();//啟動傳輸error=0;error+=s_measure(&checksum,5);//讀取濕度數據并校驗humi=d1*256+d2;error+=s_measure(&checksum,3);//讀取溫度數據并校驗temp=d1*256+d2;if(error!=0)s_connectionreset();//讀取失敗,通信復位else//讀取成功,計算數據{temp=temp*0.01-44.0;humi=(temp-25)*(0.01+0.00008*humi)-0.0000028*humi*humi+0.0405*humi-4;if(humi>100){humi=100;}if(humi<0.1){humi=0.1;}}tmp=(int)(temp*10)%10;if(tmp>4){temp=temp+1;}else{temp=temp;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合法的多人承包合同模板
- 2025租賃合同普通我方為承租人
- 2025切邊模具合同書
- 老屋修復技術在國內外的發(fā)展現狀對比分析
- 2024年肛腸科醫(yī)院項目資金申請報告代可行性研究報告
- 探究學生自我監(jiān)控學習過程的有效策略
- 老年人用藥注意事項
- 二零二五年度電梯安裝工程安全防護設施采購合同2篇
- 2025年牛津譯林版必修3歷史上冊月考試卷
- 2025年魯科五四新版九年級地理上冊月考試卷含答案
- GB/T 45107-2024表土剝離及其再利用技術要求
- 2024-2025學年八年級上學期1月期末物理試題(含答案)
- 商場電氣設備維護勞務合同
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 2023年國家公務員錄用考試《行測》真題(行政執(zhí)法)及答案解析
- 全國教學設計大賽一等獎英語七年級上冊(人教2024年新編)《Unit 2 Were Family!》單元教學設計
- 2024智慧醫(yī)療數據字典標準值域代碼
- 年產12萬噸裝配式智能鋼結構項目可行性研究報告模板-立項備案
- 【獨家揭秘】2024年企業(yè)微信年費全解析:9大行業(yè)收費標準一覽
- 醫(yī)療器械經銷商會議
- 《±1100kV特高壓直流換流變壓器使用技術條件》
評論
0/150
提交評論