Forwarding Mqtt sensor data to a registered cumulocity device

Hi Everyone.
I am currently in the process of developing a logic to connect to a registered cumulocity device in my nodejs service. The main goal is to create an endpoint where I retrieve the device details by cumulocity API. After getting those details, the plan is to forward the actual sensor data from my local mqtt broker by subscribing to a particular topic. The purpose is to forward data of a particular device to the entity registered in cumulocity and also establish a check whether that device has already been registered or not. I would welcome suggestions on how I can improve upon this line of thought. Thanks.

Have you heard of thin-edge.io as there seems to be a bit of an overlap with your proposal and what thin-edge.io already does out-of-the-box.

thin-edge.io provides multiple cloud connectivity (to Cumulocity IoT, AWS and Azure), and it offers a local MQTT broker interface for other devices to publish their data to (in a more generic format), and thin-edge.io will forward the data to the configured cloud, in your case this would be Cumulocity IoT. On top of that, thin-edge.io also supports the standard device management features (e.g. firmware/software/configuration/log etc.).

If you just want to experiment with it, you can startup a docker container using the instructions in the tedge-demo-container.

1 Like

I will definitely look into this as it would save a lot of time. The only question I would have for that would be if thin-edge would work on a cumulocity trial?

thin-edge.io is a pure open source project, so there is nothing stopping you using it to connect to a trial tenant (see the Connecting to Cumulocity IoT Tutorial.

Though just to be clear, the suggested tedge-demo-container is designed to run locally on your machine (it shouldn’t/can’t be deployed as microservice in Cumulocity IoT).

1 Like

Basically, I am attempting to test this based on the fact that we will eventually have cumulocity iot edge that will run locally so I think this does fit my use-case.