IoT Edge SDK
5 TopicsIntroduction to the IoT Edge SDK
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. This blog is the first part of a few. We will start with the Gateway SDK. I want to make the usage of this SDK as easy as possible. The detailed architecture Use the correct gateway NuGet package Run your modules using the gateway broker See the arrival of simulated telemetry Read the full blog here3.9KViews0likes0CommentsVisualizing Azure IoT Edge using local dashboard
In my last series of blogs, we first looked at how to deploy a non-IoT Edge module using Azure IoT Edge. Let's build a local dashboard for IoT Edge with the skill we learned. For this example, I used a NodeJS website running SocketIO. It was possible to access this website with a default SocketIO chat application. After that, we looked at how to add some charts in the HTML page offered by the NodeJS server. Let’s see how we can combine this all into one solution. Let’s build a local for raw Azure IoT Edge telemetry. Read the full story at my blog Adding the Docker Network fixes the communication Impression of the dashboard1.1KViews0likes0CommentsIntroduction to the IoT Edge SDK, part 2
Running logic on the Edge is not that hard, as we have seen in my previous blog. You have been introduced to modules, the gateway configuration and the broker/runtime. But these were just two modules. Now it’s time to put some data into the Azure IoT Hub. If we look at the modules provided by Microsoft, we can do the job already. What we need are the following, already available modules: simulated_device.dll, to generate simulated data identity_map.dll, it holds a list of device names and private key combinations so the data of devices can be sent securely to the IoT Hub iothub.dll, to make contact with the IoT Hub and pass data in name of devices Yes, there are some limitations to these modules but for now, it’s good enough. Let get started. The full article is available here Configure a device in your IoT Hub See device data been sent by the gateway See the arrival of data in the IoT Hub979Views0likes0CommentsIntroduction to the IoT Edge SDK, part 4: using routing
We have already made great progress understanding and using the Azure Gateway SDK. What do we have right now? We can send telemetry data from multiple ‘offline’ devices and accept commands from the IoT Hub. The data we send is well-formatted JSON so we are good to go. But I am a bit worried. While reading all documentation regarding the transformation from Azure Gateway SDK towards the IoT Edge SDK, it is clear that multiple types of messages are sent to the IoT Hub. For example, I can imagine that a Stream Analytics module generates other data. And let’s look at a more ‘close to earth’ example. The gateway itself is a potential device too! But I do not want to mix data coming from the gateway and from sensor devices. Of course, we recently got the ability to route messages using the message sent. But what about using the properties? This keeps the message content clean. Will this be working? Read the full article here Creating a route in the Azure IoT Hub Routed messages are arriving at the Event Hub Messages from the Event Hub arrive at Azure Functions, including the device name961Views0likes0CommentsIntroduction to the IoT Edge SDK, part 3
In the previous blogs of this series, you have been introduced to the Module architecture of the IoT Edge SDK. In my last blog, we have sent data to the IoT Hub. But the IoTHub has more capabilities for devices. Think of ‘device twins’, ‘direct methods’ and ‘message to device’. Are these supported too? At this moment, the IoTHub module supports commands, messages to devices, coming from the IoT Hub. Let’s see what we have to do to get this working. Read the full article here Send a command using the Device Explorer See how commands are retrieved946Views0likes0Comments