-
我们依靠ThingsBoard Server和ThingsBoard Gateway来管理物联网设备,我们有这样的需求:
- IoT 设备 devicesOfTypeA 将消息发布到 v1/devices/me/遥测
- ThingsBoard Server 传输特定消息,然后将新消息发布到新主题等 v1/devices/devTypeB/request
- 订阅 v1/devices/devTypeB/# 的 IoT 设备 devicesOfTypeB 将获得新生成的消息
-
我们想知道我们是否可以通过配置 ThingsBoard 规则链来实现需求,似乎规则链真的是一个了不起的工具,可以做任何事情:)
有人碰巧有任何线索吗?我们是ThingsBoard的新手,在阅读了大部分文档,特别是ThingsBoard指南文档中的"数据处理和操作"部分后,我们没有发现规则链解决方案是否可行。
第一个选项:
设备 B订阅自己的属性(范围 = 共享((设备 B 属性名称 = 设备(
设备A 发布遥测数据(温度 = 40(
规则链
- 接受来自设备 A 的消息
- 将其另存为 设备A
- 将消息发起方更改为设备 B
- 从原件翻译 消息进入更新属性消息(消息有效负载来自 {"temperature":"40"} to {"deviceATemeprature":"40"};)
保存属性
使用此算法,当设备 A 遥测更新时,将通知设备 B。
第二种选择:
它类似,但设备B不是订阅属性,而是订阅RPC主题。每次更新设备 A 的遥测数据时,规则引擎都会向设备 B 发送 RPC 命令。
PS:您的情况不是标准的,不清楚为什么需要如此复杂的拓扑。我不确定设备现在是否应该涉及来自其他设备的属性/遥测。更常见的情况是,当另一个设备的状态从状态 A 更改为状态 B 时,您需要触发设备上的某些功能。在这种情况下,您需要实现规则链中的所有逻辑,在您的设备上实现 RPC API,并从规则引擎触发此 API。