Why I liked the Tweakers.net IoT Workshop at Schuberg Philis
Written by Jordy Maes
Welcome at the HQ
On a rainy Thursday afternoon I was driving to Amsterdam, to attend the IoT Workshop from Tweakers.net at the headquarters of Schuberg Philis in Schiphol-Rijk.
It was already the second time I received an invitation to a workshop of Tweakers, and as always I’m amazed by the preparations they do in order to give a successful workshop.
Tweakers.net is a Dutch technology website, featuring news about IT, Cloud and Hardware, whilst Schuberg Philis is a consultancy firm who provide support to Mission and Business Critical applications across various sectors.
After entering the building, I received my badge with my Tweakers username on it. Together with a couple of other IT Professionals, we first grab a nice cup of coffee and choose our IoT table in the room. After some small talk, we are welcomed by the Tweakers and Schuberg crew.
Finally, now we’re ready to start the workshop. The crew already prepared 25 tables with some Philips Hue Lights.
The workshop consists of two parts, first we have the Reporting of data and secondly, we have the actioning of the data. The high-level architecture is simple. There are two ‘beer’ taps sending data towards an IoT hub, a Stream Analytics Job then stores the data in an Azure SQL database.
The IoT Hub was already deployed by the crew because the actual deploy can take some time in Azure. And of course, we don’t want to waste any minute waiting for deployments, do we?
Fir first actual step every attendee did was creating a consumer group on the Built-in endpoints.
In the next step, you set-up an Azure SQL Database (together with a SQL Server). Nothing new in this step, so let’s continue. Just don’t forget to add your client IP to the firewall access, otherwise you will not be able to connect to the newly created database.
Once done, we import the script to create our SQL Tables.
Now we are ready to create an Azure Stream Analytics Job. A stream Analytics job is a real-time analytics processing engine designed to analyse high volumes of streaming data from multiple sources. Exactly what we need for our demo.
Firstly, you configure the inputs of the analytics, I’ve learned that you need to choose a correct name from the beginning, otherwise you end with some funny names such as “alpacabeerhub”. Though the requirement was to create a good-looking hub, which was recognizable, I think this was a mission succeeded. After connecting the three SQL outputs we are ready to start the processing.
Once we are seeing our data, we are ready to create a Grafana dashboard. Grafana is a multi-platform source analytics dashboarding tool.
After creating our dashboard, we see the streaming data coming in fluently. Now it is time to start playing with the Philips Hue light on our desk. This part focuses on the live data and it includes using a Service Bus together with a Logic App to change the colour of the Hue light.
In the first step, I created a Service Bus Queue, and I extended the Streaming Analytics Job to support the output of the Service Bus Queue.
Now it was time to create the Logic App. Using a Logic App to change the colour of the hue light isn’t the cheapest solution but for demo purposes which need to be completed by a variety of developer profiles, this works the best for everyone.
The design of the Logic App is easy as it all starts with as Service Bus connector to retrieve the events. Afterwards, and this was actually the biggest ‘problem’, is parsing and decoding the JSON from the queue, since all messages are base64 encoded, you need to use an expression “json(base64ToString(triggerBody()?[‘ContentData’]))” to parse these messages. In between, the variables are also initialised and the switch case whether a beer tap was active or not is created.
The first switch case checks whether the state is on of off. If the state is on (aka ‘started’), the case continues to another case, which checks the device type. Either the non-alcoholic tap or the alcoholic one. Within the case, the colour variable is set.
Finally, we are ready to do a call towards the hue light interface, which was already prepared by the team. Once done, our light turned ‘red’ for the alcoholic beer.
After the dinner, which a lot of restaurants could learn something from, it was time to welcome Sander van de Velde. He is a Microsoft MVP and IoT Platform Architect.
Sander gave an introduction in the real life IoT cases and demonstrated how you can use your Ikea TRÅDFRI lights and gateway and connect them to your Azure IoT platform with little effort.
At the end of the inspiring session, Sander opened the bar and we had the chance to talk to the Tweakers Crew and other Tweakers members. We hade some talks about the capabilities and use cases of the magnificent world of IoT and IT in general.
Unfortunately, it was already getting late soon, and it was time to return to Belgium after a great workshop.
Resources free to use!
If you want to try out the demo, or learn more of this IoT workshop, I recommend you to have a look at the GitHub repository https://github.com/schubergphilis/tweakers_iot_workshop
Anyways, a big thank you to Tweakers and Schuberg Philis for organizing such an event and also thank you Integration.team for letting me join this adventure in Amsterdam!