用于将遥测数据重新发布到新主题的 ThingsBoard 规则链


  • 我们依靠ThingsBoard Server和ThingsBoard Gateway来管理物联网设备,我们有这样的需求:

    1. IoT 设备 devicesOfTypeA 将消息发布到 v1/devices/me/遥测
    2. ThingsBoard Server 传输特定消息,然后将新消息发布到新主题等 v1/devices/devTypeB/request
    3. 订阅 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。

最新更新