ThingsBoard规则链将遥测重新发布到新主题

时间:2018-10-18 11:56:17

标签: iot thingsboard

  • 我们依靠ThingsBoard ServerThingsBoard Gateway来管理IoT设备,我们有这样的需求:

    1. IoT设备devicesOfTypeA将消息发布到v1 / devices / me / telemetry
    2. ThingsBoard Server传输特定消息,然后将新消息发布到新主题,等等v1 / devices / devTypeB / request
    3. 已订阅v1 / devices / devTypeB /#的IoT设备devicesOfTypeB将获得新生成的消息
  • 我们想知道是否可以通过配置ThingsBoard规则链来实现需求,看来规则链确实是一个了不起的工具,并且可以完成所有事情:)

有人碰巧有任何线索吗?我们是ThingsBoard的新手,在阅读了文档的大部分内容之后,尤其是ThingsBoard Guide Doc上的“数据处理和操作”部分,我们不确定规则链解决方案是否可行。

1 个答案:

答案 0 :(得分:1)

第一个选项:

  • deviceB订阅了自己的属性(范围=共享)(deviceB属性名称= deviceATemeprature)

  • 设备A发布遥测(温度= 40)

  • 规则链

    • 接受来自deviceA的消息
    • 将其保存为遥测 DeviceA
    • 将消息始发者更改为deviceB
    • 从原始译本 消息进入更新属性消息(消息有效载荷来自 {“温度”:“ 40”}到{“ deviceATemeprature”:“ 40”};)
      保存属性

使用此算法,将在更新deviceA遥测时通知deviceB。

第二个选项:

相似,但是deviceB订阅了RPC主题,而不是订阅属性。每次更新设备A的遥测时,Rule Engine都会向设备B发送RPC命令。

PS :您的情况不是标准的,并且不清楚为什么需要这种复杂的拓扑。我不确定设备现在是否应该有关其他设备的属性/遥测。一种更常见的情况是,当另一台设备的状态从状态A更改为状态B时,您需要在设备上触发某些功能。在这种情况下,您需要在RuleChain内部实现所有逻辑,在设备上实现RPC API并从Rule Engine触发该API。