freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

本科畢業(yè)論文-基于cc2530的無線傳感網(wǎng)絡(luò)系統(tǒng)研究(編輯修改稿)

2025-07-12 04:23 本頁面
 

【文章內(nèi)容簡介】 ,用戶 通過 它 進行 基礎(chǔ) ZigBee 技術(shù)開發(fā)的。 配置文件定義 不同設(shè)備對消息幀的處理 , 不同的設(shè)備之間可以通過發(fā)送命令、數(shù)據(jù)請求來實現(xiàn) 通信 。 7) 端點 : 端點( Endpoint)是一種網(wǎng)絡(luò)通信中的數(shù)據(jù)通道, 每一個設(shè)備都被看做一個節(jié)點,每個 節(jié)點 都有物理地址和網(wǎng)絡(luò)地址,長地址和短地址可供其他設(shè)備發(fā)送數(shù)據(jù)的目的地址,每個設(shè)備都有 241個端點,而 0 端點保。 如果選擇 “ 綁定 ” 方式 來 的通信,那么 需要在網(wǎng)絡(luò)層注冊多個端點進行數(shù)據(jù)發(fā)送、接收和綁定表的建立。且 不需要綁定的兩個節(jié)點的地址信息 。 8 ) 簇 ZigBee 技術(shù)有兩種通信方式:間接通信和直接通信。 間接通信:指各個節(jié)點通過端點 綁定建立 連接 ,這種 方式不需要知道 目的地 址信息, 這其中 包括 IEEE 地址或網(wǎng)絡(luò)短地址, ZStack底層 會 自動從棧的綁定表中查找目 地 設(shè)備的具體網(wǎng)絡(luò)地址并將其發(fā)送出去。 直接通信:不需要綁定關(guān)系,它使用網(wǎng)絡(luò)短地址作為參數(shù)調(diào)用適當(dāng)?shù)?API 來實現(xiàn)通信。直接通信的關(guān)鍵 就 是網(wǎng)絡(luò)地址的獲得。它可以通過目 地 節(jié)點的 IEEE 地址來查詢短地址的方法。通常, ZigBee 節(jié)點的 IEEE 地址是固定的,被寫在節(jié)點的 EEPROM 中,這個作為 ZigBee節(jié)點的參數(shù)一般會被標(biāo)示在節(jié)點上。所以,有了 IEEE 地址以后,可以通過部分網(wǎng)絡(luò) API 的調(diào)用,得到 相 應(yīng)的網(wǎng)絡(luò)短地址。 而簇就是在建立 Profile 時所需要的一個 概念,它是一簇網(wǎng)絡(luò)變量的集合,在同一個 Profile 中, ClusterID 是唯一的。在間接尋址方式中,建立綁定表時 用戶 需要弄清楚 Cluster 的含義 和 屬性。對于可以建立綁定關(guān)系的兩個節(jié)點,它們的 Cluster 的屬性必須一個 是“ 輸入 ” ,一個 是 “ 輸出 ” ,而且 ClusteID 值相等,只有這樣,它們才能建立綁定, 在 直接尋址方式中,常用 ClusterID 作為參數(shù) ,數(shù)據(jù)或命令發(fā)送到 與之相應(yīng) 地址的 Cluster 上。 通信方式 Zigbee 的通訊方式主要有三種點播、組播、廣播。點播,思義點對點通信就是 2 個設(shè)備之間的通訊, 不容許有第三個設(shè)備收到信息;組播就是把網(wǎng)絡(luò)中的節(jié)點分組, 每一個組員發(fā)出的信息只有相同組號的組員才能收到。廣播最廣泛的也就是 1 個設(shè)備上發(fā)出的信息所有設(shè)備都能接收到。這也是 ZigBee 通信的基本方式 。 點播 一對一模式是在已知目的地址的情況下使用這種方式。在發(fā)送數(shù)據(jù)的時候會包含目的地址信息。在 ZStack 中的尋址方式可以這樣來設(shè)置: =(afAddrMode_t)Addr16Bit。//點播 = SAMPLEAPP_ENDPOINT。 = 0x0000。 //發(fā)給協(xié)調(diào)器 廣播 廣播模式是將數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)中所有的節(jié)點。在程序中地址模式設(shè)定 AddrBroadcast。在 ZStack中的尋址方式可以這樣來設(shè)置: =(afAddrMode_t)AddrBroadcast。 =SAMPLEAPP_ENDPOINT。 = 0xFFFF。 組播 組播模式是將數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)中同組號好的節(jié)點。在程序中地址模式設(shè)定為 afAddrGroup。在 ZStack中的尋址方式可以這樣來設(shè)置: = (afAddrMode_t)afAddrGroup。 = SAMPLEAPP_ENDPOINT。 = WEBEE_GROUP。 消息發(fā)送 與接收 函數(shù) 在 ZStack 中,如果給一個節(jié)點發(fā)送消息, 發(fā)送函數(shù)如下: if ( AF_DataRequest( amp。SampleApp_Periodic_DstAddr, amp。SampleApp_epDesc, SAMPLEAPP_PERIODIC_CLUSTERID, 10, data, amp。SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ) { } else { // Error occurred in request to send. } 設(shè)備在接收到信息后會把數(shù)據(jù)存儲在 pkt 指針指向的結(jié)構(gòu)體中,調(diào)用函數(shù) GenericApp_MessageMSGCB(afIningMSGPacket_t*pkt)可以用 *pkt 取出接收到的消息,以下是收到消息的格式的結(jié)構(gòu)體定義。 typedef struct { osal_event_hdr_t hdr。 uint16 groupId。 //組 ID uint16 clusterId。 //簇 ID afAddrType_t srcAddr。 //源地址 byte endPoint。 //源節(jié)點端口號 byte wasBroadcast。 //是否為廣播方式 byte LinkQuality。 //鏈路質(zhì)量 byte SecurityUse。 //是否使用安全模式 uint32 timestamp。 //時間戳 afMSGCommandFormat_t cmd。 }afIningMSGPacket_t。 typedef struct { byte TransSeqNumber。 //序列號 uint16 DataLength。 //收到信息長度 byte*Data。 //收到信息的指針 }afMSGCommandFormat_t。 3 溫度采集系統(tǒng) 系統(tǒng)概況 設(shè)計溫度采集系統(tǒng)主要有 3 部分組成:協(xié)調(diào)器、終端和上位機。協(xié)調(diào)器主要負責(zé)組建網(wǎng)絡(luò),接收來自終端采集的數(shù)據(jù),并通過串口發(fā)送到上位機上;終端主要負責(zé)溫度數(shù)據(jù)的采集、存儲和發(fā)送數(shù)據(jù)到協(xié)調(diào)器;上位機顯示收集的數(shù)據(jù)溫度,把各個節(jié)點收集來的數(shù)據(jù)更直觀的展示在用戶面前,并且可以顯示所有溫度數(shù)據(jù)的地址,以及溫度的變化趨勢。 圖 多點無線溫度采集系統(tǒng)框圖 系統(tǒng)硬件 協(xié)調(diào)器和終端 協(xié)調(diào)器主要由電源、 JTAG 接口、按鍵、 LED 指示燈、 LCD、 RS232溫度傳感器 1 溫度傳感器 2 溫度傳感器 3 協(xié)調(diào)器 上位機監(jiān)控 RS232 ZigBee RF ZigBee RF ZigBee RF ZigBee RF 串口、傳感器接口、時鐘和 CC2530 射頻收發(fā)模塊組成。如下圖: 圖 協(xié)調(diào)器 終端 就是協(xié)調(diào)器的簡易版,由于終端盡量減少功耗,需去掉不必要的組件,所以只要電源、 CC25傳感器接口、 JTAG 和 LED 模塊就可以了。 溫度傳感器 DS18B20 數(shù)字溫度傳感器接線方便,封裝成后可 以 應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式, 用戶可以 根據(jù)應(yīng)用場合的不同而 來改變其形狀 。封裝后的 DS18B20 可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域 。溫度傳感器如下圖: 圖 DS18B20溫度傳感器 CC2530 芯片 CC2530 包含一個 “增強型”的 8 位 8051 內(nèi)核和一 個高性能的 GHz DSSS(直接序列擴頻)射頻收發(fā)器核心 , 它比標(biāo)準的 8051速度更快、性能更高。它還 有 32/64/128 kB 可選擇的編程閃存, 2kB的 FLASH 和 8 kB 的 RAM,還包括定時器、 上電復(fù)位電路、 睡眠模式定時器、 ADC、 掉電檢測電路和 21 個可編程 I/O 引腳。 CC2530 是一款功耗 很 低的單片機, 在不同的模式下耗電也不一樣,可以做到功耗可控,尤其在 功耗模式 3 下電流消耗僅 A,在 32 kHz 晶體時鐘下運行,電流消耗小于 1μ A。 圖 CC2530 芯片腳位圖 4 軟件設(shè)計 本系統(tǒng)采用 TI 公司的 Zstack 協(xié)議棧,所在開發(fā)環(huán)境用的是, IAR 開發(fā)最大的優(yōu)勢在于可以直接用 TI 公司的 Zstack 協(xié)議棧開發(fā),我們只需調(diào)用 API 接口函數(shù),這里我們用( ZigBee 2021)。 通過協(xié)議棧配置協(xié)調(diào)器和終端,在各功能節(jié)點的協(xié)議棧程序設(shè)計時,該協(xié)議棧采用統(tǒng)一的編寫方式,用宏定義語句:# ifdef、# def、# else 等語句區(qū)別各功能節(jié)點在各協(xié)議層中的操作通過這樣我們可以將協(xié)議??闯梢粋€整體,提高了協(xié)議棧的移植性。 整個協(xié)議棧都是通過中斷 請求 調(diào)用任務(wù)添加函數(shù) osalTaskAdd(),然后 把 各個層 指針、初始化函數(shù)、時間處理函數(shù)等添加到任務(wù)表中,然后通過中斷來響應(yīng)不同的事件。 DS18B20 程序 DS18B20 下的工程文件如下代碼: include include include include void Initial() // 系統(tǒng)初始化 { CLKCONCMD = 0x80。 // 選擇 M 32M 振蕩器 while(CLKCONSTAamp。0x40)。 // 等待晶振穩(wěn)定 UartInitial()。 // 串口初始化 P0SEL amp。= 0xbf。 0 //DS18B20 的 的 o io 口初始化 } void main() { char data[5]=temp=。 // 串口提示符 Initial()。 while(1) { Temp_test()。 // 溫度檢測 /******* 溫度信息打印 ***********/ UartTX_Send_String(data,5)。 UartSend(temp/10+48)。 UartSend(temp%10+48)。 UartSend(39。\ \ n39。)。 Delay_ms(1000)。 // 延時函數(shù)使用定時器方式 ,延時 1S } } 軟件設(shè)計 我們要實驗的功能是終端設(shè)備讀取 0 DS18B20 溫度信息,通過協(xié)議棧設(shè)置點播方式發(fā)送到協(xié)調(diào)器,協(xié)調(diào)器通過通常打印出來。在串口調(diào)試助手上面顯示。這就實現(xiàn)了無線溫度采集。 1) 我們在協(xié)議棧 APP目錄中添加 圖。 圖 2) 整個實驗設(shè)置 點播 方式 , Ti 在協(xié)議棧上已經(jīng)打好應(yīng)用層框架,我們只需要在其中進行修改和添加自己需要的任務(wù)或事件,也就是在點播例程的基礎(chǔ)上完成 ,故函數(shù)編程在 上進行。我們先包含 文件 如下圖 。 圖 3) 在 void SampleApp_Init( uint8 task_id )中設(shè)置傳感器初始化引腳 和 修改尋址方式并添加入網(wǎng)控制函數(shù)。 void SampleApp_Init( uint8 task_id ) { SampleApp_TaskID = task_id。 SampleApp_NwkState = DEV_INIT。 SampleApp_TransID = 0。 /***********串口初始化 ************/ MT_UartInit()。//初始化 MT_UartRegisterTaskID(task_id)。//登記任務(wù)號 HalUARTWrite(0,Hello World\n,12)。 // 溫度傳感器初始化 P0SEL amp。= 0xbf。 //DS18B20 的 io 口初始化 main(). if defined ( BUILD_ALL_DEVICES ) if ( readCoordinatorJumper() ) zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR。 else zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER。 endif // BUILD_ALL_DEVICES if defined ( HOLD_AUTO_START ) ZDOInitDevice(0)。 endif // Setup for the periodic message39。s destination address // Broadcast to everyone =(afAddrMode_t)A
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1