基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng)_第1頁
基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng)_第2頁
基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng)_第3頁
基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng)_第4頁
基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、*實(shí)踐教學(xué)*蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2014年春季學(xué)期物聯(lián)網(wǎng)綜合應(yīng)用實(shí)踐課程設(shè)計(jì)題 目: 基于物聯(lián)網(wǎng)的智能倉儲(chǔ)溫濕度檢測系統(tǒng) 專業(yè)班級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 成 績: 目錄摘要3前言4一 基本原理51.1硬件方面51.1.1芯片SHT10介紹51.1.2 CC2530介紹71.2軟件方面101.2.1 zigbee協(xié)議介紹101.2.2 zigbee協(xié)議棧結(jié)構(gòu)11二 系統(tǒng)分析152.1程序流程圖152.2具體步驟15三 詳細(xì)設(shè)計(jì)163.1 總體軟件結(jié)構(gòu)163.2硬件模塊設(shè)計(jì)193.3總體結(jié)構(gòu)軟件設(shè)計(jì)19四 總結(jié)27六 致謝29 摘要 針對現(xiàn)有倉庫溫濕度檢測存在的問題,結(jié)合無線傳

2、感器網(wǎng)絡(luò)技術(shù),提出一種基于ZigBee技術(shù)的倉庫溫濕度采集系統(tǒng)設(shè)計(jì)方法。該系統(tǒng)采用Zigbee無線通信技術(shù)結(jié)合傳感器,通過運(yùn)用Zigbee協(xié)議架構(gòu)組建無線傳感網(wǎng)絡(luò),實(shí)現(xiàn)主從節(jié)點(diǎn)的數(shù)據(jù)采集和傳輸,以及一點(diǎn)對多點(diǎn),兩點(diǎn)之間的通信。并詳細(xì)闡述了基于Zigbee協(xié)議棧的中心節(jié)點(diǎn)和終端節(jié)點(diǎn)的協(xié)議傳輸,主要是從Zigbee協(xié)議棧網(wǎng)絡(luò)層里AODV路由協(xié)議著手,闡述在網(wǎng)絡(luò)層如何通過AODV路由協(xié)議進(jìn)行節(jié)點(diǎn)間的連接以及數(shù)據(jù)的收發(fā)。關(guān)鍵字: 倉儲(chǔ)環(huán)境監(jiān)測; CC2530; Zigbee協(xié)議棧; 無線傳感網(wǎng)絡(luò)前言防潮、防霉、防腐、防爆是倉庫日常工作的重要內(nèi)容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。它直接影響到儲(chǔ)備物資的使用

3、壽命和工作可靠性,為保證日常工作的順利進(jìn)行,首要問題是加強(qiáng)倉庫內(nèi)溫度與濕度的監(jiān)測工作,但傳統(tǒng)的方法采用測試器材,通過人工進(jìn)行檢測,這種人工測試方法費(fèi)時(shí)費(fèi)力、效率低,且測試的溫度及濕度誤差大,隨機(jī)性大。因此,倉庫的測控?zé)o線化、智能化和信息化管理已成為倉庫儲(chǔ)備技術(shù)的發(fā)展趨勢。本設(shè)計(jì)是一種基于CC2530和數(shù)字溫濕度傳感器的智能倉儲(chǔ)管理系統(tǒng)。即該系統(tǒng)是采用ZigBee無線通信技術(shù)結(jié)合傳感器,并通過運(yùn)用ZigBee協(xié)議構(gòu)架組建無線傳感網(wǎng)絡(luò),來實(shí)現(xiàn)主從節(jié)點(diǎn)的數(shù)據(jù)采集和傳輸?shù)?,同時(shí),需要在網(wǎng)絡(luò)層通過AODV路由協(xié)議來進(jìn)行節(jié)點(diǎn)間的連接以及數(shù)據(jù)的收發(fā)??傊?,基于無線傳感技術(shù)的無線網(wǎng)絡(luò)傳感器是一種將傳感器、控制

4、器、計(jì)算能力、通信能力完美的結(jié)合于一身的嵌入式設(shè)備。它們跟外界的物理環(huán)境交互,適時(shí)地采集信息,并且將采集到的信息通過無線傳感網(wǎng)絡(luò)傳送給遠(yuǎn)程用戶。無線網(wǎng)絡(luò)傳感器一般是由一個(gè)低功耗的微控制器(MCU)和若干個(gè)存儲(chǔ)器,無線電/光通信裝置、傳感器等組件所集成的,通過傳感器及通信裝置和它們所處的外界物理環(huán)境進(jìn)行交互。一基本原理本實(shí)驗(yàn)將使用 CC2530 讀取溫濕度傳感器 SHT10 的溫度和濕度數(shù)據(jù),并通過 CC2530 內(nèi)部的 ADC 得到光照傳感器的數(shù)據(jù),將采樣到的溫濕度及光照傳感器采集數(shù)據(jù)通過串口發(fā)送到CORTEX A8DB開發(fā)板上。在CORTEX A8DB開發(fā)板上通過軟件將采集到的光、濕度、溫度

5、值通過曲線描述出來。其中對溫濕度的讀取是利用 CC2530 的 I/O(P1.0 和 P1.1)模擬一個(gè)類 IIC 的過程。其中該系統(tǒng)所使用的SHT10是一款高度集成的溫濕度傳感器芯片,提供全標(biāo)定的數(shù)字輸出。CORTEX A8DB開發(fā)板作為最終的顯示設(shè)備.1.1硬件方面1.1.1芯片SHT10介紹SHT10 是一款高度集成的溫濕度傳感器芯片, 提供全標(biāo)定的數(shù)字輸出。它采用專利的CMOSens 技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電容性聚合體測濕敏感元件、一個(gè)用能隙材料制成的測溫元件,并在同一芯片上,與 14 位的 A/D 轉(zhuǎn)換器以及串行接口電路實(shí)現(xiàn)無縫連接。SHT1

6、0 引腳特性如下:1. VDD,GND SHT10 的供電電壓為 2.45.5V。傳感器上電后,要等待 11ms 以越過“休眠”狀態(tài)。在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè) 100nF 的電容,用以去耦濾波。2. SCK 用于微處理器與 SHT10 之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小 SCK 頻率。3. DATA 三態(tài)門用于數(shù)據(jù)的讀取。DATA 在 SCK 時(shí)鐘下降沿之后改變狀態(tài),并僅在 SCK 時(shí)鐘上升沿有效。數(shù)據(jù)傳輸期間,在 SCK 時(shí)鐘高電平時(shí),DATA 必須保持穩(wěn)定。為避免信號(hào)沖突,微處理器應(yīng)驅(qū)動(dòng) DATA 在低電平。需要一個(gè)外部的上

7、拉電阻(例如:10k)將信號(hào)提拉至高電平。上拉電阻通常已包含在微處理器的 I/O 電路中。向 SHT10 發(fā)送命令:用一組“ 啟動(dòng)傳輸”時(shí)序,來表示數(shù)據(jù)傳輸?shù)某跏蓟Kǎ寒?dāng) SCK 時(shí)鐘高電平時(shí)DATA 翻轉(zhuǎn)為低電平,緊接著 SCK 變?yōu)榈碗娖?,隨后是在 SCK 時(shí)鐘高電平時(shí) DATA 翻轉(zhuǎn)為高電平。后續(xù)命令包含三個(gè)地址位(目前只支持“000”,和五個(gè)命令位。SHT10 會(huì)以下述方)式表示已正確地接收到指令:在第 8 個(gè) SCK 時(shí)鐘的下降沿之后,將 DATA 拉為低電平(ACK位)。在第 9 個(gè) SCK 時(shí)鐘的下降沿之后,釋放 DATA(恢復(fù)高電平)。測量時(shí)序(RH 和 T):發(fā)布一組測

8、量命令(00000101表示相對濕度 RH,00000011表示溫度 T)后,控制器要等待測量結(jié)束。這個(gè)過程需要大約 11/55/210ms,分別對應(yīng) 8/12/14bit 測量。確切的時(shí)間隨內(nèi)部晶振速度,最多有±15%變化。SHTxx 通過下拉 DATA 至低電平并進(jìn)入空閑模式,表示測量的結(jié)束??刂破髟谠俅斡|發(fā) SCK 時(shí)鐘前,必須等待這個(gè)“數(shù)據(jù)備妥”信號(hào)來讀出數(shù)據(jù)。檢測數(shù)據(jù)可以先被存儲(chǔ),這樣控制器可以繼續(xù)執(zhí)行其它任務(wù)在需要時(shí)再讀出數(shù)據(jù)。接著傳輸 2 個(gè)字節(jié)的測量數(shù)據(jù)和 1 個(gè)字節(jié)的 CRC 奇偶校驗(yàn)。 需要通過下拉 DATA 為低電平,uC以確認(rèn)每個(gè)字節(jié)。所有的數(shù)據(jù)從 MSB 開

9、始,右值有效(例如:對于 12bit 數(shù)據(jù),從第 5 個(gè)SCK 時(shí)鐘起算作 MSB; 而對于 8bit 數(shù)據(jù), 首字節(jié)則無意義)。用 CRC 數(shù)據(jù)的確認(rèn)位,表明通訊結(jié)束。如果不使用 CRC-8 校驗(yàn),控制器可以在測量值 LSB 后,通過保持確認(rèn)位 ack 高電平, 來中止通訊。在測量和通訊結(jié)束后,SHTxx 自動(dòng)轉(zhuǎn)入休眠模式。 通訊復(fù)位時(shí)序:如果與 SHTxx 通訊中斷,下列信號(hào)時(shí)序可以復(fù)位串口:當(dāng) DATA 保持高電平時(shí),觸發(fā)SCK 時(shí)鐘 9 次或更多。在下一次指令前,發(fā)送一個(gè)“傳輸啟動(dòng)”時(shí)序。這些時(shí)序只復(fù)位串口,狀態(tài)寄存器內(nèi)容仍然保留。1.1.2 CC2530介紹CC2530 是基于2.4

10、-GHz IEEE802.15.4、ZigBee 和RF4CE 上的一個(gè)片上系統(tǒng)解決方案。其特點(diǎn)是以極低的總材料成本建立較為強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530 芯片結(jié)合了RF 收發(fā)器,增強(qiáng)型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM 和許多其他模塊的強(qiáng)大的功能。如今CC2530 主要有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。其具有多種運(yùn)行模式,使得它能滿足超低功耗系統(tǒng)的要求。同時(shí)CC2530運(yùn)行模式之間的轉(zhuǎn)換時(shí)間很短,使其進(jìn)一步降低能源消耗。 CC2530包括了1個(gè)高性能的2.4 GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)

11、器核心和1個(gè)8051控制器,它具有32/64/128 kB可選擇的編程閃存和8 kB的RAM,還包括ADC、定時(shí)器、睡眠模式定時(shí)器、上電復(fù)位電路、掉電檢測電路和21個(gè)可編程I/O引腳,這樣很容易實(shí)現(xiàn)通信模塊的小型化。CC2530是一款功耗相當(dāng)?shù)偷膯纹瑱C(jī),功耗模式3下電流消耗僅0.2A,在32 k晶體時(shí)鐘下運(yùn)行,電流消耗小于1A。CC2530芯片使用直接正交上變頻發(fā)送數(shù)據(jù)。基帶信號(hào)的同相分量和正交分量由DAC轉(zhuǎn)換成模擬信號(hào),經(jīng)過低通濾波,變頻到所設(shè)定的信道上。當(dāng)需要發(fā)送數(shù)據(jù)時(shí),先將要發(fā)送的數(shù)據(jù)寫入128B的發(fā)送緩存中,包頭是通過硬件產(chǎn)生的。最后經(jīng)過低通濾波器和上變頻的混頻后,將射頻信號(hào)被調(diào)制到2

12、.4GHz,后經(jīng)天線發(fā)送出去。CC2530有兩個(gè)端口分別為TX/RX,RF端口不需要外部的收發(fā)開關(guān),芯片內(nèi)部已集成了收發(fā)開關(guān)。CC2530的存儲(chǔ)器ST-M25PE16是4線的SPI通信模式的FLASH,可以整塊擦除,最大可以存儲(chǔ)2M個(gè)字節(jié)。工作電壓為2.7v到3.6v。CC2530溫度傳感器模塊反向F型天線采用TI公司公布的2.4GHz倒F型天線設(shè)計(jì)。天線的最大增益為3.3dB,天線面積為25.7×7.5mm。該天線完全能夠滿足CC2530工作頻段的要求(CC2530工作頻段為2.400GHz2.480GHz)。 圖1.CC2530芯片引腳CC2530芯片引腳功能AVDD1 28 電

13、源(模擬) 2-V3.6-V 模擬電源連接AVDD2 27 電源(模擬) 2-V3.6-V 模擬電源連接AVDD3 24 電源(模擬) 2-V3.6-V 模擬電源連接AVDD4 29 電源(模擬) 2-V3.6-V 模擬電源連接AVDD5 21 電源(模擬) 2-V3.6-V 模擬電源連接AVDD6 31 電源(模擬) 2-V3.6-V 模擬電源連接DCOUPL 40 電源(數(shù)字) 1.8V 數(shù)字電源去耦。不使用外部電路供應(yīng)。DVDD1 39 電源(數(shù)字) 2-V3.6-V 數(shù)字電源連接DVDD2 10 電源(數(shù)字) 2-V3.6-V 數(shù)字電源連接GND - 接地 接地襯墊必須連接到一個(gè)堅(jiān)固的

14、接地面。GND 1,2,3,4 未使用的連接到GNDP0_0 19 數(shù)字I/O 端口0.0P0_1 18 數(shù)字I/O 端口0.1P0_2 17 數(shù)字I/O 端口0.2P0_3 16 數(shù)字I/O 端口0.3P0_4 15 數(shù)字I/O 端口0.4P0_5 14 數(shù)字I/O 端口0.5P0_6 13 數(shù)字I/O 端口0.6P0_7 12 數(shù)字I/O 端口0.7P1_0 11 數(shù)字I/O 端口1.0-20-mA 驅(qū)動(dòng)能力P1_1 9 數(shù)字I/O 端口1.1-20-mA 驅(qū)動(dòng)能力P1_2 8 數(shù)字I/O 端口1.2P1_3 7 數(shù)字I/O 端口1.3P1_4 6 數(shù)字I/O 端口1.4P1_5 5 數(shù)字

15、I/O 端口1.5P1_6 38 數(shù)字I/O 端口1.6P1_7 37 數(shù)字I/O 端口1.7P2_0 36 數(shù)字I/O 端口2.0P2_1 35 數(shù)字I/O 端口2.1P2_2 34 數(shù)字I/O 端口2.2P2_3 33 數(shù)字I/O 模擬端口2.3/32.768 kHz XOSCP2_4 32 數(shù)字I/O 模擬端口2.4/32.768 kHz XOSCRBIAS 30 模擬I/O 參考電流的外部精密偏置電阻RESET_N 20 數(shù)字輸入 復(fù)位,活動(dòng)到低電平RF_N 26 RF I/O RX 期間負(fù)RF 輸入信號(hào)到LNARF_P 25 RF I/O RX 期間正RF 輸入信號(hào)到LNAXOSC_

16、Q1 22 模擬I/O 32-MHz 晶振引腳1或外部時(shí)鐘輸入XOSC_Q2 23 模擬I/O 32-MHz 晶振引腳21.1.3溫濕度傳感器模塊溫濕度探頭直接使用 IIC 接口進(jìn)行控制,光敏探頭經(jīng)運(yùn)放處理后輸出電壓信號(hào)到 AD 輸入。IIC 接口將同時(shí)連接 EEPROM 以及溫濕度傳感器兩個(gè)設(shè)備,將采用使用不同的 IIC設(shè)備地址的方式進(jìn)行區(qū)分。其電路原理圖如下所示:圖(1)溫濕度傳感器模塊原理圖使用 1012bit 的 AD 采集器進(jìn)行光敏信號(hào)采集,使用專用溫濕度傳感器 (IIC 接口)進(jìn)行溫濕度信號(hào)采集。一次采樣使用 2 字節(jié)描述,MSB 方式,溫濕度及光電傳感器模塊輸出數(shù)據(jù)結(jié)構(gòu)如下:(1

17、)僅采集溫度信息溫度數(shù)據(jù)高字節(jié),溫度數(shù)據(jù)低字節(jié)。(2)僅采集濕度信息濕度數(shù)據(jù)高字節(jié),濕度數(shù)據(jù)低字節(jié)。(4)采集全部信息溫度數(shù)據(jù)高字節(jié),溫度數(shù)據(jù)低字節(jié),濕度數(shù)據(jù)高字節(jié),濕度數(shù)據(jù)低字節(jié)。 注意:本指令一次測量,最多只上傳 1 次采集數(shù)據(jù),不支持連續(xù)采集數(shù)據(jù)上傳。1.2軟件方面1.2.1 zigbee協(xié)議介紹 ZigBee協(xié)議標(biāo)準(zhǔn)采用分層結(jié)構(gòu),每一層為上層提供一系列特殊的服務(wù):數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù);管理實(shí)體則提供所有其他的服務(wù)。所有的服務(wù)實(shí)體都通過服務(wù)接人點(diǎn)SAP為上層提供接口,每個(gè)SAP都支持一定數(shù)量的服務(wù)原語來實(shí)現(xiàn)所需的功能。ZigBee標(biāo)準(zhǔn)的分層架構(gòu)是在OSI七層模型的基礎(chǔ)上根據(jù)市場和應(yīng)用

18、的實(shí)際需要定義的。其中IEEE 8021542003標(biāo)準(zhǔn)定義了底層協(xié)議:物理層(physical layer,PHY)和媒體訪問控制層(medium access control sublayer,MAC)。ZigBee 聯(lián)盟在此基礎(chǔ)上定義了網(wǎng)絡(luò)層(network layer,NWK),應(yīng)用層(application layer,APL)架構(gòu)。在應(yīng)用層內(nèi)提供了應(yīng)用支持子層(application support sublayer,APS)和 ZigBee設(shè)備對象(ZigBee device object,ZDO)。應(yīng)用框架中則加入了用戶自定義的應(yīng)用對象。 ZigBee的網(wǎng)絡(luò)層采用基于Ad Ho

19、c的路由協(xié)議,除了具有通用的網(wǎng)絡(luò)層功能外,還應(yīng)該與底層的IEEE 802154標(biāo)準(zhǔn)一樣功耗小,同時(shí)要實(shí)現(xiàn)網(wǎng)絡(luò)的自組織和自維護(hù),以最大限度方便消費(fèi)者使用,降低網(wǎng)絡(luò)的維護(hù)成本。應(yīng)用支持子層把不同的應(yīng)用映射到ZigBee網(wǎng)絡(luò)上,主要包括安全屬性設(shè)置、業(yè)務(wù)發(fā)現(xiàn)、設(shè)備發(fā)現(xiàn)和多個(gè)業(yè)務(wù)數(shù)據(jù)流的匯聚等功能。 ZigBee無線測溫系統(tǒng)的組成及原理基于ZigBee技術(shù)的無線測溫系統(tǒng)主要由基于ZigBee技術(shù)的底層無線傳感器網(wǎng)絡(luò)、遠(yuǎn)程數(shù)據(jù)傳輸網(wǎng)絡(luò)以及功能完善的上位監(jiān)控系統(tǒng)3部分組成,該系統(tǒng)是由大量的傳感器點(diǎn)、匯節(jié)點(diǎn)以及遠(yuǎn)程傳輸模塊組成的分布式系統(tǒng)?;诖氐姆謱咏Y(jié)構(gòu)具有天然的分布式處理能力,簇頭就是分布式處理中心,即

20、無線傳感器網(wǎng)絡(luò)的一個(gè)匯節(jié)點(diǎn)。每個(gè)簇成員(傳感器節(jié)點(diǎn))都把數(shù)據(jù)傳給簇頭,數(shù)據(jù)融合后直接傳給遠(yuǎn)程傳輸網(wǎng)絡(luò),中央控制中心通過遠(yuǎn)程傳輸網(wǎng)絡(luò)與多個(gè)匯節(jié)點(diǎn)連接,匯節(jié)點(diǎn)和傳感器節(jié)點(diǎn)之間通過ZigBee技術(shù)實(shí)現(xiàn)無線的信息交換。帶有射頻收發(fā)器的無線傳感器節(jié)點(diǎn)負(fù)責(zé)對數(shù)據(jù)的感知和處理并傳送給匯節(jié)點(diǎn);通過遠(yuǎn)程傳輸網(wǎng)絡(luò)獲取采集到的相關(guān)信息,實(shí)現(xiàn)對現(xiàn)場的有效控制和管理。1.2.2 zigbee協(xié)議棧結(jié)構(gòu)ZigBee協(xié)議棧定義了四層,分別是物理層、媒體訪問控制層、網(wǎng)絡(luò)層、應(yīng)用層。物理層和媒體訪問控制層由IEEE802.15.4-2003定義,上層的網(wǎng)絡(luò)層和應(yīng)用層由Zigbee聯(lián)盟定義。應(yīng)用層分別包括ZDO(Zigbee設(shè)備

21、對象),APS(應(yīng)用支持子層)和AF(應(yīng)用框架)組成。Zigbee協(xié)議棧每一層負(fù)責(zé)完成所規(guī)定的任務(wù),并且向上層提供服務(wù),各層之間的接口通過所定義的邏輯鏈路來提供服務(wù)。 ZigBee協(xié)議棧結(jié)構(gòu)如圖 4-1 所示。圖2 ZigBee協(xié)議棧結(jié)構(gòu)圖1. 物理層物理層由半雙工的無線收發(fā)器及其接口組成,主要作用是激活和關(guān)閉射頻收發(fā)器;檢測信道的能量;顯示收到數(shù)據(jù)包的鏈路質(zhì)量;空閑信道評估;選擇信道頻率;數(shù)據(jù)的接受和發(fā)送。2. 媒體訪問控制層媒體訪問控制(MAC)層建立了一條節(jié)點(diǎn)和與其相鄰的節(jié)點(diǎn)之間可靠的數(shù)據(jù)傳輸鏈路,共享傳輸媒體,提高通信效率。在協(xié)調(diào)器的MAC層,可以產(chǎn)生網(wǎng)絡(luò)信標(biāo),同步網(wǎng)絡(luò)信標(biāo);支持Zig

22、Bee設(shè)備的關(guān)聯(lián)和取消關(guān)聯(lián);支持設(shè)備加密;在信道訪問方面,采用CSMA/CA信道退避算法,減少了碰撞概率;確保時(shí)隙分配(GTS);支持信標(biāo)使能和非信標(biāo)使能兩種數(shù)據(jù)傳輸模式,為兩個(gè)對等的MAC實(shí)體提供可靠連接。3. 網(wǎng)絡(luò)層 網(wǎng)絡(luò)層負(fù)責(zé)拓?fù)浣Y(jié)構(gòu)的建立和維護(hù)網(wǎng)絡(luò)連接,主要功能包括設(shè)備連接和斷開網(wǎng)絡(luò)時(shí)所采用的機(jī)制,以及在幀信息傳輸過程中所采用的安全性機(jī)制。此外,還包括設(shè)備的路由發(fā)現(xiàn)和路由維護(hù)和轉(zhuǎn)交。并且,網(wǎng)絡(luò)層完成對一跳(onehop)鄰居設(shè)備的發(fā)現(xiàn)和相關(guān)結(jié)點(diǎn)信息的存儲(chǔ)。一個(gè)ZigBee協(xié)調(diào)器創(chuàng)建一個(gè)新網(wǎng)絡(luò),為新加入的設(shè)備分配短地址等。并且,網(wǎng)絡(luò)層還提供一些必要的函數(shù),確保ZigBee的MAC層正常工

23、作,并且為應(yīng)用層提供合適的服務(wù)接口。網(wǎng)絡(luò)層要求能夠很好地完成在IEEE 802154標(biāo)準(zhǔn)中MAC子層所定義的功能,同時(shí),又要為應(yīng)用層提供適當(dāng)?shù)姆?wù)接口。為了與應(yīng)用層進(jìn)行更好的通信,網(wǎng)絡(luò)層中定義了兩種服務(wù)實(shí)體來實(shí)現(xiàn)必要的功能。這兩個(gè)服務(wù)實(shí)體是數(shù)據(jù)服務(wù)實(shí)體(NLDE)和管理服務(wù)實(shí)體(NLME)。網(wǎng)絡(luò)層的NLDE通過數(shù)據(jù)服務(wù)實(shí)體服務(wù)訪問點(diǎn)(NLDESAP)來提供數(shù)據(jù)傳輸服務(wù),NLME通過管理服務(wù)實(shí)體服務(wù)訪問點(diǎn)(NLMESAP)來提供管理服務(wù)。NLME可以利用NLDE來激活它的管理工作,它還具有對網(wǎng)絡(luò)層信息數(shù)據(jù)庫(NIB)進(jìn)行維護(hù)的功能。 在這個(gè)圖中直觀地給出了網(wǎng)絡(luò)層所提供的實(shí)體和服務(wù)接口等。 NLD

24、E提供的數(shù)據(jù)服務(wù)允許在處于同一應(yīng)用網(wǎng)絡(luò)中的兩個(gè)或多個(gè)設(shè)備之間傳輸應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)。NLDE提供的服務(wù)有:產(chǎn)生網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(NPDU)和選擇通信路由。選擇通信路由,在通信中,NLDE要發(fā)送一個(gè)NPDU到一個(gè)合適的設(shè)備,這個(gè)設(shè)備可能是通信的終點(diǎn)也可能只是通信鏈路中的一個(gè)點(diǎn)。NLME需提供一個(gè)管理服務(wù)以允許一個(gè)應(yīng)用來與協(xié)議棧操作進(jìn)行交互。 NLME需要提供以下服務(wù):配置一個(gè)新的設(shè)備(configuring a new device)。具有充分配置所需操作棧的能力。配置選項(xiàng)包括:ZigBee協(xié)調(diào)器的開始操作,加入一個(gè)現(xiàn)有的網(wǎng)絡(luò)等。 4. 應(yīng)用層應(yīng)用層包括三部分:應(yīng)用支持子層(APS)、

25、ZigBee設(shè)備對象(ZDO)和應(yīng)用框架(AF)。應(yīng)用支持子層的任務(wù)是提取網(wǎng)絡(luò)層的信息并將信息發(fā)送到運(yùn)行在節(jié)點(diǎn)上的不同應(yīng)用端點(diǎn)。應(yīng)用支持子層維護(hù)了一個(gè)綁定表,可以定義、增加或移除組信息;完成64位長地址(IEEE地址)與16位短地址(網(wǎng)絡(luò)地址)一對一映射;實(shí)現(xiàn)傳輸數(shù)據(jù)的分割與重組;應(yīng)用支持子層連接網(wǎng)絡(luò)層和應(yīng)用層,是它們之間的接口。這個(gè)接口由兩個(gè)服務(wù)實(shí)體提供:APS數(shù)據(jù)實(shí)體(APSDE)和APS管理實(shí)體(APSME)。APS數(shù)據(jù)實(shí)體為網(wǎng)絡(luò)中的節(jié)點(diǎn)提供數(shù)據(jù)傳輸服務(wù),它會(huì)拆分和重組大于最大荷載量的數(shù)據(jù)包。APS管理實(shí)體提供安全服務(wù),節(jié)點(diǎn)綁定,建立和移除組地址,負(fù)責(zé)64位IEEE地址與16位網(wǎng)絡(luò)地址的

26、地址映射4。ZigBee設(shè)備對象負(fù)責(zé)設(shè)備的所有管理工作,包括設(shè)定該設(shè)備在網(wǎng)絡(luò)中的角色(協(xié)調(diào)器、路由器或終端設(shè)備),發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備,確定這些設(shè)備能提供的功能,發(fā)起或響應(yīng)綁定請求,完成設(shè)備之間建立安全的關(guān)聯(lián)等。用戶在開發(fā)ZigBee產(chǎn)品時(shí),需要在ZigBee協(xié)議棧的AF上附加應(yīng)用端點(diǎn),調(diào)用ZDO功能以發(fā)現(xiàn)網(wǎng)絡(luò)上的其他設(shè)備和服務(wù),管理綁定、安全和其他網(wǎng)絡(luò)設(shè)置。ZDO是一個(gè)特殊的應(yīng)用對象,它駐留在每一個(gè)ZigBee節(jié)點(diǎn)上,其端點(diǎn)編號(hào)固定為0。AF應(yīng)用框架是應(yīng)用層與APS層的接口。它負(fù)責(zé)發(fā)送和接收數(shù)據(jù),并為接收到的數(shù)據(jù)尋找相應(yīng)的目的端點(diǎn)。1.2.3 CC2530串口通信原理UART 接口可以使用 2

27、線或者含有引腳 RXD、TXD、可選 RTS 和 CTS 的 4 線。UART 操作由 USART 控制和狀態(tài)寄存器 UxCSR 以及 UART 控制寄存器 UxUCR 來控制。這里的 x 是 USART 的編號(hào),其數(shù)值為 0 或者 1。當(dāng) UxCSR.MODE 設(shè)置為 1 時(shí),就選擇了 UART 模式。當(dāng) USART 收/發(fā)數(shù)據(jù)緩沖器、寄存器 UxBUF 寫入數(shù)據(jù)時(shí),該字節(jié)發(fā)送到輸出引腳 TXDx。UxBUF 寄存器是雙緩沖的。當(dāng)字節(jié)傳輸開始時(shí),UxCSR.ACTIVE 位變?yōu)楦唠娖剑?dāng)字節(jié)傳送結(jié)束時(shí)為低。當(dāng)傳送結(jié)束時(shí),UxCSR.TX_BYTE 位設(shè)置為 1.當(dāng) USART 收/發(fā)數(shù)據(jù)緩

28、沖寄存器就緒,準(zhǔn)備接收新的發(fā)送數(shù)據(jù)時(shí),就產(chǎn)生了一個(gè)中斷請求。該中斷在傳送開始之后立刻發(fā)生,因此,當(dāng)字節(jié)正在發(fā)送時(shí),新的字節(jié)能夠裝入數(shù)據(jù)緩沖器。當(dāng) 1 寫入 UxCSR.RE 位時(shí),在 UART 上數(shù)據(jù)接收就開始了。然后 UART 會(huì)在輸入引腳 TXDx中尋找有效起始位,并且設(shè)置 UxCSR.ACTIVE 位為 1.當(dāng)檢測出有效起始位時(shí),收到的字節(jié)就傳入到接收寄存器,UxCSR.RX_BYTE 位設(shè)置為 1.該操作完成時(shí),產(chǎn)生接收中斷。同時(shí)UxCSR.ACTIVE 變?yōu)榈碗娖?。通過寄存器 UxBUF 提供到的數(shù)據(jù)字節(jié)。當(dāng) UxBUF 讀出時(shí),UxCSR.RX_BYTE 位由硬件清 0。二 系統(tǒng)分

29、析 該系統(tǒng)通過具有IIC總線接口的單片全校準(zhǔn)字式新型相對溫濕度傳感器SHT10實(shí)現(xiàn)對溫濕度的采集,將信號(hào)送至ZigBee技術(shù),從節(jié)點(diǎn)采集溫濕度數(shù)據(jù)每隔一定的時(shí)間輪流向主節(jié)點(diǎn)發(fā)送,主節(jié)點(diǎn)收到數(shù)據(jù)之后通過串口將各節(jié)點(diǎn)的溫濕度數(shù)據(jù)傳給智能主板。2.1程序流程圖開始系統(tǒng)時(shí)鐘初始化讀取溫濕度數(shù)據(jù)顯示溫濕度數(shù)據(jù)LCD初始化 圖3 軟件流程圖 2.2具體步驟 1、給智能主板供電(USB外接電源或2節(jié)干電池) 。 2、將一個(gè)無線節(jié)點(diǎn)模塊插入到帶LCD的智能主板的相應(yīng)位置。 3、將溫濕度及光電傳感器模塊插入到智能主板的傳感及控制擴(kuò)展口位置。 4、將CC2530仿真器的一端通過USB線(A型轉(zhuǎn)B型)連接到 PC

30、機(jī),另一端通過10Pin下載線連接到智能主板的CC2530 JTAG口(J203) 。 5、將智能主板上電源開關(guān)撥至開位置。按下仿真器上的按鈕,仿真器上的指示燈為綠色時(shí),表示連接成功。 6、使用IAR7.51打開“OURS_CC2530LIBlib10(HumiTempLight) IAR_files”下的 HumiTempLight.eww文件,下載運(yùn)行程序。 7、觀察LCD上溫度、濕度和光照強(qiáng)度的變化。 8、用一個(gè)物體擋住光照傳感器的光線,觀察LCD上光照強(qiáng)度數(shù)據(jù)的變化。 9、向溫濕度傳感器吹一口氣體,觀察LCD上溫濕度數(shù)據(jù)的變化。 三 詳細(xì)設(shè)計(jì)3.1 總體結(jié)構(gòu)構(gòu)成 溫濕度采集模塊主要有無

31、線模塊和數(shù)據(jù)采集模塊,由數(shù)據(jù)采集模塊完成溫濕度的采集。溫濕度及光照傳感器采集數(shù)據(jù),并把采集的數(shù)據(jù)通過串口發(fā)送到CORTEX A8DB開發(fā)板上。在CORTEX A8DB開發(fā)板上通過軟件將采集到的光、濕度、溫度值通過曲線描述出來。3.1.1無線傳感模塊 無線傳感器網(wǎng)絡(luò)在設(shè)計(jì)目標(biāo)方面與傳統(tǒng)的無線網(wǎng)絡(luò)有所區(qū)別,前者是以數(shù)據(jù)為中心的,后者以傳輸數(shù)據(jù)為目的。在無線傳感器網(wǎng)絡(luò)中,因?yàn)楣?jié)點(diǎn)通常運(yùn)行在人無法接近的惡劣甚至危險(xiǎn)的遠(yuǎn)程環(huán)境中,所以除了少數(shù)節(jié)點(diǎn)需要移動(dòng)以外,大部分節(jié)點(diǎn)都是靜止不動(dòng)的。在被監(jiān)測區(qū)域內(nèi),節(jié)點(diǎn)任意散落,節(jié)點(diǎn)除了需要完成感測特定的對象以外,還需要進(jìn)行簡單的計(jì)算,維持互相之間的網(wǎng)絡(luò)連接等功能。并

32、且由于能源的無法替代以及低功耗的多跳通信模式節(jié),設(shè)計(jì)無線傳感節(jié)點(diǎn)時(shí),有效的延長網(wǎng)絡(luò)的生命周期以及節(jié)點(diǎn)的低功耗成為無線傳感器網(wǎng)絡(luò)研究的核心問題。在節(jié)省功耗的同時(shí)增加通信的隱蔽性,避免長距離的無線通信易受外界噪聲干擾的影響,也都是在設(shè)計(jì)傳感器網(wǎng)絡(luò)時(shí)需要攻克的新難題。圖4 無線傳感器節(jié)點(diǎn)模型無線傳感網(wǎng)絡(luò)的建立是基于傳感器加無線傳輸模塊的,傳感器采集的數(shù)據(jù),簡單處理后經(jīng)過無線傳輸模塊傳到服務(wù)器或應(yīng)用終端。目標(biāo)、觀測節(jié)點(diǎn)傳感節(jié)點(diǎn)和感知視場是無線傳感器網(wǎng)絡(luò)所包括的4個(gè)基本實(shí)體對象。另外,要完成對整個(gè)系統(tǒng)的應(yīng)用刻畫,還需要對遠(yuǎn)程任務(wù)管理單元、外部網(wǎng)絡(luò)和用戶進(jìn)行定義。大量傳感節(jié)點(diǎn)隨機(jī)部署,單個(gè)節(jié)點(diǎn)經(jīng)過初始的通

33、信和協(xié)商,通過自組織方式自行配置,形成一個(gè)傳輸信息的單跳鏈接或一系列的無線網(wǎng)絡(luò)節(jié)點(diǎn)組成的網(wǎng)絡(luò),協(xié)同形成對目標(biāo)的感知視場。傳感節(jié)點(diǎn)檢測的目標(biāo)信號(hào)經(jīng)過傳感器本地簡單處理后通過單播或廣播以多跳的方式通過鄰近傳感節(jié)點(diǎn)傳輸?shù)接^測節(jié)點(diǎn)。用戶和遠(yuǎn)程任務(wù)管理單元?jiǎng)t能夠通過衛(wèi)星通信網(wǎng)絡(luò)或Internet等外部網(wǎng)絡(luò),與觀測節(jié)點(diǎn)進(jìn)行數(shù)據(jù)信息的交互。觀測節(jié)點(diǎn)向網(wǎng)絡(luò)發(fā)布查詢請求和控制指令,接收傳感節(jié)點(diǎn)返回的目標(biāo)信息。圖5 無線傳感器網(wǎng)絡(luò)通信體系結(jié)構(gòu)無線傳輸模塊可以實(shí)現(xiàn)短距離(小于300米)的信號(hào)傳輸。在實(shí)際應(yīng)用中,需要根據(jù)不同需求選擇傳感器,如電壓電流、功耗、溫濕度、液面、震動(dòng)、壓力等等。3.1.2.數(shù)據(jù)采集模塊溫濕度

34、探頭直接使用IIC接口進(jìn)行控制。其電路原理圖如下所示: 圖6 數(shù)據(jù)采集模塊電路圖本實(shí)驗(yàn)將使用CC2530 讀取溫濕度傳感器SHT10的溫度和濕度數(shù)據(jù),并將采樣到的數(shù)據(jù)轉(zhuǎn)換然后再LCD顯示。其中對溫濕度的讀取是利用CC2530的I/O(P1.0和P1.1)模擬一個(gè)類IIC得過程。 3.2硬件模塊設(shè)計(jì) 傳感器節(jié)點(diǎn)由數(shù)據(jù)處理發(fā)送模塊,溫度傳感器,濕度傳感器和供電般構(gòu)成。數(shù)據(jù)處理模塊是由CC2530構(gòu)成,溫濕度采集采用溫濕度傳感器SHT10。其結(jié)構(gòu)圖如 溫度采集模塊濕度采集模塊數(shù)據(jù)處理模塊 電源模塊 圖7 硬件結(jié)構(gòu)圖3.3總體結(jié)構(gòu)軟件設(shè)計(jì)3.3.1、串口通信設(shè)計(jì)程序流程圖及核心代碼:* 函數(shù)名稱:in

35、itUART* 功能描述:CC2530 串口初始化*/void initUART(void)PERCFG = 0x00; /位置 1 P0 口P0SEL = 0x3c; /P0用作串口U0CSR |= 0x80; /UART方式U0GCR |= 11; /baud_e = 11;U0BAUD |= 216; /波特率設(shè)為 115200UTX0IF = 1;U0CSR |= 0X40; /允許接收IEN0 |= 0x84; /uart0接收中斷/* 函數(shù)名稱:UartTX_Send_String* 功能描述:串口發(fā)送數(shù)據(jù)函數(shù)* 參 數(shù):*Data - 發(fā)送數(shù)據(jù)指針* len - 發(fā)送的數(shù)據(jù)長度*

36、 返 回 值:無*/void UartTX_Send_String(UINT8 *Data,int len)int j;for(j=0;j<len;j+)U0DBUF = *Data+;while(UTX0IF = 0);UTX0IF = 0;/* 函數(shù)名稱:HAL_ISR_FUNCTION* 功能描述:串口接收數(shù)據(jù)中斷函數(shù)* 參 數(shù):halUart0RxIsr - 中斷名稱* URX0_VECTOR - 中斷向量* 返 回 值:無*/HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR )UINT8 temp;URX0IF = 0;temp = U0

37、DBUF;*(str + count) = temp;count+;/* 函數(shù)名稱:main* 功能描述:串口間歇發(fā)送 字符串,當(dāng)串口接收到數(shù)據(jù)后,再通過串口* 回發(fā)出去。*/void main()UINT8 *uartch = " "UINT8 temp = 0;SET_MAIN_CLOCK_SOURCE(CRYSTAL); /設(shè)置主時(shí)鐘為 32M 晶振initUART(); /初始化串口while(1)UartTX_Send_String(uartch,17); /發(fā)送 halWait(200);halWait(200);if(count) /判斷串口是否接收到數(shù)據(jù)te

38、mp = count; /保存接收的數(shù)據(jù)長度halWait(50); /等待數(shù)據(jù)接收完成if(temp =count) /判斷數(shù)據(jù)是否接收完成UartTX_Send_String(str,count); /回發(fā)接收到的數(shù)據(jù) str = 0;count = 0;3.3.2、溫度,濕度傳感器模塊設(shè)計(jì)開始系統(tǒng)時(shí)鐘初始化讀取溫濕度數(shù)據(jù)顯示溫濕度數(shù)據(jù)LCD初始化程序流程圖及核心代碼:void main() int wendu; int shidu; char s16; UINT8 adc0_value2; float shuzi = 0;SET_MAIN_CLOCK_SOURCE(CRYSTAL); /

39、 設(shè)置系統(tǒng)時(shí)鐘源為 32MHz 晶體振蕩器GUI_Init(); / GUI 初始化GUI_SetColor(1,0); / 顯示色為亮點(diǎn),背景色為暗點(diǎn)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(&tem,&hum); /從采集模塊讀取溫度和濕度的數(shù)據(jù) sprintf(s, (char*)"%d%d C", (INT16)(int)tempera / 10),(INT16)(int)tempera % 10); /將采集的溫度結(jié)果轉(zhuǎn)換為字符串格式 GUI_PutString5_7(48,22,(char *)s); /顯示采集的溫濕度的結(jié)果 LCM_Refresh(); sprintf(s,(char*)"

溫馨提示

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

評論

0/150

提交評論