Zigbee 网络中的轮询机制是什么
由于其本身的高能效特性,三个 Zigbee 无线协议(Zigbee 3.0、Zigbee PRO 和 Green Power)获得了 2017 年SEAD 连接效率奖。特别是 Zigbee 3.0 可提供重点关注能源管理的应用层级功能,包括功率配置、轮询控制、设备老化管理、电池监控和以节能为目标的网络流量降低战略方面的支持。 Unde了解 Zigbee 标准中的轮询特性有助于优化物联网 (IoT) 产品的功耗。本篇将进一步探讨 Zigbee 中的轮询机制及其在火灾报警传感器中的使用。
什么是轮询?
轮询是一种机制,Zigbee 网关可利用该机制持续检查相关终端传感器设备的状态。低功耗 Zigbee 传感器称为休眠终端设备 (SED),只有在发送传感器生成的事件时才“激活”。此外,它们还通过定期激活向网关发送报告,确保传感器网络的运行。 轮询是由 SED 生成的一种介质访问控制 (MAC) 数据请求。Zigbee 网络中的网关通过发送一条 ACK (确认)消息确认这一请求。此外,网关还可以决定进一步扩展轮询,以便发送为 SED 存储的任何消息或读取传感器事件。
Zigbee 标准中的轮询类型 Zigbee 标准定义了两种基本的轮询类型: 短轮询
长轮询
SED 使用扩展轮询方案(如快速轮询和签到)发送或接收来自网关的消息。
短轮询 SED 可开始进行短轮询,在此期间 SED 执行一个高占空比 MAC 数据请求,以检索其从其他终端设备请求的消息。如下图所示,SED1 通过网关向 SED2 发送一条数据请求。然后,SED1 持续不断地轮询网关,以接收 SED2 发出的响应。此时,SED1 被认为是处于“快速轮询模式”,该模式一直持续到“快速轮询超时”周期结束或 SED 接收到网关发出的“快速轮询停止”指令为止。
长轮询 长轮询允许 SED 定期向其网关发出报告。这些都是低占空比 MAC 数据请求。它们还为 SED 提供了一个机会,检索网关发出的消息。网关: 将该消息存储 7.68 秒
通过将 ACK 中数据待处理标志设置为高,表明有消息发送给 SED,如下图所示
然后,将消息作为一个 MAC 数据包发送给 SED
签到事件 签到事件是 Zigbee 应用层通过 Zigbee 集群库 (ZCL) 事务生成的一个占空比非常低的事件。在签到期间,SED 可接收网关发出的数据,通常该数据存储时间超过已定义的 7.68 秒。然后,网关可启动快速轮询模式,在该模式下,网关可发送数据直至快速轮询结束(或直至网关发送一条“快速轮询停止”指令)。在签到事件期间,网关还可以更新轮询控制参数。签到事件非常适用于执行固件更新或收集来自传感器的诊断数据。如下图所示,网关在签到的快速轮询阶段发送了一条 ZCL 读取属性指令。SED 回复“ZCL 读取响应”。
轮询的工作原理如何?例如 我们来看一下现实生活中使用火灾报警传感器的一个例子。在这个例子中,智能轮询选择可挽救生命。Develco 商用烟雾报警器产品 (SMSZB-120) 的技术手册为其传感器提供了以下默认的轮询控制设置: 我们以分别置于厨房和卧室的两个 Zigbee 火灾报警传感器为例,我们称其为 SED1 和 SED2。这两个传感器都与同一个 Zigbee 网关(在本例中为一个智能恒温器)通信。SED1 检测到厨房里的热量和烟雾迅速上升,然后发出报警,并将厨房中的最新情况发送至网关。与此同时,卧室中的 SED2 仍未检测到厨房散出的热量或烟雾。那么,网关如何才能迅速地更新卧室中的火灾报警器,以便发出报警信息? 当 SED1 检测到火灾时,它将即刻启动并向网关发送一条报警事件消息。该消息将在网关中存储 7.68 秒。然后,网关可在接收到 SED2 发出的长轮询数据请求之时,向其发送一条更新信息。如果我们的 Develco 火灾报警器样品采用上述默认设置,那么卧室里的 SED2 就能够在不到 7.5 秒的时间里发出报警。网关可要求 SED1 在每次长轮询事件之时发送一条状态更新信息,并将该信息转发给 SED2。
|