物联网实训Day07

Zigbee无线传输

  • 地址的模式(广播、组播等)、端点、具体的模式(短地址、长地址)(广播是0xffff、0xfffc、0xfffd)
  • 设备启动成功进入的第一个函数是ZDO_STATE_CHANGE()(设备状态改变事件),初始化就可以放在这个函数下面。
  1. 节点与端点:有完整的收发设备的是节点,没有则是端点。
  • 数据的发送和接收:当一个设备发送数据时,必须指定发送目的节点的长地址或短地址以及端点来进行数据的发送和接收,并且发送方和接收方所使用的端点号必须一致。
  • 绑定:如果设备之间需要绑定,那么在Zigbee的网络层必须注册一个或者多个端点来进行数据的发送和接收以及绑定表的建立。
  • 绑定是第三种地址模式(查绑定表)
  1. 端点描述符:端点的实现由端点描述符来完成,每一个端点描述符由一个结构体来实现,在端点描述符中又包含了一个简单描述符。
  • 在AF.c文件中定义
  1. 数据发送和接收
  • 数据发送函数原型
    数据发送函数原型
  • afAddrMode_t成员定义了发送信息的四种地址模式
    afAddrMode_t
  • 间接寻址:间接寻址多用于绑定。当应用程序不知道数据包的目标地址时,将寻址模式设定为AddrNotPresent。Zstack底层将自动从堆栈的绑定表中查找目标设备的具体网络地址,这称为源绑定。如果在绑定表中找到多个设备,则向每个设备都发送一个数据包的拷贝。
  • 单点寻址:两种设置方式,Addr16Bit(短地址)和Addr64Bit(长地址)
  • 组寻址:目标地址addr应设置为组ID
  • 广播寻址:
    • 0xffff(默认值)数据包将被传送到网络上的所有设备,包括睡眠中的设备;
    • 0xfffd数据包将被传送到网络上所有空闲时打开接收的设备,即除了睡眠中的所有设备;
    • 0xfffc数据包发送给所有的路由器,其中也包括协调器;
    • 0xfffe应用层将不指定目标设备,而是通过协议栈读取绑定表获得相应额度目标设备的短地址。
  • 单点寻址和组寻址的区别在于短地址和地址模式
  • 数据接收
  • 数据接收格式
    数据接收格式
  1. ZDO层分析
  • ZDO(The Zigbee Device Objects,即Zigbee设备对象)
  • 提供了Zigbee设备管理功能,包括:网络建立,发现网络、加入网络、应用端点的绑定和安全管理服务。
  • ZDP(Zigbee Device Profile,即Zigbee设备规范)
  • 描述了ZDO内部一般性的Zigbee设备功能是如何实现的。其定义了相关的命令和相应的函数。

基于协议栈的广播组网实验

  • SampleApp.c中,修改SampleApp_Init()函数为广播
    广播设置
  • 修改SampleApp_MessageMSGCB()函数
    SampleApp_MessageMSGCB()函数修改
  • 修改SampleApp_SendPeriodicMessage()函数
    SampleApp_SendPeriodicMessage()函数

基于协议栈的点播组网实验

  • 在广播组网实验基础上修改
  • SampleApp.c中,修改SampleApp_Init()函数为点播、0x0000
    SampleApp_Init()函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路灯谣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值