0

以下是我的设置:

  1. ThingsBoard(社区版)
  • 在 DigitalOcean 上自托管

  1. Raspberry Pi 4 运行以下应用程序:
  • Node-Red 从传感器 (DHT22) 收集数据并使用“MQTT Out”节点将其发布到 ThingsBoard
  • ThingsBoard 物联网网关(TIG) 使用“MQTT 连接器”连接到 ThingsBoard

我能够使用 MQTT 将所有传感器数据从 Node-Red 发布到 ThingsBoard。问题是我需要使用 ThingsBoard “RPC Remote Shell”功能。为了实现这一点,我在我的树莓派上安装了 TIG。

Node-Red 和 TIG 都使用相同的“安全令牌”。当 TIG 连接到 ThingsBoard 时,它将中断 Node-Red 与 ThingsBoard 的连接。

目前,作为一种解决方法,我必须在 ThingsBoard 中创建两个“设备”以获得两个不同的“安全令牌”。一个令牌用于 Node-Red,另一个用于 TIG。这似乎暂时解决了问题,但我最终在 ThingsBoard 中有两个逻辑“设备”用于一个物理设备(Raspberry Pi)。

是否有允许从 ThingsBoard 上的一个“安全令牌”进行多个连接的设置?或者我需要编辑 ThingsBoard 代码的哪一部分才能允许它?或者也许有一种方法可以启用“RPC Remote Shell”,包括使用 Node-Red 而不是 TIG 的其他 RPC 功能?我必须使用 Node-Red,因为这是收集数据而不是 TIG 的最简单方法。如果您对此问题有创造性的解决方案,请告诉我。

感谢你的帮助。提前致谢。

4

1 回答 1

0

此行为由 ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE 配置参数控制。默认值为 1。您可以将此值更改为 2。然后两个会话都将起作用。尽管如果您在两个设备应用程序(MQTT 会话)中订阅 RPC 或属性更新,不建议更改该值。

于 2021-08-18T08:18:27.457 回答