Cloud Relay block to push MQTT data messages to cloud IoT

Hey everyone, I just published the Cloud Relay block on balenaHub. It forwards MQTT data messages to the IoT facility of any of the major cloud providers – AWS, Azure, or Google Cloud.

The value for a data generator is that you only need to send the data to a generic MQTT broker on the device rather than manage the specifics of the cloud provider’s messaging API. I also created some other tools to automate provisioning a balena device with the provider’s IoT facility. You can learn more in the project README.

I included a couple of docker-compose examples in the repository doc directory based on the Sensor block. One is used in the project README for WiFi signal strength data, and another integrates with balenaSense for I2C sensor data. But of course you can push whatever data you like.

Let me know how it works for you.


I have just updated the Cloud Relay block to host its images on the registry. I created three per-architecture images, cloud-relay-amd64, cloud-relay-aarch64, and cloud-relay-armv7hf. The functionality is the same as the historical cloud-relay block. The examples in the block GitHub repo now use these images.

See the “What’s next?” section of this blog post for background. Of course, let me know of any issues.

This is great @kb2ma let’s think on examples to enable more developers :slight_smile:

Also see this forum thread about a recent blog post tutorial on Cloud Relay and cloud IoT provisioning for balena devices. In the tutorial I show how to send data to AWS IoT and graph it with CloudWatch.