When the Azure IoT Platform is referenced, in most cases the devices connecting to the IoT Hub are capable of communicating directly on the internet using Wifi etc. But there are many cases where devices are not capable of reaching out to an IoT Hub.
For example, these devices lack the ability to communicate using the internet (but use eg. Bluetooth or I2C instead). Or these devices are capable of communicating eg. REST but simply disconnected from the internet. Or they can only reach their own platform (eg. LORA).
In these cases, you need a mediator, a gateway. It sits between the two parties and passes data back and forth.
Microsoft provides for these cases the IoT Edge SDK, formally known as the Azure IoT Gateway SDK.
This SDK makes it possible to run a service which makes it possible to connect devices to the Azure IoT Hub using a series of modules.
But the name change (from ‘gateway‘ to ‘iot edge’) is not without reason. The Edge SDK has extended logic and is currently in preview. The additions to come will make it possible to run logic on-premise (according to the website: Enable real-time decisions, Perform edge analytics, Run artificial intelligence at the edge, etc.). This is promising!
But I have experienced the usage of the Gateway SDK as a challenge. The SDK supports many development platforms and documentation is scattered. So it’s hard to find a good starting point.
We will start with the Gateway SDK. I want to make the usage of this SDK as easy as possible.
Continue reading “Introduction to the IoT Edge SDK, part 1”