Introduction to the IoT Edge SDK

%3CLINGO-SUB%20id%3D%22lingo-sub-88683%22%20slang%3D%22en-US%22%3EIntroduction%20to%20the%20IoT%20Edge%20SDK%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-88683%22%20slang%3D%22en-US%22%3E%3CP%3EWhen%20the%20Azure%20IoT%20Platform%20is%20referenced%2C%20in%20most%20cases%20the%20devices%20connecting%20to%20the%20IoT%20Hub%20are%20capable%20of%20communicating%20directly%20on%20the%20internet%20using%20Wifi%20etc.%20But%20there%20are%20many%20cases%20where%20devices%20are%20not%20capable%20of%20reaching%20out%20to%20an%20IoT%20Hub.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EFor%20example%2C%20these%20devices%20lack%20the%20ability%20to%20communicate%20using%20the%20internet%20(but%20use%20eg.%20Bluetooth%20or%20I2C%20instead).%20Or%20these%20devices%20are%20capable%20of%20communicating%26nbsp%3Beg.%20REST%20but%20simply%20disconnected%20from%20the%20internet.%20Or%20they%20can%20only%20reach%20their%20own%20platform%20(eg.%20LORA).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIn%20these%20cases%2C%20you%20need%20a%20mediator%2C%20a%20gateway.%20It%20sits%20between%20the%20two%20parties%20and%20passes%20data%20back%20and%20forth.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMicrosoft%20provides%20for%20these%20cases%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fazure.microsoft.com%2Fen-us%2Fcampaigns%2Fiot-edge%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EIoT%20Edge%20SDK%3C%2FA%3E%2C%20formally%20known%20as%20the%20Azure%20IoT%20Gateway%20SDK.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20SDK%20makes%20it%20possible%20to%20run%20a%20service%20which%20makes%20it%20possible%20to%20connect%20devices%20to%20the%20Azure%20IoT%20Hub%20using%20a%20series%20of%20modules.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBut%20the%20name%20change%20(from%20%E2%80%98gateway%3CSTRONG%3E%E2%80%98%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20%E2%80%98iot%26nbsp%3Bedge%E2%80%99)%20is%20not%20without%20reason.%20The%20Edge%20SDK%20has%20extended%20logic%20and%20is%20currently%20in%20preview.%20The%20additions%20to%20come%26nbsp%3Bwill%20make%26nbsp%3Bit%20possible%20to%20run%20logic%20on-premise%20(according%20to%20the%20website%3A%20Enable%20real-time%20decisions%2C%20Perform%20edge%20analytics%2C%20Run%20artificial%20intelligence%20at%20the%20edge%2C%20etc.).%20This%20is%20promising!%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EBut%20I%20have%20experienced%20the%20usage%20of%20the%20Gateway%20SDK%20as%20a%20challenge.%20The%20SDK%20supports%20many%20development%20platforms%20and%20documentation%20is%20scattered.%20So%20it%E2%80%99s%20hard%20to%20find%20a%20good%20starting%20point.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20blog%20is%20the%20first%20part%20of%20a%20few.%20We%20will%20start%20with%20the%20Gateway%20SDK.%20I%20want%20to%20make%20the%20usage%20of%20this%26nbsp%3BSDK%20as%20easy%20as%20possible.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F17424iA50DE338F5FE6AAB%2Fimage-size%2Fmedium%3Fv%3D1.0%26amp%3Bpx%3D400%22%20alt%3D%22messages_1.png%22%20title%3D%22messages_1.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThe%20detailed%20architecture%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F17426i3292D88E5313D724%2Fimage-size%2Fmedium%3Fv%3D1.0%26amp%3Bpx%3D400%22%20alt%3D%22edge02.png%22%20title%3D%22edge02.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EUse%20the%20correct%20gateway%20NuGet%20package%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F17427i50A2CAF9689D206B%2Fimage-size%2Fmedium%3Fv%3D1.0%26amp%3Bpx%3D400%22%20alt%3D%22edge04.png%22%20title%3D%22edge04.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ERun%20your%20modules%20using%20the%20gateway%20broker%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F17428i296C6995683E2295%2Fimage-size%2Fmedium%3Fv%3D1.0%26amp%3Bpx%3D400%22%20alt%3D%22edge06.png%22%20title%3D%22edge06.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ESee%20the%20arrival%20of%20simulated%20telemetry%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ERead%20the%20full%20blog%20%3CA%20href%3D%22https%3A%2F%2Fsandervandevelde.wordpress.com%2F2017%2F07%2F19%2Fintroduction-to-the-iot-edge-sdk%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehere%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-88683%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EIoT%20Edge%20SDK%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
MVP

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.

 

messages_1.png

The detailed architecture

 

 

edge02.png

Use the correct gateway NuGet package

 

edge04.png

Run your modules using the gateway broker

 

edge06.png

See the arrival of simulated telemetry

 

Read the full blog here

0 Replies