如何在AWS-IOT中将多个设备连接到同一个东西?

时间:2016-06-01 18:53:35

标签: amazon-web-services aws-iot

我正在开展一个项目,在一个区域内安装100多个温度传感器节点,所有这些节点都执行相同的功能。他们发布的数据是传感器ID和读数。我正在使用AWS-IOT作为后端。

现在,为了做到这一点,我想我需要在aws-iot中为每个节点创建1个“东西”,我相信这个东西很难维护和不可扩展。

所以我的问题是,如何在AWS-IOT中将多个节点连接到同一个“东西”,以便集群易于管理。是否有其他方法可以有效地管理集群?欢迎提出任何意见。感谢。

5 个答案:

答案 0 :(得分:4)

面临类似的困境以及在AWS IoT管理控制台上创建太多“事物”的不切实际;我做了一些研究,发现AWS强烈建议不要将多个设备连接到同一个“东西”。

无论如何,使用连接到同一个东西的相同MQTT id保持两个不同的节点是不可能的(具有相同id的最后一个连接节点踢出先前连接的节点),尽管你可以在你的帮助下使用你的客户端ID一些代码。

我了解到,实际上您不需要“东西”来连接到AWS IoT,只需要证书即可;并且您可以通过代码在AWS IoT服务上创建元素。

总而言之;我自己面对一个类似的问题,我在下面查看了这些信息,发现它在我的案例中很有用并在此处分享。 https://forums.aws.amazon.com/thread.jspa?threadID=234102

答案 1 :(得分:2)

似乎唯一的方法是创建自己的网关,在将数据发送到AWS IoT之前聚合数据。您不能拥有多个具有相同客户端ID的MQTT连接。

使用API​​自动为节点分配证书和私钥。传感器ID可以用作事物名称和MQTT客户端ID。它需要预先完成一些工作,但随后您可以利用AWS IoT进行所有内务管理。

答案 2 :(得分:2)

您可以使用与多个clientId相同的Thing。您可以将传感器ID用作clientId。

答案 3 :(得分:1)

您将传感器连接到AWS IOT,订阅设备主题并开始发布数据。并且您开始从所有传感器接收数据。

现在看,这里有什么问题??? 问题:我们不知道,哪个设备发送了哪些数据?

解决方案:此问题可以有2个解决方案。

  1. 您可以创建多个内容,并从单独的设备主题中分别从传感器获取数据。(您已经拒绝了)
  2. 其次,解决方案是将设备ID或clientID嵌入传感器发送到AWS IOT的数据中。并在AWS IOT上为该设备主题创建规则,以从主题中提取数据并将其保存在具有正确客户端ID的数据库中。在这种情况下,客户端ID将用于区分与主键类似的不同传感器的数据。
  3. 我希望这会有所帮助。

    由于

答案 4 :(得分:0)

使用不同的clientId可以区分客户端。但是看起来仅仅是事物的影子数据,这意味着只有在与事物相关联的单个设备时才能使用影子数据。如果有与该事物关联的多个设备,则阴影数据不适用。