ThingsBoard 规则链将遥测重新发布到新主题
ThingsBoard Rule Chains to re-publish telemetry to a new topic
我们依赖ThingsBoard Server and ThingsBoard Gateway来管理物联网设备,我们有这样的需求:
- IoT 设备 devicesOfTypeA 将消息发布到 v1/devices/me/telemetry
- ThingsBoard 服务器传输特定消息,然后将新消息发布到新主题等 v1/devices/devTypeB/request
- IoT 设备 devicesOfTypeB 订阅 v1/devices/devTypeB/# 将获得新生成的消息
想知道是否可以通过配置ThingsBoard Rule Chains来实现需求,看来Rule Chains真的是一个神奇的工具,无所不能:)
有没有人恰好有任何线索?我们是 ThingsBoard 的新手,在阅读了大部分文档之后,尤其是 ThingsBoard Guide Doc 上的 "Data Processing & Actions" 部分,我们没有发现规则链解决方案是否可行。
第一个选项:
deviceB订阅了自己的属性(scope=shared)(deviceB属性名=deviceATemeprature)
deviceA 发布遥测数据(温度=40)
规则链
- 接受来自设备A的消息
- 将其保存为遥测数据
设备 A
- 将消息发件人更改为设备 B
- 转自原文
消息转化为更新属性消息(消息有效载荷来自
{"temperature":"40"} 到 {"deviceATemeprature":"40"};)
保存属性
使用此算法,deviceB 将在更新 deviceA 遥测数据时得到通知。
第二个选项:
类似,但是deviceB不是订阅属性,而是订阅RPC主题。每次更新设备A的遥测数据时,规则引擎都会向设备B发送RPC命令。
PS:您的案例不标准,不清楚为什么需要如此复杂的拓扑。我不确定设备现在应该与其他设备有关 attributes/telemetry。更常见的情况是,当另一个设备的状态从 stateA 变为 stateB 时,您需要触发设备上的某些功能。在这种情况下,您需要在 RuleChain 中实现所有逻辑,在您的设备上实现 RPC API 并从规则引擎触发此 API。
我们依赖ThingsBoard Server and ThingsBoard Gateway来管理物联网设备,我们有这样的需求:
- IoT 设备 devicesOfTypeA 将消息发布到 v1/devices/me/telemetry
- ThingsBoard 服务器传输特定消息,然后将新消息发布到新主题等 v1/devices/devTypeB/request
- IoT 设备 devicesOfTypeB 订阅 v1/devices/devTypeB/# 将获得新生成的消息
想知道是否可以通过配置ThingsBoard Rule Chains来实现需求,看来Rule Chains真的是一个神奇的工具,无所不能:)
有没有人恰好有任何线索?我们是 ThingsBoard 的新手,在阅读了大部分文档之后,尤其是 ThingsBoard Guide Doc 上的 "Data Processing & Actions" 部分,我们没有发现规则链解决方案是否可行。
第一个选项:
deviceB订阅了自己的属性(scope=shared)(deviceB属性名=deviceATemeprature)
deviceA 发布遥测数据(温度=40)
规则链
- 接受来自设备A的消息
- 将其保存为遥测数据 设备 A
- 将消息发件人更改为设备 B
- 转自原文
消息转化为更新属性消息(消息有效载荷来自
{"temperature":"40"} 到 {"deviceATemeprature":"40"};)
保存属性
使用此算法,deviceB 将在更新 deviceA 遥测数据时得到通知。
第二个选项:
类似,但是deviceB不是订阅属性,而是订阅RPC主题。每次更新设备A的遥测数据时,规则引擎都会向设备B发送RPC命令。
PS:您的案例不标准,不清楚为什么需要如此复杂的拓扑。我不确定设备现在应该与其他设备有关 attributes/telemetry。更常见的情况是,当另一个设备的状态从 stateA 变为 stateB 时,您需要触发设备上的某些功能。在这种情况下,您需要在 RuleChain 中实现所有逻辑,在您的设备上实现 RPC API 并从规则引擎触发此 API。