![ZigBee學(xué)習(xí)之13――ZStack_API解讀_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/c09dc791-085b-4f43-885a-2696defacb7b/c09dc791-085b-4f43-885a-2696defacb7b1.gif)
![ZigBee學(xué)習(xí)之13――ZStack_API解讀_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/c09dc791-085b-4f43-885a-2696defacb7b/c09dc791-085b-4f43-885a-2696defacb7b2.gif)
![ZigBee學(xué)習(xí)之13――ZStack_API解讀_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/c09dc791-085b-4f43-885a-2696defacb7b/c09dc791-085b-4f43-885a-2696defacb7b3.gif)
![ZigBee學(xué)習(xí)之13――ZStack_API解讀_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/c09dc791-085b-4f43-885a-2696defacb7b/c09dc791-085b-4f43-885a-2696defacb7b4.gif)
![ZigBee學(xué)習(xí)之13――ZStack_API解讀_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/c09dc791-085b-4f43-885a-2696defacb7b/c09dc791-085b-4f43-885a-2696defacb7b5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ZigBee 學(xué)習(xí)之1313ZStackZStack API 解讀 API實(shí)現(xiàn)了所有ZDP(ZigBee Device Profile定義的命令和回應(yīng)所需要的函數(shù)。ZDP 描述了ZDO 如何實(shí)現(xiàn)普通ZigBee 設(shè)備的特性,它定義了設(shè)備描述和簇,ZDP 為ZDO 和應(yīng)用提供一下功能:設(shè)備網(wǎng)絡(luò)建立設(shè)備和服務(wù)發(fā)現(xiàn)節(jié)點(diǎn)設(shè)備邦定和解邦定服務(wù)網(wǎng)絡(luò)管理服務(wù)設(shè)備發(fā)現(xiàn)是ZigBee 設(shè)備發(fā)現(xiàn)其他ZigBee 設(shè)備的過(guò)程。比如將已知的IEEE 地址作為數(shù)據(jù)載荷廣播到網(wǎng)絡(luò)的NWK 地址請(qǐng)求,相關(guān)設(shè)備必須回應(yīng)并告知其網(wǎng)絡(luò)地址。服務(wù)發(fā)現(xiàn)提供了PAN 中一個(gè)設(shè)備發(fā)現(xiàn)其他設(shè)備提供的服務(wù)的能力。它利用多種描述符去指定設(shè)備的
2、能力。當(dāng)用戶(hù)需要邦定控制器與被控設(shè)備(比如開(kāi)關(guān)和燈時(shí),將用到邦定和解邦定服務(wù)。特別是終端設(shè)備邦定支持利用用戶(hù)的輸入來(lái)定義控制/被控設(shè)備對(duì)的簡(jiǎn)單邦定方法。邦定和解邦服務(wù)可以創(chuàng)建和刪除邦定表入口。網(wǎng)絡(luò)管理服務(wù)主要提供給用戶(hù)和調(diào)試工具網(wǎng)絡(luò)管理的能力,它能夠從設(shè)備重新獲得管理信息,包括網(wǎng)絡(luò)發(fā)現(xiàn)結(jié)果,路由表的內(nèi)容,鄰居節(jié)點(diǎn)鏈路質(zhì)量,邦定表內(nèi)容。也可以通過(guò)解關(guān)聯(lián)將設(shè)備從PAN 中脫離來(lái)控制網(wǎng)絡(luò)關(guān)聯(lián)。ZDO 設(shè)備網(wǎng)絡(luò)建立在ZigBee 網(wǎng)絡(luò)中默認(rèn)ZDApp_Init(in ZDApp.c開(kāi)始器件的啟動(dòng),但是應(yīng)用能覆蓋整個(gè)默認(rèn)行為,為了使應(yīng)用接管網(wǎng)絡(luò)的啟動(dòng),必須在編譯選項(xiàng)中包含HOLD_AUTO_START,
3、推薦同時(shí)包含NV_RESTORE(儲(chǔ)存ZigBee 網(wǎng)絡(luò)狀態(tài)到NV編譯選項(xiàng),包含這個(gè)兩個(gè)編譯選項(xiàng)后就需要調(diào)用ZDOIni tDevice(來(lái)啟動(dòng)網(wǎng)絡(luò)中的設(shè)備。uint8ZDOInitDevice(uint16startDelay 啟動(dòng)網(wǎng)絡(luò)中的設(shè)備。如果應(yīng)用想要強(qiáng)制一個(gè)“新的”加入(即不恢復(fù)網(wǎng)絡(luò)狀態(tài),則應(yīng)該先調(diào)用z gWriteStartupOptions(ZG_STARTUP_SET,ZCD_STARTOPT_DEFAULT_NETWORK_STATE來(lái)設(shè)置ZCD_NV_STARTUP_OPTION 中的ZCD_STARTOPT_DEFAULT_NETWORK_STATE 位。startDel
4、ay-啟動(dòng)設(shè)備的延時(shí)。這個(gè)延時(shí)有一個(gè)抖動(dòng):(NWK_START_DELAY +startDelay+(osal_rand(&EXTENDED_JOINING_RANDOM_MASK返回值:ZDO_INITDEV_RESTORED_NETWORK_STATE設(shè)備的網(wǎng)絡(luò)狀態(tài)恢復(fù)ZDO_INITDEV_NEW_NETWORK_STATE網(wǎng)絡(luò)狀態(tài)被初始化。即一個(gè)強(qiáng)制“新的”加入,或者沒(méi)有可供恢復(fù)的狀態(tài)ZDO_INITDEV_LEAVE_NOT_STARTED重置前,發(fā)送了網(wǎng)絡(luò)脫離并且重加入被設(shè)置為T(mén)RUE。因此器件沒(méi)有啟動(dòng),但是下次調(diào)用此函數(shù)將啟動(dòng)。ZDO 消息回饋通過(guò)ZDO_Register
5、ForZDOMsg(注冊(cè)消息,應(yīng)用就能接收任何空中(over the air消息。ZStatus_t ZDO_RegisterForZDOMsg(uint8taskID,uint16clusterID 調(diào)用此函數(shù)請(qǐng)求over-the-air 消息,此消息的備份將以O(shè)SAL 消息發(fā)送到任務(wù),接收到消息的任務(wù)可以自己解析消息,也可以調(diào)用ZDO 解析函數(shù)來(lái)解析消息。只有響應(yīng)消息有ZDO 解析函數(shù)。消息注冊(cè)并被接收后(OTA,將作為ZDO_CB_MSG (OSAL Msg發(fā)送到應(yīng)用/任務(wù)。消息體(zdoIn comingMsg_t defined in ZDProfile.h包含有OTA 消息。tas
6、kID-用來(lái)發(fā)送OSAL消息的應(yīng)用任務(wù)ID;clusterID-想要接收的OTA消息的clusterID。如:NWK_addr_rsp。這些ID定義在ZDProf ile.h返回值:ZStatus_t-ZComDef.h中ZStatus_t定義的狀態(tài)值ZStatus_t ZDO_RemoveRegisteredCB(uint8taskID,uint16clusterID為OTA消息移除一個(gè)請(qǐng)求。參數(shù)必須和ZDO_RegisterForZDOMsg(中的參數(shù)相同ZDO發(fā)現(xiàn)API這些API用來(lái)建立和發(fā)送ZDO設(shè)備和服務(wù)發(fā)現(xiàn)請(qǐng)求和回復(fù)。ZDO API和ZDP命令一一對(duì)應(yīng),ZDP 命令可以在ZigBe
7、e協(xié)議規(guī)范中找到更詳細(xì)的介紹。ZDO API Function ZDP Discovery CommandZDP_NwkAddrReq(NWK_addr_reqZDP_NWKAddrRsp(NWK_addr_rspZDP_IEEEAddrReq(IEEE_addr_reqZDP_IEEEAddrRsp(IEEE_addr_rspZDP_NodeDescReq(Node_Desc_reqZDP_NodeDescRsp(Node_Desc_rspZDP_PowerDescReq(Power_Desc_reqZDP_PowerDescRsp(Power_Desc_rspZDP_SimpleDescR
8、eq(Simple_Desc_reqZDP_SimpleDescRsp(Simple_Desc_rspZDP_ComplexDescReq(Complex_Desc_reqZDP_ActiveEPIFReq(Active_EP_reqZDP_ActiveEPIFRsp(Active_EP_rspZDP_MatchDescReq(Match_Desc_reqZDP_MatchDescRsp(Match_Desc_rspZDP_UserDescSet(User_Desc_setZDP_UserDescConf(User_Desc_confZDP_UserDescReq(User_Desc_reqZ
9、DP_UserDescRsp(User_Desc_rspZDP_EndDeviceAnnce(Device_annceZDP_ServerDiscReq(System_Server_Discovery_reqZDP_ServerDiscRsp(System_Server_Discovery_rspafStatus_t ZDP_NwkAddrReq(byte*IEEEAddress,byte ReqType,byte StartIndex,byte Se curitySuite發(fā)送為一個(gè)IEEE地址已知的設(shè)備請(qǐng)求16位短地址的消息,消息將以廣播的形式發(fā)送。IEEEAddress-發(fā)送請(qǐng)求的設(shè)備的
10、IEEE地址ReqType-希望收到的答復(fù)類(lèi)型ZDP_NWKADDR_REQTYPE_SINGLE返回設(shè)備的短地址和擴(kuò)展地址ZDP_NWKADDR_REQTYPE_EXTENDED返回設(shè)備的短地址和擴(kuò)展地址,以及所有關(guān)聯(lián)設(shè)備的短地址StartIndex-應(yīng)答設(shè)備可能含有多條符合應(yīng)答消息的應(yīng)答條目,此參數(shù)指定請(qǐng)求開(kāi)始檢索的應(yīng)答條目SecuritySuite-消息的安全類(lèi)型返回值:afStatus_t-次函數(shù)用AF來(lái)發(fā)送消息,所以狀態(tài)值為ZComDef.h中ZStatus_t定義的AF狀態(tài)值afStatus_t ZDP_NWKAddrRsp(byte TranSeq,zAddrType_t*dst
11、Addr,byte Status,byte*IEEEAddrRemoteDev,byte ReqType,uint16nwkAddr,byte NumAssocDev,byte StartIndex,uint16*NWKAddrAssocDevList,byte SecuritySuite;這個(gè)函數(shù)實(shí)際上是調(diào)用ZDP_AddrRsp(的宏,用來(lái)建立和發(fā)送網(wǎng)絡(luò)地址應(yīng)答TranSeq報(bào)文序號(hào)DstAddr-目標(biāo)地址StatusZDP_SUCCESS0ZDP_INVALID_REQTYPE1ZDP_DEVICE_NOT_FOUND2Reserved0x03-0xffIEEEAddrRemoteDev
12、-遠(yuǎn)端設(shè)備的64位地址ReqType請(qǐng)求類(lèi)型nwkAddr遠(yuǎn)端設(shè)備的16位地址NumAssocDev-和遠(yuǎn)端設(shè)備相關(guān)聯(lián)的設(shè)備及其16位短地址的數(shù)目StartIndex-應(yīng)答消息的開(kāi)始序號(hào)NWKAddrAssocDevList-相關(guān)聯(lián)的16位地址列表SecuritySuite-消息安全類(lèi)型afStatus_t ZDP_IEEEAddrReq(uint16shortAddr,byte ReqType,byte StartIndex,byte SecuritySuite已知設(shè)備的16位短地址請(qǐng)求64位IEEE地址。呵呵好多參數(shù)都是一看就知道是什么了呢,那就不寫(xiě)出來(lái)了,下面的函數(shù)也一樣的處理了。afS
13、tatus_t ZDP_IEEEAddrRsp(byte TranSeq,zAddrType_t*dstAddr,byte Status,byte*IEEEAddrRemoteDev,byte ReqType,uint16nwkAddr,byte NumAssocDev,byte StartIndex,uint16*NWKAddrAssocDevList,byte SecuritySuite;這個(gè)函數(shù)實(shí)際上是調(diào)用ZDP_AddrRsp(的宏,用來(lái)建立和發(fā)送IEEE地址應(yīng)答afStatus_t ZDP_NodeDescReq(zAddrType_t*dstAddr,uint16NWKAddrOf
14、Interest,byte Se curitySuite;構(gòu)建并向目標(biāo)地址域發(fā)送節(jié)點(diǎn)描述請(qǐng)求afStatus_t ZDP_NodeDescMsg(byte TransSeq,zAddrType_t*dstAddr,byte Status,uint16nwkAddr,NodeDescriptorFormat_t*pNodeDesc,byte SecuritySuite;DstAddr-目標(biāo)地址NWKAddrOfInterest-要搜尋的16位短地址SecuritySuite-消息的安全類(lèi)型afStatus_t ZDP_NodeDescMsg(byte TransSeq,zAddrType_t*d
15、stAddr,byte Status,uint16nwkAddr,NodeDescriptorFormat_t*pNodeDesc,byte SecuritySuite;回應(yīng)節(jié)點(diǎn)描述(Node Descriptor請(qǐng)求。Status-SUCCESS0DEVICE_NOT_FOUND1pNodeDesc-指向節(jié)點(diǎn)描述的指針(定義在AF.h中afStatus_t ZDP_PowerDescReq(zAddrType_t*dstAddr,int16NWKAddrOfInterest,byte Sec uritySuite;構(gòu)建和發(fā)送電源描述請(qǐng)求。實(shí)際是調(diào)用宏ZDP_NWKAddrOfInterest
16、Req(afStatus_t ZDP_PowerDescMsg(byte TranSeq,zAddrType_t*dstAddr,byte Status,int16nwkAddr,NodePowerDescriptorFormat_t*pPowerDesc,byte SecuritySuite;回應(yīng)電源描述請(qǐng)求。Status-SUCCESS0DEVICE_NOT_FOUND1pPowerDesc-指向電源描述的指針(定義在AF.h中afStatus_t ZDP_SimpleDescReq(zAddrType_t*dstAddr,uint16nwkAddr,byte epIntf,by te S
17、ecuritySuite;構(gòu)建和發(fā)送簡(jiǎn)單描述請(qǐng)求。epIntf-希望的應(yīng)用終端/接口afStatus_t ZDP_SimpleDescRsp(byte TranSeq,zAddrType_t*dstAddr,byte Status,SimpleDescriptionFormat_t*pSimpleDesc,byte SecuritySuite;回應(yīng)簡(jiǎn)單描述請(qǐng)求。Status-SUCCESS0INVALID_EP1NOT_ACTIVE2DEVICE_NOT_FOUND3afStatus_t ZDP_ComplexDescReq(zAddrType_t*dstAddr,uint16nwkAddr,
18、byte SecurityS uite;構(gòu)建和發(fā)送復(fù)雜描述請(qǐng)求。實(shí)際是調(diào)用宏ZDP_NWKAddrOfInterestReq(zigbee設(shè)備以描述項(xiàng)數(shù)據(jù)結(jié)構(gòu)刻畫(huà)自己,包含在描述項(xiàng)中的具體數(shù)據(jù)在描述中定義,有5種描述:節(jié)點(diǎn),電源,簡(jiǎn)化,復(fù)雜和用戶(hù)。afStatus_t ZDP_ActiveEPIFReq(zAddrType_t*dstAddr,uint16NWKAddrOfInterest,byte S ecuritySuite;構(gòu)建和發(fā)送活動(dòng)終端/接口請(qǐng)求,實(shí)際是調(diào)用宏ZDP_NWKAddrOfInterestReq(,用來(lái)請(qǐng)求遠(yuǎn)端設(shè)備上所有活動(dòng)的終端/接口NWKAddrOfInterest
19、-搜尋的16位短地址afStatus_t ZDP_ActiveEPIFRsp(byte TranSeq,zAddrType_t*dstAddr,byte Status,uint16nwkAddr,byte Count,byte*pEPIntfList,byte SecuritySuite;回應(yīng)發(fā)送的活動(dòng)終端/接口請(qǐng)求,實(shí)際是調(diào)用宏ZDP_EPIFRsp(Status-SUCCESS0DEVICE_NOT_FOUND1CountpEPIntfList中活動(dòng)終端(endpoint/接口數(shù)目pEPIntfList包含器件上終端(endpoint/接口的數(shù)組afStatus_t ZDP_MatchDe
20、scReq(zAddrType_t*dstAddr,uint16nwkAddr,uint16ProfileID,byte NumInClusters,byte*InClusterList,byte NumOutClusters,byte*OutClusterList,byte SecuritySuite;構(gòu)建并發(fā)送匹配描述請(qǐng)求,用來(lái)搜尋符合應(yīng)用列表中某些輸入輸出簇得器件/接口ProfileID-cluster ID相關(guān)的ProfileIDNumInClusters-輸入簇中的cluster ID數(shù)目InClusterList-輸入cluster IDs的數(shù)組afStatus_t ZDP_Mat
21、chDescRsp(byte TranSeq,zAddrType_t*dstAddr,byte Status, uint16nwkAddr,byte Count,byte*pEPIntfList,byte SecuritySuite; Status-SUCCESS0DEVICE_NOT_FOUND1CountpEPIntfList中活動(dòng)終端(endpoint/接口數(shù)目pEPIntfList包含器件上終端(endpoint/接口的數(shù)組afStatus_t ZDP_UserDescSet(zAddrType_t*dstAddr,uint16nwkAddr,UserDescriptorFormat_
22、t*UserDescriptor,byte SecurityEnable;構(gòu)建并發(fā)送User_Desc_set消息來(lái)設(shè)置遠(yuǎn)端設(shè)備的用戶(hù)描述,這個(gè)請(qǐng)求單播到包含有發(fā)現(xiàn)信息的遠(yuǎn)端設(shè)備。遠(yuǎn)端設(shè)備需要定義NV_RESTORE來(lái)使能整個(gè)函數(shù)。UserDescriptor配制的用戶(hù)描述,包含最多16個(gè)字符的ASCII字符串,若不足16個(gè)字符,則用空字符(0x20填充到16個(gè)afStatus_t ZDP_UserDescConf(byte TranSeq,zAddrType_t*dstAddr,byte Status,byte SecurityEnable;調(diào)用這個(gè)函數(shù)來(lái)回應(yīng)User_Desc_ConfStatus-SUCCESS0x00INV_REQUESTTYPE0x80DEVICE_NOT_FOUND0x81NOT_SUPPORTED0x84afStatus_t ZDP_UserDescReq(zAddrType_t*dstAddr,uin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)七年級(jí)上冊(cè)4.3.2《 角的比較與運(yùn)算》聽(tīng)評(píng)課記錄
- 魯教版地理七年級(jí)下冊(cè)8.1《自然特征與農(nóng)業(yè)》聽(tīng)課評(píng)課記錄
- 小學(xué)二年級(jí)上冊(cè)乘法口算題
- 蘇教版三年級(jí)數(shù)學(xué)上冊(cè)口算練習(xí)試題全套
- 集團(tuán)公司戰(zhàn)略合作框架協(xié)議書(shū)范本
- 藥店?duì)I業(yè)員聘用合同范本
- 2025年度虛擬現(xiàn)實(shí)游戲配音音效音樂(lè)委托協(xié)議
- 2025年度二零二五年度健身工作室門(mén)面店轉(zhuǎn)讓合同
- 大連市物業(yè)管理委托合同
- 2025年度咖啡連鎖品牌檔口轉(zhuǎn)讓及運(yùn)營(yíng)管理合同
- 現(xiàn)代漢語(yǔ)詞匯學(xué)精選課件
- PCB行業(yè)安全生產(chǎn)常見(jiàn)隱患及防范措施課件
- 上海音樂(lè)學(xué)院 樂(lè)理試題
- SAP中國(guó)客戶(hù)名單
- DB32∕T 186-2015 建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 2022年福建泉州中考英語(yǔ)真題【含答案】
- 汽車(chē)座椅骨架的焊接夾具畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(共23頁(yè))
- 露天礦山職業(yè)危害預(yù)先危險(xiǎn)分析表
- 淺談固定資產(chǎn)的審計(jì)
- WZCK-20系列微機(jī)直流監(jiān)控裝置使用說(shuō)明書(shū)(v1.02)
- 模糊推理方法
評(píng)論
0/150
提交評(píng)論