1. 程式人生 > >TI ZigBee協議棧中終端裝置的狀態切換詳解

TI ZigBee協議棧中終端裝置的狀態切換詳解

轉載自:http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/104629.aspx

本文主要介紹了TI ZigBee協議棧Z-Stack中,關於終端裝置End Device工作過程中,不同狀態之間切換的詳細說明,並且通過分析空中互動的資料包進一步瞭解TI ZigBee協議棧Z-Stack的工作流程。

  • 終端裝置在協議棧中涉及到的狀態

Z-Stack Home 1.2.2a協議棧的C:\Texas Instruments\Z-Stack Home 1.2.2a.44539\Components\stack\zdo\ZDApp.h檔案中有定義裝置的不同狀態,分別如下。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 typedef enum { DEV_HOLD,                                // Initialized - not started automatically DEV_INIT,                                // Initialized - not connected to anything
DEV_NWK_DISC,                            // Discovering PAN's to join DEV_NWK_JOINING,                         // Joining a PAN DEV_NWK_SEC_REJOIN_CURR_CHANNEL,         // ReJoining a PAN in secure mode scanning in current channel, only for end devices DEV_END_DEVICE_UNAUTH,                  
// Joined but not yet authenticated by trust center DEV_END_DEVICE,                          // Started as device after authentication DEV_ROUTER,                              // Device joined, authenticated and is a router DEV_COORD_STARTING,                      // Started as Zigbee Coordinator DEV_ZB_COORD,                            // Started as Zigbee Coordinator DEV_NWK_ORPHAN,                          // Device has lost information about its parent.. DEV_NWK_KA,                              // Device is sending KeepAlive message to its parent DEV_NWK_BACKOFF,                         // Device is waiting before trying to rejoin DEV_NWK_SEC_REJOIN_ALL_CHANNEL,          // ReJoining a PAN in secure mode scanning in all channels, only for end devices DEV_NWK_TC_REJOIN_CURR_CHANNEL,          // ReJoining a PAN in Trust center mode scanning in current channel, only for end devices DEV_NWK_TC_REJOIN_ALL_CHANNEL            // ReJoining a PAN in Trust center mode scanning in all channels, only for end devices } devStates_t;

對於不同的裝置型別會有不同的裝置狀態,那麼對於終端裝置來說可能使用到的裝置如下。

?
1 2 3 4 5 6 7 8 9 10 11 12 DEV_HOLD,                               

相關推薦

TI ZigBee協議終端裝置狀態切換

轉載自:http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/104629.aspx 本文主要介紹了TI ZigBee協議棧Z-Stack中,關於終端裝置E

Android沉浸式狀態

前言 地上斷了翅的蝶,霧散之後的滿月,原來愛跟心碎,都可以很細節。 簡介 這兩天時間比較充裕,所以實現了專案裡的沉浸式狀態列效果,這樣可以使得我們的app主題顯得更加統一。所以今天就帶領大家實現下不同情況下的狀態列效果顯示。 一 狀態列顏色改變

Java執行緒狀態切換

一、執行緒狀態說明 java.lang.Thread類中定義了執行緒狀態列舉java.lang.Thread.State,以下為各狀態說明。 1、NEW(新建) /** * Thread state for a thread whic

Zigbee精華教程03】Z-Stack協議OSAL層常用API函式

【1】osal_msg_allocate():分配訊息快取。     uint8 * osal_msg_allocate( uint16 len ); 【2】osal_msg_deallocate():回收訊息快取。     uint8 osal_msg_dealloc

ZigBee協議開發(二)

1、掌握ZigBee無線模組基本工作電路(官方): 在實際做東西的時候要加一些其他的東西,讓我們更好地應用這個基本電路。 復位電路:20腳如下接(1us低電平) 程式下載電路(五根線): 2、隨心所欲的控制io的輸入輸出 40腳,但晶片背面有額外的一個接地腳。 共有21個通用

ZigBee協議開發(一)

    之前本科階段做過一段時間的物聯網裝置開發,學習和開發的過程中記錄下來了一些知識和經驗,這裡儲存下來,希望能給給自己留一些記憶,如果能夠幫到剛入手的新人也是很幸運。 1、  學習zigbee不僅僅是學習控制器本身,還要掌握協議棧程式碼和網路相

ZigBee協議開發(六)

1、在一開始的學習中藉助官方模板,新增簡單的程式碼,做出基本通訊試驗,建立感性的認識,然後在官方程式碼基本試驗基礎上,瞭解相關的概念,掌握通訊過程原理,結合自己的理解,自己動手做一個個性化試驗,驗證理解。 2、各種通訊方式: (1)單播:在ZigBee網路中,模組之間要進行通訊,發射模組需要非常

ZigBee協議開發(五)

一、協議棧的使用 1、更改檔案中的名稱為自己的定義 2、選擇不同的選項卡來選擇協調器、路由器、終端程式的下載,由於選項選擇不同,就會導致參與編譯的配置檔案不同,配置不同就會導致部分巨集定義不同,巨集定義不同就會導致工程裡某些巨集的值不同,這些巨集值不同就會影響程式執行的流程,就會導致出現不同的功

ZigBee協議開發(四)

1、要對ZigBee無線區域網有清晰的認識,明白ZigBee網路的組建過程中,網路工作時ZigBee無線模組在空氣中資料交換過程中進行了什麼工作。 2、ZigBee無線區域網中,節點按照在網路裡的功能劃分為協調器,路由器,終端。他們的硬體可以完全一樣,之所以在網路中表現不同的功能,是因為下載了不同

ZigBee協議開發(三)

1、cc2530在正常執行時需要一個高頻時鐘訊號和一個低頻時鐘訊號,高頻時鐘訊號主要供給CPU,保證程式的執行。低頻時鐘訊號主要供給看門狗、睡眠定時器等片上外設。 高頻時鐘訊號的來源:晶片內部的16M RC電路和外接的32M石英晶振; 低頻時鐘訊號的來源:晶片內部的32K RC電路和外接的32.

zigbee協議學習(三)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

zigbee協議應用(五)協議與溫溼度感測器DHT11

1.實現點播通訊    1.1實現步驟      (1)新增點播函式宣告              (2)搜尋 afAddrGroup,在它下增加對 SampleApp_P2P_DstAddr 配置,

Linux 核心網路協議 最重要的資料結構 SKB

在計算機的世界裡,備份是一種美德。-------------漫步雲端  作為核心網路協議部分最重要的資料結構SKB,有很多值得仔細推敲的問題。 SKB這種說法實際包含了兩部分,即skb描述符和skb資料。 Skb描述符即核心中的skbuff結構體,裡面含有大量的指標變數

Zigbee協議中文說明

1.概述 1.1解析ZigBee堆疊架構 ZigBee堆疊是在IEEE 802.15.4標準基礎上建立的,定義了協議的MAC和PHY層。ZigBee裝置應該包括IEEE802.15.4(該標準定義了RF射頻以及與相鄰裝置之間的通訊)的PHY和MAC層,以及ZigB

網路協議分析——從裝置驅動到鏈路層

對應我們上面的網絡卡驅動分析。接收到的資料是存放在data至tail之間的區域。 Skb通常還有常用的幾個函式,一一列舉分析如下: struct sk_buff *alloc_skb(unsigned int size,int gfp_mask) 分配儲存空間為sixe的skb,記憶體分配級別為gf

Zstack協議CC2530協調器掉電重啟後重新加入之前網路的方法

協調器斷電重啟之後重新加入之前網路; 在 workspace 中選中 CoordinatorEB,在Project -> Options -> c/c++ Compiler 中選中對話方塊 Preproce ,在Define symbols 中新增 NV_RES

zigbee協議應用(一)-新建一個Zstack工程

在 ZigBee 無線感測器網路中有三種裝置型別:協調器、路由器和終端節點,設 備型別是由 ZigBee 協議棧不同的編譯選項來選擇的。協調器主要負責網路組建、 維護、控制終端節點的加入等。路由器主要

繫結(Binding)——ZigBee協議Z-Stack開發指南

繫結是一種兩個(或者多個)應用裝置之間資訊流的控制機制。在ZigBee2006釋出版本中,它被稱為資源繫結,所有的裝置都必須執行繫結機制。 繫結允許應用程式傳送一個數據包而不需要知道目標地址。APS層從它的繫結表中確定目標地址,然後將資料繼續向目標應用或者目標組傳送。 注意

TI-BLE協議的GATT學習筆記-1

由於還沒有看具體的程式碼,難免會有理解錯誤的地方,本著共同學習的態度和大家交流探討; 在BLE中;GATT是焦點; 在鏈路層(LL),可以把裝置分為主機和從機,從機廣播,主機發起連線; 在GAP層,      可以把裝置分為中心裝置和外圍裝置;         在GATT

Zigbee協議底層新增自己的按鍵配置

#define PUSH1_BV          BV(1) #define PUSH1_SBIT        P0_1 #if defined (HAL_BOARD_CC2530EB_REV17)   #define PUSH1_POLARITY    ACTIVE_LOW #elif defin