www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 充電吧
[導(dǎo)讀]Zigbee的術(shù)語重點弄懂它們的從屬關(guān)系,主要包括:節(jié)點,設(shè)備,端點,簇(群集),屬性。屬性Attribute是一個反映物理數(shù)量或狀態(tài)的數(shù)據(jù)值,比如開關(guān)值(On/Off),溫度值、百分比等。群集Clu

Zigbee的術(shù)語


重點弄懂它們的從屬關(guān)系,主要包括:節(jié)點,設(shè)備,端點,簇(群集),屬性。

屬性Attribute是一個反映物理數(shù)量或狀態(tài)的數(shù)據(jù)值,比如開關(guān)值(On/Off),溫度值、百分比等。

群集Cluster是包含一個或多個屬性(attribute)的群組。簡單的說,群集就是屬性的集合。每個群集都被分配一個唯一的群集ID且每個群集最多有65536個屬性。設(shè)備描述DeviceDescription是指一個大型目標應(yīng)用的一部分,包括一個或多個群集,并且指定群集是輸入還是輸出。描述符有:節(jié)點描述符、電源描述符、簡單描述符、端點描述符。

端點EndPoint是協(xié)議棧應(yīng)用層的入口,也可以理解應(yīng)用對象(ApplicationObject)存在的地方,它是為實現(xiàn)一個設(shè)備描述而定義的一組群集。(程序中的20吧)每個ZigBee設(shè)備可以最多支持240這樣的端點,這也意味著在每個設(shè)備上可以定義240個應(yīng)用對象。端點0被保留用于與ZDO接口,這是每個ZigBee設(shè)備必須使用的端點,而端點255被保留用于廣播,端點241-254則被保留用于將來做擴展使用。

設(shè)備設(shè)備描述 Device Description 是指一個大型目標應(yīng)用的一部分,包括一個或多個群集,并且指定群集是輸入還是輸出。描述符有:節(jié)點描述符、電源描述符、簡單描述符、端點描述符。

節(jié)點 Node 也可以理解為一個容器,包含一組 ZigBee 設(shè)備,分享一個無線信道。每個節(jié)點有且只有一個無線信道使用。

?

綁定問題

在zigaee協(xié)議中定義了一種特殊的操作,叫做綁定(binding)操作。它能夠通過使用ClusterID為不同節(jié)點上的獨立端點建立一個邏輯上的連接。

要實現(xiàn)綁定操作,端點必須向協(xié)調(diào)器發(fā)送綁定請求,協(xié)調(diào)器在有限的時間間隔內(nèi)接收到兩個端點的綁定請求后,便通過建立端點之間的綁定表在這兩個不同的端點之間形成了一個邏輯鏈路。因此,在綁定后的兩個端點之間進行消息傳送的過程屬于消息的間接傳送。其中一個端點首先會將信息發(fā)送到ZigBee協(xié)調(diào)器中,ZigBee協(xié)調(diào)器在接收到消息后會通過查找綁定表,將消息發(fā)送到與這個端點相綁定的所有端點中,從而實現(xiàn)了綁定端點之間的通信。

?

路由協(xié)議(RoutingProtocol)

? ? ? ??當路由器從他自身的應(yīng)用程序或者別的設(shè)備那里收到一個單點發(fā)送的數(shù)據(jù)包,則網(wǎng)絡(luò)層(NWKLayer)根據(jù)一下程序?qū)⑺^續(xù)傳遞下去。如果目標節(jié)點是它相鄰路由器中的一個,則數(shù)據(jù)包直接被傳送給目標設(shè)備。否則,路由器將要檢索它的路由表中與所要傳送的數(shù)據(jù)包的目標地址相符合的記錄。如果存在與目標地址相符合的活動路由記錄,則數(shù)據(jù)包將被發(fā)送到存儲在記錄中的下一級地址中去。如果沒有發(fā)現(xiàn)任何相關(guān)的路由記錄,則路由器發(fā)起路徑尋找,數(shù)據(jù)包存儲在緩沖區(qū)中知道路徑尋找結(jié)束。

ZigBee終端節(jié)點不執(zhí)行任何路由功能。終端節(jié)點要向任何一個設(shè)備傳送數(shù)據(jù)包,它只需簡單的將數(shù)據(jù)向上發(fā)送給它的父親設(shè)備,由它的父親設(shè)備以它自己的名義執(zhí)行路由。同樣的,任何一個設(shè)備要給終端節(jié)點發(fā)送數(shù)據(jù),發(fā)起路由尋找,終端節(jié)的的父親節(jié)點都已它的名義來回應(yīng)

注意ZigBee地址分配方案使得對于任何一個目標設(shè)備,根據(jù)它的地址都可以得到一條路徑。在Z-Stack中,如果萬一正常的路徑尋找過程不能啟動的話(通常由于缺少路由表空間),那么Z-Stack擁有自動回退機制

在Z-Stack中,執(zhí)行的路由已經(jīng)優(yōu)化了路由表記錄。通常,每一個目標設(shè)備都需要一條路由表記錄。但是,通過把一定父親節(jié)點記錄與其子所有子結(jié)點的記錄合并,這樣既可以優(yōu)化路徑也可以不喪失任何功能

?

路徑發(fā)現(xiàn)與選擇

路徑發(fā)現(xiàn)是網(wǎng)絡(luò)設(shè)備憑借網(wǎng)絡(luò)相互協(xié)作發(fā)現(xiàn)和建立路徑的一個過程。路由發(fā)現(xiàn)可以由任意一個路由設(shè)備發(fā)起,并且對于某個特定的目標設(shè)備一直執(zhí)行。路徑發(fā)現(xiàn)機制尋找源地址和目標地址之間的所有路徑,并且試圖選擇可能的最好的路徑

路徑選擇就是選擇出可能的最小成本的路徑。每一個結(jié)點通常持有跟它所有鄰接點的“連接成本(linkcosts)”。通常,連接成本的典型函數(shù)是接收到的信號的強度。沿著路徑,求出所有連接的連接成本總和,便可以得到整個路徑的“路徑成本”。路由算法試圖尋找到擁有最小路徑成本的路徑

路徑通過一系列的請求和回復(fù)數(shù)據(jù)包被發(fā)現(xiàn)。源設(shè)備通過向它的所有鄰接節(jié)點廣播一個路由請求數(shù)據(jù)包,來請求一個目標地址的路徑。當一個節(jié)點接收到RREQ數(shù)據(jù)包,它依次轉(zhuǎn)發(fā)RREQ數(shù)據(jù)包。但是在轉(zhuǎn)發(fā)之前,它要加上最新的連接成本,然后更新RREQ數(shù)據(jù)包中的成本值。這樣,沿著所有它通過的連接,RREQ數(shù)據(jù)包攜帶著連接成本的總和。這個過程一直持續(xù)到RREQ數(shù)據(jù)包到達目標設(shè)備。通過不同的路由器,許多RREQ副本都將到達目標設(shè)備。目標設(shè)備選擇最好的RREQ數(shù)據(jù)包,然后發(fā)回一個路徑答復(fù)數(shù)據(jù)包(aRouteReply)RREP給源設(shè)備。RREP數(shù)據(jù)包是一個單點發(fā)送數(shù)據(jù)包,它沿著中間節(jié)點的相反路徑傳送直到它到達原來發(fā)送請求的節(jié)點為止

?

一旦一條路徑被創(chuàng)建,數(shù)據(jù)包就可以發(fā)送了。當一個結(jié)點與它的下一級相鄰節(jié)點失去了連接(當它發(fā)送數(shù)據(jù)時,沒有收到MACACK),該節(jié)點向所有等待接收它的RREQ數(shù)據(jù)包的節(jié)點發(fā)送一個RERR數(shù)據(jù)包,將它的路徑設(shè)為無效。各個結(jié)點根據(jù)收到的數(shù)據(jù)包RREQ、RREP或者RERR來更新它的路由表

?

路徑維護

中間節(jié)點沿著連接跟蹤傳送失敗,如果一個連接被認定是壞鏈,那么上游節(jié)點將針對所有使用這條連接的路徑啟動路徑修復(fù)。節(jié)點發(fā)起重新發(fā)現(xiàn)直到下一次數(shù)據(jù)包到達該節(jié)點,標志路徑修復(fù)完成。如果不能夠啟動路徑發(fā)現(xiàn)或者由于某種原因失敗了,節(jié)點則向數(shù)據(jù)包的源節(jié)點發(fā)送一個路徑錯誤包(RERR),它將負責(zé)啟動新路徑的發(fā)現(xiàn)。這兩種方法,路徑都自動重建。

?

路徑期滿

路由表為已經(jīng)建立連接路徑的節(jié)點維護路徑記錄。如果在一定的時間周期內(nèi),沒有數(shù)據(jù)通過沿著這條路徑發(fā)送,這條路徑將被表示為期滿。期滿的路徑一直保留到它所占用的空間要被使用為止。設(shè)臵ROUTE_EXPIRY_TIME為期滿時間,單位為秒。如果設(shè)臵為0,則表示關(guān)閉自動期滿功能。

?

Z-Stack協(xié)議??傮w設(shè)計

Z-Stack由main()函數(shù)開始執(zhí)行,main()函數(shù)共做了2件事:一是系統(tǒng)初始化,另外一件是開始執(zhí)行輪轉(zhuǎn)查詢式操作系統(tǒng),

任務(wù)初始化osalInitTasks(void)中的任務(wù)需要與聲明的任務(wù)列表pTaskEventHandlerFn ?tasksArr[]中的順序一致。


設(shè)置事件發(fā)生標志。我知道的有兩種方式。

1、osal_set_event(uint8task_id,uint16event_flag)

2、osal_start_timerEx(uint8taskID,uint16event_id,uint16timeout_value)

第一種方法直接設(shè)置標志flag置位,第二種方式則等待timeout_value時間然后再設(shè)置置位。

?

?ZigBee2007協(xié)議棧中使用的各個層次:

設(shè)備對象層,即ZDO(ZigBeeDeviceObject)層,提供了管理一個ZigBee節(jié)點所要使用的功能函數(shù)。ZDOAPI為協(xié)調(diào)器、路由器和終端設(shè)備提供了應(yīng)用端點的管理函數(shù),其中包括:建立、發(fā)現(xiàn)和加入一個ZigBee網(wǎng)絡(luò),綁定應(yīng)用端點和安全管理。

應(yīng)用框架層,即AF(ApplicationFramework),提供了針對協(xié)議棧的應(yīng)用端點(EndPoint1~240)和設(shè)備對象端點(EndPoint0)接口,其中主要包含:設(shè)備描述數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)收、發(fā)函數(shù)。在ZigBee應(yīng)用中,提供2種標準服務(wù)類型:鍵值對(KVP)或報文(MSG)

應(yīng)用支持子層,即APS(ApplicationSupportSublayer),為設(shè)備對象和應(yīng)用實體提供了一系列的支持服務(wù)

網(wǎng)絡(luò)層,即NWK(ZigBeenetwork),為上層提供了管理服務(wù)和數(shù)據(jù)服務(wù)。

介質(zhì)訪問層,即ZMAC,在802.15.4MAC與網(wǎng)絡(luò)層之間提供接口

運行 在 ZigBee 協(xié) 議 棧上 的 應(yīng)用 程 序?qū)?際上 就 是廠 商 自定 義的 應(yīng) 用對 象 ,并 且 遵循 規(guī) 范(profile)運 行 在端 點 1~ 240 上 。在 ZigBee 應(yīng) 用中 , 提供 2 種 標 準服 務(wù)類 型 :鍵 值 對(KVP) 或 報文 ( MSG)

?

應(yīng)用函數(shù)接口

ZDO

設(shè)備網(wǎng)絡(luò)啟動
設(shè)備和服務(wù)發(fā)現(xiàn)
終端設(shè)備綁定、綁定和取消綁定服務(wù)
網(wǎng)絡(luò)管理服務(wù)

?

設(shè)備網(wǎng)絡(luò)啟動

ZDApp_Init()—>ZDOInitDevice()

但是如果定義了HOLD_AUTO_START,則不進行設(shè)備網(wǎng)絡(luò)啟動,等待按鍵控制啟動


啟動過程的要點

?無論是協(xié)調(diào)器還是路由器或是終端設(shè)備,其啟動過程至網(wǎng)絡(luò)初始步驟均是一樣的,只是不同設(shè)備的配置文件在編譯時有所區(qū)別:
協(xié)調(diào)器:F8wCoord.cfg
-DZDO_COORDINATOR ? ? ?// Coordinator Functions
-DRTR_NWK ? ? ? ? ? ? ? ? ? ? ? ? ?// Router Functions

路由器:F8wRouter.cfg
/*RouterSettings*/
-DRTR_NWK//RouterFunctions

終端設(shè)備:F8wEndev.cfg

?

對于協(xié)調(diào)器,在 Workspace 區(qū)域的下拉菜單中選擇 CoordinatorEB-Pro,鼠標點擊上方的“ make 按鈕”后,所有文件對應(yīng)的紅色“ *”將消失,此時配置文件 f8wCoord.cfg 將被使用, 而 f8wEndev.cfg 和 f8wRouter.cfg 不會使用。對于路由和終端也是同樣的配置,唯一不同是,路由情況下f8wRouter.cfg,其它兩個不使用;終端情況下f8wEndev.cfg,其它兩個不使用。?

IAR中編譯選項,

要為協(xié)調(diào)器工程選項添加一條編譯選項則操作方法是,打開 SampleApp 工 程 后 ,選 中 工 程 名SampleApp-CoordinatorEB,然后根據(jù)工程選項設(shè)置的路徑:Project->Options->C/C++ Compiler->Preprocessor->Defined 。如下圖所示。只需在 Defined symbols 框內(nèi)添加一條新選項即可;要取 消編譯選項,只需在該編譯選項的左側(cè)添加“ x”即可。



對于路由和終端位置相同,只不過以開始分別要workspace下面選RouterEB和EnddeviceEB以切換不同的工程(里面沒有定義ZIGBEEPRO,說明我們的程序使用的是ZIGBEEPRO 2007)



所以說關(guān)于程序編譯的宏定義是兩個地方綜合的結(jié)果,一個是IAR選項設(shè)置,另外一個是.cfg配置文件中的介紹。

?

針對不同配置文件有

在F8wCoord.cfg中定義了ZDO_COORDINATOR和RTR_NWK

在F8wRouter.cfg中定義了RTR_NWK

在F8wEndev.cfg中沒有做定義。

?

根據(jù)以上配置的定義,在ZGlobals.h中確定了設(shè)備的類型

#if!defined ( ZSTACK_DEVICE_BUILD )

? #if defined ( ZDO_COORDINATOR )

??? #define ZSTACK_DEVICE_BUILD? (DEVICE_BUILD_COORDINATOR)

? #elif defined ( RTR_NWK )

??? #define ZSTACK_DEVICE_BUILD? (DEVICE_BUILD_ROUTER)

? #else

??? #define ZSTACK_DEVICE_BUILD? (DEVICE_BUILD_ENDDEVICE)

? #endif

#endif

?

ZDO 任務(wù)事件處理函數(shù)

這一張表介紹的比較全,建立網(wǎng)絡(luò)過程中用到的各種各樣的函數(shù)


?

?

?

ZigBee 網(wǎng)絡(luò)支持單播、組播和廣播數(shù)據(jù)包。在實現(xiàn)組播通信時,需要將通信的端點加入到 工作組中。:
grp = aps_FindGroup( SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP);?如果同在一個工作組內(nèi),將該端點從工作組中刪除:
aps_RemoveGroup( SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP );?如果不在該工作組內(nèi),則將該端點加入到工作組中:
aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );

?

Zigbee終端是不是使用路由,要根據(jù)路徑的優(yōu)化來確定,它會選擇最優(yōu)的路徑進行數(shù)據(jù)的傳輸。

?

MicroWait (n);微秒級延時

?

關(guān)于Zigbee的安全與加密

Zigbee規(guī)范定義了信任中心的用途,信任中心是在網(wǎng)絡(luò)分配安全鑰匙的一種令人信任的設(shè)備。Zigbee提供了一套基于128為AES算法的安全類和軟件,并集成802.15.4的安全元素。Zigbee協(xié)議棧類為MAC、網(wǎng)絡(luò)和應(yīng)用層定義了安全性。它的安全服務(wù)包括針對關(guān)鍵進程建立和傳輸、設(shè)備管理和框架保護的方法。

安全方案有一組在MAC層的幀上所執(zhí)行的操作完成,以提供安全服務(wù),安全方案的名稱表明對稱加密算法、模式和完整性碼的長度。

?

CC2530硬件支持128bit的AES加密算法

如何開啟Z-stack中的加密算法。

1、 將f8wConfig.cfg文件中的-DSECURE=1,設(shè)置為1,這個變量在協(xié)議棧中作為if語句的條件使用,條件為真語句就是開啟加密算法的函數(shù)。

2、 將ZGlobals.c中的uint8 zgPreConfigKeys= FLASE修改為uint8 zgPreConfigKeys = TRUE

3、 準備一個key,這個可以在函數(shù)nwk_global.c中修改,具體是以下數(shù)組

CONST byte defaultKey[SEC_KEY_LEN] =

{

#if defined ( APP_TP ) || defined ( APP_TP2 )

? // Key for ZigBeeConformance Testing

? 0xbb, 0xbb, 0xbb, 0xbb,0xbb, 0xbb, 0xbb, 0xbb,

? 0xaa, 0xaa, 0xaa, 0xaa,0xaa, 0xaa, 0xaa, 0xaa

#else

? // Key for In-HouseTesting

? 0x08, 0x01, 0x02, 0x03,0x04, 0x05, 0x06, 0x07,

? 0x08, 0x09, 0x0A, 0x0B,0x0C, 0x0D, 0x0E, 0x0F

#endif

};

?

如果使用了加密算法后,網(wǎng)絡(luò)中所有設(shè)備都需要開啟這個算法,且各個設(shè)備中的key必須相同。

加密算法開啟以后,如果你需要修改代碼,就必須改變你的key,或者是擦除一次你的flash。

?

OSAL維護了一個消息隊列,每個消息都會被放到這個消息隊列中去,當任何接收到事件后,可以從消息隊列中獲取屬于自己的消息,然后調(diào)用消息處理函數(shù)進行相應(yīng)處理即可。



每個消息都包含一個消息頭osal_msg_hdr_t和用戶自定義的消息,osal_msg_hdr_t結(jié)構(gòu)體的定義為:

typedef struct

??? void? ???*next;

??? uint16?? len;

???uint8??? dest_id;

}osal_msg_hdr_t;


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

納祥科技推出太陽能+Type-C雙充電自行車前燈方案,方案核心模塊包含太陽能板、單片機、三極管、3顆LED燈珠與1200mAh電池,通過低功耗單片機與三極管驅(qū)動,支持強光/弱光/爆閃3種模式,高流明遠射程,適配多種車型

關(guān)鍵字: 方案開發(fā) 電子方案 自行車前燈方案 納祥科技

慕尼黑2025年9月11日 /美通社/ -- 當?shù)貢r間9月9日,賽力斯動力在德國慕尼黑國際車展期間舉辦技術(shù)發(fā)布與交流會,正式在海外市場推出全新一代賽力斯超級增程、高效發(fā)動機和新一代分布式電驅(qū)動系統(tǒng),同時與來自全球的汽車產(chǎn)...

關(guān)鍵字: 慕尼黑 分布式 發(fā)動機 新能源汽車

慕尼黑2025年9月11日 /美通社/ -- 高端智能電動汽車品牌問界(AITO)在2025年德國國際汽車及智慧出行博覽會(IAA MOBILITY)上,正式發(fā)布了其最新全球產(chǎn)品陣容——專為中東市場深度本地化打造的AIT...

關(guān)鍵字: AI 智能駕駛 測試 生態(tài)系統(tǒng)

舍弗勒首次為中國頭部車企大規(guī)模生產(chǎn)高壓逆變磚 天津工廠一年內(nèi)完成量產(chǎn)準備,逆變器模塊性能參數(shù)顯著提升 與合作伙伴羅姆半導(dǎo)體共研尖端碳化硅技術(shù),效率更高、性能更優(yōu) 模塊化可擴展設(shè)計使逆變磚易于集成,可廣泛...

關(guān)鍵字: 逆變 高壓 逆變器 集成

舍弗勒以"專注驅(qū)動技術(shù)的科技公司"為主題亮相IAA MOBILITY 2025(B3館B40展臺) 合并緯湃科技后首次亮相IAA MOBILITY,展示拓展后的汽車產(chǎn)品組合 憑借在軟件、...

關(guān)鍵字: 電氣 軟件 驅(qū)動技術(shù) BSP

拉斯維加斯2025年9月11日 /美通社/ -- 在9月8日至11日舉辦的RE+ 2025展會上,全球綜合儲能解決方案供應(yīng)商德賽電池(Desay Battery)全面展示了其創(chuàng)新成果,并宣布與深圳市華寶新能源股份有限公司...

關(guān)鍵字: 電池 電芯 人工智能 鋰電

香港2025年 9月12日 /美通社/ -- 全球領(lǐng)先的互聯(lián)網(wǎng)社區(qū)創(chuàng)建者 - 網(wǎng)龍網(wǎng)絡(luò)控股有限公司 ("網(wǎng)龍"或"本公司",香港交易所股票代碼:777)欣然宣布,其子公司My...

關(guān)鍵字: AI 遠程控制 控制技術(shù) BSP

慕尼黑2025年9月12日 /美通社/ -- 慕尼黑當?shù)貢r間9月10日,在2025德國國際汽車及智慧出行博覽會(IAA MOBILITY)上,國際獨立第三方檢測、檢驗和認證機...

關(guān)鍵字: 測試 慕尼黑 模型 HUBER

上海2025年9月12日 /美通社/ -- 近日,國際獨立第三方檢測、檢驗和認證機構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵")為上海...

關(guān)鍵字: 測試 信息安全 安全管理 開關(guān)

廣州2025年9月12日 /美通社/ -- 9月11日,由國際獨立第三方檢測、檢驗和認證機構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵"...

關(guān)鍵字: 數(shù)字化 供應(yīng)鏈 控制 電子
關(guān)閉