Z-Wave 中的轮询和状态机

polling and state machine in Z-Wave

学长们下午好

我正在学习 Z-Wave 并了解一些 Z-Wave 规格。

但它们不足以理解 Open-Zwave 概念..

尤其是Open-Zwave中的Polling和State machine的原理,让我很难理解..

你能给我解释一下吗?或者我可以得到一些文件或图片吗?

轮询 轮询只是控制器向设备发送消息以请求其当前状态(on/off、当前温度等)。当控制器首次启动时,它会轮询其配置文件中存在的所有设备。启动后,通常不再需要轮询设备,除非它是较旧的 Z-Wave 设备或制造商担心实施另一家公司获得专利的功能。大多数当前的 Z-Wave 设备都配置为按用户定义的定期时间间隔自动报告其状态。大部分时间处于休眠状态的电池供电 Z-Wave 设备,例如 motion/temperature/humidity 传感器,在它们处于休眠状态时无法进行轮询。大多数人按预定的(用户定义的)时间间隔醒来,并向控制器发送一条他们醒着的消息。他们通常会报告当时的现状。如果控制器向休眠设备发送轮询请求,当它通知控制器它已苏醒时,它会被添加到发送到设备的消息队列中。一些电池供电的设备并不总是休眠并且可以被轮询,例如一些门锁。

状态机 Z-Wave 状态机是 Z-Wave 用来启用设备轮询的方法。当控制器想要与设备通信时,它会传递要发送的 Z-Wave 帧,从而将机器设置为 BEGIN 状态。控制器发送帧并进入 WAIT 状态。如果控制器收到对其传输的有效响应,它会进入 END 状态并开始与设备通信。如果超时后仍未收到响应,则进入 ERR 状态并重试传输。在最多三个 ERR 状态之后,Z-Wave returns 为 NULL。它看起来像这样:

2016 年 8 月,Sigma Designs 向 public 发布了大部分 Z-Wave 规范,为希望在其应用程序中包含 Z-Wave 的开发人员提供了资源。在 2016 年 8 月之前,该规范受到严密保护。您可以阅读有关 Z-Wave Public Specification here.

的更多信息