Skip to content

Using Node red to monitor and existing "thing" payloads from AWS IOT

0

please treat me as a novice, my issue is duplicate client ID and device disconnection, how do I get around this??.
To speed up development, I want to review payloads of existing things by using node red to also collect the payload from an existing AWS IOT things. if I entry the same certificate details, into node red , the duplicate issue occurs, which is understandable,

How can I collect this payload data from an existing field device /thing , using node red and not have the duplicate ID issue. ?? Is it possible to create suitable access/certificate in AWS IOT for node red to view any payload from any device ?? Thankyou

asked a year ago148 views

1 Answer
0
Accepted Answer

To address your issue with duplicate client IDs and device disconnections while using Node-RED to monitor existing AWS IoT "things," there are a few approaches you can take:

  1. Use a unique client ID for Node-RED: Instead of using the same client ID as the existing device, create a unique client ID for your Node-RED connection. This can be done by appending a suffix to the original thing name or using a completely different identifier. For example, if your thing is named "MyDevice," you could use "MyDevice-NodeRED" as the client ID for your Node-RED connection.

  2. Create a separate "thing" for Node-RED: Register a new thing in AWS IoT specifically for your Node-RED monitoring. This allows you to have a distinct identity and set of credentials for Node-RED, avoiding conflicts with existing devices.

  3. Use a wildcard client ID in your IoT policy: Modify your AWS IoT policy to allow connections with any client ID. This can be done by using a wildcard in the resource ARN for the iot:Connect action. However, be cautious with this approach as it may have security implications.

  4. Implement a custom solution for payload sharing: Instead of having Node-RED connect directly to AWS IoT Core, you could set up an intermediary service (like AWS Lambda or a custom application) that receives the messages from IoT Core and then forwards them to Node-RED through a separate channel.

To create suitable access for Node-RED to view payloads from any device:

  1. Create a new IAM role with permissions to access IoT Core.
  2. Generate a new certificate for Node-RED and associate it with the new role.
  3. Create an IoT policy that allows broader access, such as subscribing to multiple topics or using wildcards in topic filters.

Remember to follow the principle of least privilege and only grant the necessary permissions for your monitoring needs.

By implementing one or a combination of these approaches, you should be able to use Node-RED to monitor payloads from existing AWS IoT things without encountering duplicate client ID issues or causing disconnections of your field devices.

Sources
Conflicting MQTT client IDs - AWS IoT Device Defender
AWS IoT Thing Connected Event, Find the thing Name from Event. | AWS re:Post
Security best practices in AWS IoT Core - AWS IoT Core
Unclear use of the correct IoT Core policy | AWS re:Post

answered a year ago

EXPERT

reviewed a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.