随州网站建设哪家实惠,网站制做公司,学会网站制作要多久,电话销售网站建设多少钱一个月✨本博客参考了善学坊的教程#xff0c;并总结了在实现过程中遇到的问题。 善学坊官网 文章目录 一、BDB简介二、BDB Commissioning Modes2.1 Network Steering2.2 Network Formation2.3 Finding and Binding#xff08;F B#xff09;2.4 Touchlink 三、BDB Commissi… ✨本博客参考了善学坊的教程并总结了在实现过程中遇到的问题。 善学坊官网 文章目录 一、BDB简介二、BDB Commissioning Modes2.1 Network Steering2.2 Network Formation2.3 Finding and BindingF B2.4 Touchlink 三、BDB Commissioning Modes API简介四、实操 一、BDB简介
BDB全称为Base Device Behavior直译过来就是“基础设备行为”。用一句话概括BDB就是用来定义和控制在ZigBee物联网设备中的各种行为和状态。它决定了设备的行为模式使得设备知道如何加入或离开网络如何响应其他设备的信息当需要改变状态时又应该做什么等等。
这里着重介绍BDB对于正确组建ZigBee网络的作用。
BDB主要包含以下3方面的内容
Commissioning ModesCommissioning模式定义了ZigBee设备之间组网的基本规范BDB Security定义了一些网络安全规范Reset Methods开发者可以使用多个复位方法
由于BDB Security和Reset Methods这两部分开发者一般接触的比较少所以暂时不展开讲解。Commissioning Modes是ZigBee组网的核心内容下节课将重点讲解。
二、BDB Commissioning Modes
Commissioning Modes决定设备之间怎样建立和配置通信连接的。
BDB提供了4种主要的Commissioning模式给开发者使用分别是Network Steering、Network Formation、Finding and BindingF B和Touchlink。
2.1 Network Steering
定义了设备如何加入到ZigBee网络中具体方式如下
如果设备还没有在ZigBee网络中那么它们会寻找一个合适的ZigBee网络并加入到其中。特别地对于路由器类型的设备在入网成功后允许其它设备通过本设备来加入到这个ZigBee网络中。
所有需要加入到ZigBee网络中的设备都必须要支持Network Steering。
2.2 Network Formation
Network Formation 规定协调器类型的设备需要去建立一个中心信任的安全网络。这种网络的特点是所有需要加入到网络中的设备都需要经过信任中心的同意才能加入而协调器本身就是这个信任中心。
类似地对于路由器类型的设备如果条件允许的话会创建一个分布式安全网络。这里暂时不展开讲解这种网络了。
所有的协调器类型设备都必须要支持 Network Formation 而对于路由器类型的设备来说这是可选的模式。
2.3 Finding and BindingF B
顾名思义Finding and Binding的意思就是发现与绑定那么发现与绑定什么呢
ZigBee 3.0是使用Cluster集群来描述设备的功能的。每种设备都有各自的功能都有各自的一系列Cluster。这里的发现与绑定是指ZigBee设备的Cluster之间的相互发现、相互绑定。随着后续章节对Cluster深入地讲解读者将会更深入地了解到其中的原理。
所有的ZigBee设备都必须要支持Finding and BindingF B。
2.4 Touchlink
一般用于两个ZigBee设备之间直接进行通信举个例子说明其原理。
假设现在有两个支持Toucklink的ZigBee设备 一个是无线按钮支持通过Touchlink的方式发送一个恢复出厂设置的指令 另一个是灯支持接收通过Touchlink方式发来的恢复出厂设置指令并执行相应的处理。 用户可以拿着这个按钮靠近这个灯让两者相距约2cm然后按下按钮发送指令这个灯会收到指令并执行相应处理。如果用户把按钮拿远一些测试会发现灯收不到这个指令。如果用户把这个按钮拿去靠近一个新买的相同的灯测试会发现这个灯也会收到这个指令。 从这个例子中可以总结出Touchlink具有下面这些特点
通信距离短约2cm。按钮向灯发送指令时灯会通过检测按钮的网络信号强度来判断按钮的距离从而决定是否处理该指令。设备之间可以直接通信可以把这个按钮拿去直接跟一个新买的相同的灯通信。
Touchlink用得相对比较少ZigBee设备并不一定都需要支持Touchlink开发者可以让自己开发的设备支持或不支持这个功能。
三、BDB Commissioning Modes API简介
虽然上述的Commissioning模式比较复杂但是得益于Z-Stack 3.0 ZigBee设备的组网代码非常简单只需要调用1个API就可以了。
打开配套的工程代码可以在bdb_interface.h文件中找到BDB Commissioning Modes的API如图所示。
bdb_StartCommissioning(uint8 mode)这个函数需要传入一个模式参数可以在bdb.h中找到由协议栈定义好的模式如图所示。 实验过程会用到的几个模式
BDB_COMMISSIONING_MODE_NWK_STEERING
BDB_COMMISSIONING_MODE_NWK_FORMATION
BDB_COMMISSIONING_MODE_FINDING_BINDING四、实操
善学坊教程ZigBee 3.0 组网实验 根据教程实现的过程可能遇到的问题以及相对应的解决方案。