How to connect multiple devices to same Thing in A

2020-05-27 04:46发布

I am working on a project to install 100+ nodes of temperature sensors in an area, all of which perform the same function. The data they publish is the sensor id and the reading. I am using AWS-IOT for the backend.

Now, to do so, I think I will need to create 1 'thing' per node in aws-iot which I believe is extremely hard to maintain and unscalable.

So my question here is, how to connect multiple nodes to same 'thing' in AWS-IOT so that the cluster is easy to manage. Is there any alternate way to manage the cluster efficiently? Any inputs are welcome. Thanks.

5条回答
成全新的幸福
2楼-- · 2020-05-27 05:14

Use different clientId can distinguish the client. But looks like the is only a shadow data for the thing.That means shadow data can only be used when there is a single device associated with the thing. If there are multiple devices associated with the thing, then shadow data is not applicable.

查看更多
放荡不羁爱自由
3楼-- · 2020-05-27 05:26

It would seem that the only way to do that would be to create your own gateway that aggregates the data before sending it to AWS IoT. You can't have multiple MQTT connections with the same client ID.

Use the API to automate assignment of certificates and private keys to nodes. The sensor ID may be used as the thing name and MQTT client ID. It takes some work up front, but then you can leverage AWS IoT for all the housekeeping moving forward.

查看更多
Deceive 欺骗
4楼-- · 2020-05-27 05:28

You connect your sensors to AWS IOT, subscribe to a device Topic and start publishing data. And you start receiving data from all the sensors.

Now see, what is the problem here??? Problem: We don't know, which device sent which data?

Solution: There can be 2 solutions to this problem.

  1. You create multiple things and get data from the sensors separately from the separate device topic individual.(Which you already rejected)
  2. Second, solution is to embed the device id or clientID in the data which sensor is sending to AWS IOT. And create a Rule for that device topic on the AWS IOT to extract the data from the topic and save it in the DB with correct client ID. In this case Client ID will be used to distinguish data from the different sensors similar to primary key.

I hope this helps.

Thanks

查看更多
家丑人穷心不美
5楼-- · 2020-05-27 05:30

You can use the same Thing with multiple clientId. You can use the sensor id as the clientId.

查看更多
孤傲高冷的网名
6楼-- · 2020-05-27 05:37

Faced with a similar dilemma and the impracticality of creating too many 'things' on the AWS IoT administration console; I've done some research and found that connecting multiple devices to the same 'thing' is strongly discouraged by AWS.

Anyway its not possible to keep two different nodes using the same MQTT id connected to the same thing (the last connected node with the same id kicks out the previously connected node), although you can use your client ID with the help of some code.

I learned that actually you don't need a 'thing' to connect to AWS IoT, just a certificate will do; and that you can create elements on AWS IoT service by code.

So, in summary; facing a similar question myself, I ran across this information below, found it useful in my case and sharing it here. https://forums.aws.amazon.com/thread.jspa?threadID=234102

查看更多
登录 后发表回答