ZigBee设备Keep Alive机制设计

       Keep Alive是用于查询两个设备间网络通讯状态的一种机制,用于APP上显示设备的网络状态,或者设备自身网络状态的指示,从而提示用户设备是否网络异常的作用

      通讯超时时间(T):指的是如果设备状态变为离线,网关/APP需要最多T时间后才能知道,一般设置为5分钟。

      有效通讯:设备成功发送数据或者成功接收对方数据,说明两个设备间数据通讯正常。

1.怎样才能让用户在APP/网页上查看所有设备的网络状态(在网/离线)?

Coordinate:

      在通讯超时时间T内,若Coordinate与设备产生了有效通讯,Coordinate重置通讯超时时间为5分钟,若设备间没有有效通讯,Coordinate在超时后去读对方的通用属性,如:Model ID。若Coordinate收到读属性应答,则Coordinate重置通讯超时时间为5分钟,若连续3次都读不到对方的属性,则将设备的网络状态变为离线(可能处于掉电状态或者不在通讯范围之内)。设备离线后重新产生了有效通讯,立即恢复设备网络状态为在线,并重新开启此设备的超时定时器

Router:

      Router每5分钟上报一次状态属性,如:灯的开关属性,插座的开关状态等,或者Router设备每5分钟读一次Coordinator设备的状态属性,如网关与云端之前的通讯状态、Coordinate设备的时间(校时)。

EndDevice:

      对于不支持Poll Control Cluster的EndDevice设备:设备每隔5分钟上报一次状态属性,如:温度传感器的温度属性,人体红外传感器的状态等,或者EndDevice设备每隔5分钟读一次Coordinate设备的状态属性,如网关与云端之前的通讯状态、Coordinate设备的时间(校时)。

      对于支持Poll Control Cluster的EndDevice设备:入网后与Coordinate设备绑定Poll Control cluster,并且Coordinate会将check in周期作为通讯超时时间

2.怎样知道相互绑定的设备之间网络连接状态?

      若在通讯超时时间内未产生有效通讯,则开始主动读对方的通用属性,如:Model ID,通过绑定的方式发数据给对方,连续读三次失败后判定对方不在网,若自身处于断网或者孤儿的状态,网络连接状态肯定为断开

3.设备怎么知道自身的网络状态?

Router:

      在多次发送数据给Coordinate失败后,自身的网络状态会变成断网的状态

EndDevice:

      在多次poll父节点/发送数据失败后,自身的网络状态会变成孤儿的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值