EFR32网关获取节点信息代码流程

前言

用了Z3GatewayHost 做协调器网关,设备入网要经历几个阶段

  • 设备请求入网(Beacon Request、Association Request、Data Request)
  • 进入网络后网关分配短地址(Association Response)
  • 网关发出Active Endpoints Request
  • 网关发出 Simple Descriptor Request

通过以上命令,可以获取到入网节点信息,比如短地址、设备endpoint等

一般添加设备时,会发现网关SDK做了处理,自动会发送 Active Endpoints Request 和 Simple Descriptor Request,不需要用户去处理,就SDK这部分做下介绍、记录

这个SDK的总体架构是while(1)循环中处理多个event事件,而每一个event其实是一个队列,用来记录不同的事件详情

入网过程中的设备属性发现,就是一个Device Discovery的队列,定义在了device-table-discovery.c文件中

新加入的节点会走到下面函数,并且state 为 DEVICE_DISCOVERY_STATE_ENDPOINTS_SEND
在这里插入图片描述
推到队列之后,主循环会遍历到这个“事件”,由下面这个EventHandler去处理
在这里插入图片描述
可以看到接下来会去发出Active Endpoints Request,那么什么时候会发出Simple Descriptor Request呢?答案是Active Endpoints Response 做应答时,随后发出
在这里插入图片描述
这个“事件”最终会在这个主Event Handler处理函数中执行

在这里插入图片描述
至此,获取信息的命令都已发出,我们拿到了加入网络的设备节点信息

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值