Auteur: Sander van de Velde

I started as an IT consultant in 1993. I like to get my hands dirty with software innovations and I try to implement these in my daily work.
Currently, I am involved in the IoT Platform part of Azure (eg. IoTHubs, StreamAnalytics, Azure Functions, Mobile Apps, EventHubs, Universal Apps) and Azure in general.
I've been presented with the 2017 Microsoft Most Valuable Professional (MVP) Award and I'm a member of the Microsoft Azure Advisory Board.
For me, it is important to share knowledge. And I am committed doing so by writing blogs, articles for magazines and giving lots of presentations.
When offline, I like cutting down trees using Gränsfors Bruks axes, sailing, motorcycling or geocaching with my wife and my sons.

Back then, I had to do some magic with both a C# IoT Edge module, a custom NodeJS docker container, and a Docker network to get it running.

Since then, a lot has changed. Microsoft already released a ton of new features. a And there is still more to come regarding the Azure IoT platform.

But that awkward local dashboard solution was nagging me. A few months ago, Microsoft introduced a NodeJS module as a first-class citizen for IoT Edge modules.

So it was time to pick up the gauntlet and use NodeJS for this awesome local IoT Edge dashboard:

#tldr; If you like to dig into the code, zip it, clone it, extend it or even make a pull request, I made this project open source. If you only want to use it the easy-going way, pull it from docker eg. ‘svelde/localdashboard:1.0.1-amd64′.

At this moment, only Linux containers are supported. It is tested both on Windows and Ubuntu as host OS.

This module makes it possible to extract data from a ‘local’ OPC-UA server and to expose this data to the Azure IoT Hub. The data is sent using the routing feature within Azure IoT Edge so before we sent the data to the cloud, we first can have an insight in the actual data, take actions locally and transform the data.

But the OPC Publisher connects to the OPC-UA server based on local settings. Here is the configuration, taken from my c:\iiot\pn.json file:

“The OPC Unified Architecture (UA), released in 2008, is a platform-independent service-oriented architecture that integrates all the functionality of the individual OPC Classic specifications into one extensible framework.”

Microsoft invests heavily in OPC-UA by providing several solutions, eg.:

Microsoft has introduced the possibility to store data at the edge with Azure Blob Storage on IoT Edge. It is currently in preview. At this moment, that latest version is mcr.microsoft.com/azure-blob-storage:1.0.1-linux-amd64.

This local blob storage is another way to persist data locally on the Edge.

Microsoft is providing multiple solutions regarding IoT. If you want to do everything yourself, go for the PaaS services. If you have no programming skills at your disposal, go for IoT central which is a full SaaS solution for IoT.

But if you have skilled programmers in your team and you want to use the full power of Azure IoT, look at the Azure IoT solution accelerators (fka Azure IoT Suites).

There are several accelerators:

At this moment, Microsoft provides five accelerators. One is built by partner Intel (Intel Connected Logistics platform). One is just a simple one for starting to generate lots of telemetry messages (Device Simulation).

The other three are platforms built by Microsoft themselves and these are a great starting point to start building your own IoT platform.

For example, let’s look at the Connected Factory platform. You can create it within fifteen minutes:

Just let a wizard create the resources in your own subscription:

And then you have a running solution.

Do you want to change it? The code and ARM templates of this Connected Factory accelerator can be found on Github.

The same goes for the other accelerators!

For me the most tricky part is something trivial: how do I give a colleague access to these raw diamonds?