- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第12章ZigBee3.0
;ZigBee联盟在2016年5月发布了ZigBee3.0协议。ZigBee3.0协议整合了各个领域的应用协议,解决了不同领域的ZigBee设备之间的兼容性问题,使其能够真正地互联互通。ZigBee3.0简化了开发人员创建物联网产品和服务的选择过程。它具备了市场上应用ZigBee标准的数千万台设备的所有特征,支持智能家居、联网照明和其他领域的设备之间的通信和互操作。ZigBee3.0基于IEEE802.15.4标准,工作在2.4GHz频段。ZigBee3.0协议也增加了更多的产品类型和属性定义,并且提升了通信安全性和稳定性。;
目前TI公司支持CC2530的ZigBee3.0协议栈是Z-Stack3.0.2版本,它需要对应的IAR版本建议是10.20.1版本,其他版本不保证兼容性。安装后,在C:\ZStack302\Projects\zstack\HomeAutomation目录中存放着有关智能家居的多个ZigBee3.0例程;(1)GenericApp:通用例程。
(2)SampleDoorLock:门锁例程。
(3)SampleDoorLockController:门锁控制器例程。
(4)SampleLight:ZigBee3.0灯例程。
(5)SampleSwitch:插座例程。
(6)SampleTemperatureSensor:温度传感器例程。
(7)SampleThermostat:恒温器例程。
(8)Source:存放公共代码的文件夹。;ZigBee3.0设备在相互发送数据之前,需要先组建网络。BDB(BaseDeviceBehavior,设备基本行为)是ZigBee的一个新特性,为各个ZigBee设备提供了一套统一的组网机制。
BDB提供了7种组网模式给开发者使用
//CommissioningModes
#defineBDB_COMMISSIONING_MODE_IDDLE0
#defineBDB_COMMISSIONING_MODE_INITIATOR_TL(10)
#defineBDB_COMMISSIONING_MODE_NWK_STEERING(11)
#defineBDB_COMMISSIONING_MODE_NWK_FORMATION(12)
#defineBDB_COMMISSIONING_MODE_FINDING_BINDING(13)
#defineBDB_COMMISSIONING_MODE_INITIALIZATION(14)
#defineBDB_COMMISSIONING_MODE_PARENT_LOST(15)
;NetworkFormation模式,规定设备需要去建立一个中心信任的安全网络。这种网络的特点是所有需要加入到网络中的设备都需要经过信任中心的同意才能加入,而协调器本身就是这个信任中心。所有的协调器都必须要支持NetworkFormation模式,而对于路由器来说,这是可选的模式。;定义了设备如何加入到ZigBee网络中,所有需要加入到ZigBee网络中的设备都必须要支持NetworkSteering模式,包括终端和路由器。
;ZigBee3.0是使用Cluster(簇)来描述设备的功能的。每种设备都有各自的功能,都有各自的一系列Clusters。发现与绑定是指ZigBee设备的Cluster之间的相互发现、相互绑定。所有的ZigBee设备都必须要支持FindingandBinding模式。
;BDB组建网络的一个重要函数是bdb_StartCommissioning(),通常情况下使用下面的代码就能完成BDB组建网络。
(1)让协调器创建网络,代码如下:
bdb_StartCommissioning(
BDB_COMMISSIONING_MODE_NWK_FORMATION|BDB_COMMISSIONING_MODE_FINDING_BINDING)
(2)路由器或终端设备加入网络中,代码如下:
bdb_StartCommissioning(
BDB_COMMISSIONING_MODE_NWK_STEERING|BDB_COMMISSIONING_MODE_FINDING_BINDING)
;应用程序使用bdb_RegisterCommissioningStatusCB()函数注册BDB回调函数,回调函数中将接收有关BDB执行结果的通知。应用程序可以在收到某个通知后进行处理。例如,终
文档评论(0)