Congrats to all the winners of the Hackathon and thank you to the staff of dev.to for selecting my entry as a runner up! Looking forward to more events.
There are three main pieces to my entry:
- Microsoft Azure IoT Hub - C2D Action - an action that publishes a message to an Azure IoT Hub
- An MXCHIP IoT DevKit
- A repository that contains a reference to the above action, the CI Workflow, and the C++ project that is running on the MXCHIP.
Microsoft Azure IoT Hub - C2D Action
This action allows you to send a Cloud-to-Device message as part of your Github Actions CI/CD workflow.
- name: Publish Action C2D Message uses: firstname.lastname@example.org with iot-hub-connection-string: <iot hub connection string> device-id: <device id> message: <message>
- iot-hub-connection-string - this should be the connection string to the IOT Hub that you setup in Microsoft Azure.
- device-id - the id of the device you want to send a message to
- message - the message you want to send to the device
Your IoT connection string is going to contain a shared access key which will grant anyone with the connection string access to your IoT Hub. If you are going to use this action in your CI/CD workflow I would highly suggest using GitHub Secrets to store that data. You can also choose to add your device-id as a secret…
2020 DEV.TO GitHub Actions Hackathon
This is my submission for the DEV.TO GitHub Actions Hackathon that I have named "Noisy Build". I entered this into the IoT category of the hackathon.
The premise of my entry is pretty simple: after a CI build completes, send a message to an Azure IoT Hub. That message is then relayed to a specific device (an MXChip IoT DevKit in my case) that interprets the message and plays a sound based on whether or not the build succeeded or failed.
The three main components of my entry follow.
/src/web-app - this is a vanilla dotnet API that was generated using
dotnet new webapi. This is the code that the workflow will build and it is the result of this build that is sent to the IoT Hub.
/src/iot-app - this is an Ardunio C++ project that has been loaded onto the MXChip…
Here is a video that demonstrates the entire workflow.