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

正文內(nèi)容

基于zigbee協(xié)議的無線測溫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-閱讀頁

2024-09-17 18:16本頁面
  

【正文】 決定了協(xié)調(diào)器或者路由器下面可 以 有 幾 個(gè) 路 由 器 子 節(jié) 點(diǎn) 。在 ZStack 中網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)深度可在 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 14 文件中設(shè)置,默認(rèn)設(shè)置為 HOME_CONTROLS。 byte CskipChldrn[MAX_NODE_DEPTH+1]={20,20,20,20,20,0}。 byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。 byte CskipChldrn[MAX_NODE_DEPTH+1]={5,5,5,5,5,0}。這些地址模式都是必要的,因?yàn)樵赯igBee 中,數(shù)據(jù)包可以是點(diǎn)對點(diǎn)發(fā)送( unicast),多點(diǎn)發(fā)送( multicast),也可以是廣播式發(fā)送 (broadcast)。 1) 一對一模式 一對一模式是在已知目的地址的情況下使用這種方式。在 ZStack 中的尋址方式可以這樣來設(shè)置: =Addr16Bit。//目的節(jié)點(diǎn)的端口號為 10 =0x796f; //目的節(jié)點(diǎn)的網(wǎng)絡(luò)地址 2) 廣播模式 廣播模式是將數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)中所有的節(jié)點(diǎn)。在 ZStack 中的尋址方式可以這樣來設(shè)置: =AddrBroadcast。//目的節(jié)點(diǎn)的端口號為 10 =0xffff; //目的節(jié)點(diǎn)的網(wǎng)絡(luò)中所有的節(jié)點(diǎn) =0xfffd; //目的節(jié)點(diǎn)為網(wǎng)絡(luò)中非睡眠節(jié)點(diǎn) 3) 間接接模式 當(dāng)?shù)刂纺J皆O(shè)置為 AddrNotPresent,說明發(fā)送的信息都是發(fā)給協(xié)調(diào)器的,在 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 15 協(xié)調(diào)器的綁定表中查找相應(yīng)目的地址進(jìn)行一對一的數(shù)據(jù)發(fā)送。 =10。//協(xié)調(diào)器的網(wǎng)絡(luò)地址固定為 0x0000; 2. 綁定 綁定是指一個(gè)節(jié)點(diǎn)與另外一個(gè)或幾個(gè)節(jié)點(diǎn)間建立地址映射的一種尋址方式。 在 ZStack 中,綁定是通過如下函數(shù)實(shí)現(xiàn)的: =Addr16Bit。//目的地址為協(xié)調(diào)器的網(wǎng)絡(luò)地址 ZDP_EndDeviceBindReq()。 當(dāng)一個(gè)路由器收到從一個(gè)節(jié)點(diǎn)發(fā)往另一個(gè)節(jié)點(diǎn)的數(shù)據(jù)包,網(wǎng)絡(luò)層根據(jù)以下步驟來轉(zhuǎn)發(fā)這個(gè)包:如果目的地是這個(gè)路由的鄰居(包括是其子節(jié)點(diǎn)),這 個(gè)包將被直接發(fā)送的目的地;否則,這個(gè)路由器將檢查自己的路由表來找到相應(yīng)的目的地的路由表記錄。ZigBee 網(wǎng)絡(luò)路由具有自我修復(fù)的功能,如果某一路連接斷掉了,將啟用路由發(fā)現(xiàn)過程,發(fā)現(xiàn)一條新鏈路到目的節(jié)點(diǎn)。如果它想發(fā)送一個(gè)包給任何的其他設(shè)備,它必須通過它的父節(jié)點(diǎn)來轉(zhuǎn)發(fā)。 4. 消息發(fā)送函數(shù) 在 ZStack 中,如果給一個(gè)節(jié)點(diǎn)發(fā)送消息,可以用如下函數(shù) : if ( AF_DataRequest( amp。GenericApp_epDesc, 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 16 GENERICAPP_CLUSTERID, (byte)osal_strlen( theMessageData ) + 1, (byte *)amp。GenericApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ) { // Successfully requested to be sent. } else { // Error occurred in request to send. } 發(fā)送的是指針 theMessageData 中的字節(jié),字節(jié)數(shù)為 (byte)osal_strlen(theMessageData)+1。如果啟動(dòng)模式是Auto Start,路由器或者終端設(shè)備上電之后就開始搜尋網(wǎng)絡(luò),如果有合適的網(wǎng)絡(luò)并且該網(wǎng)絡(luò)允許加入,那么就會(huì)直接加入該網(wǎng)絡(luò)。如果需要路由器或者終端設(shè)備在電池 沒電或者重啟之后仍然記住以前的網(wǎng)絡(luò)狀態(tài)可以在預(yù)編譯選項(xiàng)添加編譯選項(xiàng) NV_RESTORE。 typedef struct 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 17 { osal_event_hdr_t hdr。 //組 ID uint16 clusterId。 //源地址 byte endPoint。 //是否為廣播方式 byte LinkQuality。 //是否使用安全模式 uint32 timestamp。 }afIningMSGPacket_t。 //序列號 uint16 DataLength。 //收到信息的指針 }afMSGCommandFormat_t。 1. 安裝所需要的工具套件 Android SDK Eclipse IDE for Java EE Developers JDK 2. 安裝好之后進(jìn)行編程開發(fā)。 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 19 圖 45 PC 中測溫界面 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 20 第 5章 硬件設(shè)計(jì) 本系統(tǒng)涉及的基本硬件 有: zigbee通信模塊 CC25無線測溫模塊 DS18b手機(jī)和電腦終端,如圖 51 所示。 如圖 52 所示。 64位的 光刻 ROM 又包括 5 個(gè) ROM的功能命令:讀 ROM,匹配 ROM,跳躍 ROM,查找 ROM 和報(bào)警查找。 12 位數(shù)據(jù)存儲(chǔ)在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制中的前面 5 位是符號位,如果測得的溫度大于 0, 5 這位為 0,只要將測到的數(shù)值乘于 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 即可得到實(shí)際溫度。 DS18B20 的 配置寄存器 如表 51 所示。在 DS18B20 出廠時(shí)該位被設(shè)置為 0, 用戶 不 做 改動(dòng)。 DS18B20 引腳如圖 53 所示。 ZigBee 無線通信、微處理器模塊 可用于對待測點(diǎn)的溫度進(jìn)行采集,并通過無線方式將溫度數(shù)據(jù)發(fā)送給協(xié)調(diào)器節(jié) 點(diǎn)。 CC2530 如圖 54 所示??紤]到溫度傳感器模塊工作時(shí),需要將采集的溫度信息和時(shí)間信息存儲(chǔ),故擴(kuò)展外部 FLASH 芯片 STM25PE16 和時(shí)鐘芯片 S35190A。 CC2530 硬件 結(jié)構(gòu)如圖 55 所示。 CC2530 是一款功耗相當(dāng)?shù)偷膯纹瑱C(jī),功耗模式 3 下電 流消耗僅 A,在 32 k 晶體時(shí)鐘下運(yùn)行,電流消耗小于 1μ A?;鶐盘柕耐喾至亢驼环至坑?DAC 轉(zhuǎn)換成模擬信號,經(jīng)過低通濾波,變頻到所設(shè)定的信道上。最后經(jīng)過低通濾波器和上變頻的混頻后,將射頻信號被調(diào)制到 ,后經(jīng)天線發(fā)送出去。 CC2530 的 存儲(chǔ)器 STM25PE16 是 4 線 的 SPI 通信模式的 FLASH,可以整塊擦除,最大可以存儲(chǔ) 2M 個(gè)字節(jié)。 CC2530 溫度傳感器模塊反向 F 型天線采用 TI 公司公布的 倒 F 型天線設(shè)計(jì)。該天線完全能夠滿足 CC2530 工作頻段的要求( CC2530 工作頻段為 ~ )。 圖 56 CC2530 芯片 引腳 CC2530 芯片引腳功能如下: AVDD1 28 電源(模擬) 2V– 模擬電源連接 AVDD2 27 電源(模擬) 2V– 模擬電源連接 AVDD3 24 電源(模擬) 2V– 模擬電源連接 博 創(chuàng) 杯 全 國 大 學(xué) 生 嵌 入 式 設(shè) 計(jì) 大 賽 24 AVDD4 29 電源(模擬) 2V– 模擬電源連接 AVDD5 21 電源(模擬) 2V– 模擬電源連接 AVDD6 31 電源(模擬) 2V– 模擬電源連接 DCOUPL 40 電源(數(shù)字) 數(shù)字電源去耦。 DVDD1 39 電源(數(shù)字) 2V– 數(shù)字電源連接 DVDD2 10 電 源(數(shù)字) 2V– 數(shù)字電源連接 GND 接地 接地襯墊必須連接到一個(gè)堅(jiān)固的接地面。 圖 58 CC2530 電路圖 終端 PC機(jī)及手機(jī) 本系統(tǒng)對于終端模塊的要求不高, PC 終端目前主流的配置即可滿足需求,手機(jī)終端要求為 andriod 平臺(tái),版本 以上即可。軟件設(shè)計(jì)主要是實(shí)現(xiàn)各個(gè)模塊的數(shù)據(jù)通信,以及各個(gè)操作的實(shí)時(shí)對應(yīng)。總體框架圖如圖 61 所示: 圖 61 系統(tǒng)總體框架 DS18B20數(shù)據(jù)采集模塊 數(shù)據(jù)采集模塊程序流程如圖 62 所示。 } void read_data(UINT8 * pSensorValue)// 讀取溫度 void DataChange(UINT8 * pSensorValue,UINT8 * pChBuf) //數(shù)據(jù)處理 void ds18b20_main() { while(1) { read_data(sensor_data_value)。 //數(shù)據(jù)處理 Delay_nus(10000)。請求得到確定后,傳感器節(jié)點(diǎn)會(huì)將自身的地址發(fā)送給協(xié)調(diào)器,并自動(dòng)與協(xié)調(diào)器建立綁定。程序流程如圖 63 所示。如果新建網(wǎng)絡(luò)成功,允許協(xié)調(diào)器設(shè)定為綁定。協(xié)調(diào)器的程序流程如圖 64 所示。 中心收集設(shè)備作為協(xié)調(diào)器或路由器啟動(dòng),描述為: const SimpleDescriptionFormat_t zb_SimpleDesc = { MY_ENDPOINT_ID, // 端點(diǎn) MY_PROFILE_ID, // Profile ID DEV_ID_COLLECTOR, // 設(shè)備 ID DEVICE_VERSION_COLLECTOR, // 設(shè)備版本 0, // 保留 NUM_IN_CMD_COLLECTOR, // 輸入命令數(shù)量 (cId_t *) zb_InCmdList, // 輸入 命令列表 NUM_OUT_CMD_COLLECTOR, // 輸出命令數(shù)量 (cId_t *) NULL // 輸出命令列表 }。 ( 2) 節(jié)點(diǎn)類型的確定 if ( keys amp。 …… } if ( keys amp。 …… } ( 3) 發(fā)現(xiàn)和綁定 傳感器設(shè)備加入網(wǎng)絡(luò)后將試圖發(fā)現(xiàn)和綁定它自己到一個(gè)中心收集設(shè)備。 用 osal_start_timer(MY_START_EVT,myStartRetryDelay)函數(shù)設(shè)置一個(gè)時(shí)間事件,該事件處理如下: If(event amp。 } zb_HandleOsalEvent()函數(shù)是專門為用戶留下的事件處理函數(shù)。 void zb_HandleOsalEvent( uint16 event ) {uint8 pData[2]。 MY_START_EVT ) { zb_StartRequest()。本設(shè)計(jì)中,確定中心設(shè)備的啟動(dòng)模式之后,按下按鍵總開關(guān)以使設(shè)備進(jìn)入綁定模式。該報(bào)告命令要求收集設(shè)備應(yīng)答,通過函數(shù)zb_SendDataConfirm()可以指示應(yīng)答。 通過函數(shù) zb_HandleOsalEvent()完成用戶定義的事件。 MY_REPORT_TEMP_EVT ) {// 讀取溫度值 pData[0] = TEMP_REPORT。 zb_SendDataRequest( 0xFFFE, SENSOR_REPORT_CMD_ID, 2, pData, 0, AF_ACK_REQUEST, 0 )。 } if ( event amp。 } 收集節(jié)點(diǎn)接收到傳感器設(shè)備發(fā)送的 數(shù)據(jù)包后,通過串口傳輸?shù)?PC 機(jī)。 CONST uint8 strDevice[] = 0x。 uint8 *pBuf。 uint8 sensorReading。 //寫信息到串口 } } 手機(jī) 終端顯示模塊 本模塊主要實(shí)現(xiàn) PC 機(jī)與客戶端手機(jī)的數(shù)據(jù)通信,程序流程如圖 65 所示。 private EditText mTemp1。 private EditText mTemp3。 Socket socket = null。//用于存放溫度數(shù)值 private String AlarmFlag[]。//用于燈狀態(tài)標(biāo)識 …… dialogTemp = new (this)。/
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1