Our team “Trikcksterne Brewery” took the third place in this year’s Arctic Cloud developer challenge (ACDC) and won the crown for the best IOT-solution and best business value. Since the theme was Norse, we came up with the idea of brewing “Mjød” with help from an IOT-device, Azure and Teams.
ACDC is a hackathon and was celebrating their 10th anniversary this weekend. In the hackathon you get points by the judges and there is rules and categories, like using different technology and devices. The focus is Azure and O365.
The concept was simple; data is sent from IoT devices to the cloud, specifically to an IoT hub. These devices are normally registered with weird ID’s like: ACDC2020-IoT-Edge-Brewer-1, that make it difficult to identify them.
We came up with the idea to customize them by having extra properties like name, description, location and picture/avatar. In addition, we included parameters to define thresholds for the registered values, so for example devices can be set with min/max values for temperature, which will activate extra functionalities like showing alerts, colors, notifications and more.
The final goal then was to show this information to the end users. They interact with the information via different UI’s and then can give feedback about the flavor of the different “mjød”-containers.
We used Azure IoT Edge run-time environment:
From deployment manifest, modules are deployed from Azure Container Registry:
Security is maintained though:
Then we had Azure Stream analytics, whose job is to send data to Power BI and show it in real time to the users. The result is shown in a Teams tab as an app.
By using an azure function and a special connector, we got data from the IoT-hub and processed it, so it could be saved in an Azure table. This way we can maintain an historical of the measurements from sensors for future insights.
Once the data was in its place, we were able to query it from any consumer application, in our case, the consumer is SPFx webparts running in Microsoft teams and in a mobile app developed using Power Apps.
These consumers communicate with the data through a back-end environment built in an Azure function app. Endpoints are published and secured using AAD authentication (can be verified here acdc2020securedapi.azurewebsites.net) and the users are able to query data from the devices registered in the IoT hub and at the same time they are able to change the related metadata/parameters for each one. All this information is stored in Azure tables.
Power users will be able to use the administration app where they can give some personality to each one of the IoT devices, while end users only see the information about the devices and their measurements (temperature, humidity, gas, etc).
End users will have access to the data from Teams. It communicates with https and the azure functions. Communication is also secured via AAD.
The Power App is using a custom connector to get the data from an Azure function.
Finally, we added some logic to the events, like sending push notifications when value ranges are bellow or above required, and also sending activation signals from the back-end platform to Azure IoT hub. This enables so it can send messages to devices executing actions, like for example starting a heater/air conditioner.
We won the crown for the best IOT-solution and best real business value.
The experience after these three days was very enriching, we learned a lot of new technologies and tools which might help us in our careers. However, the most important gain from ACDC2020 is the gathering of tech people creating crazy and interesting stuff, while having a lot of fun!