本文主要是介绍zigbee协议及开发(2)- 基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Zigbee可以看成是一种Ad Hoc网络。理论上,IEEE802.15.4中涉及到两种设备:全功能FFD和半功能RFD设备。从相关文档描述,FFD能够完成更多的任务,担当更多的角色,比如协调器和路由器,具有更大的处理能力和更大的内存;而RFD功能较少,通常只担当终端结点,只与一个路由器或者协调器通信。
相应的,IEEE802.15.4中设备的逻辑角色可以分为PAN Cordinator, Cordinator和Device,对应Zigbee的即是Cordinator, Router, End Device。
另外一个角度,Zigbee能够组成网络的拓扑形式有星形和点到点(即网状),而树形是网状的一种特例。
从后面的实现来看,树形拓扑倒是最为实用的一种。其中协调器主要完成以下任务:
1. 为网络中每一个设备分配一个地址;
2. 初始化、结束及转发网络中每一个消息;
3. 为整个网络建立一个PAN ID,这个ID使得单个PAN网络内设备可以使用16位短地址,而不同网络间仍然能够互通。
而路由器节点只是逻辑功能与协调器不同,其硬件和软件与协调器相同。此外,根据IEEE802.15.4标准:
- Association/Disassociation是用于某个设备加入或离开网络的服务;
- Binding绑定是用于应用程序间创建逻辑连接的任务, 这一个任务往往是应用层实现的(这个绑定不一定是这样的,网络层也有绑定).
根据Zstack的实现, 上述应该分别对应加入网络ZB_StartRequest和ZB_BindDevice操作.
这篇关于zigbee协议及开发(2)- 基础知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!