Create your own local Azure IoT Edge dashboard

Earlier this year, when Azure IoT Edge was still in Public Preview, I wrote a couple of blogs about Visualizing Azure IoT Edge using local dashboard.

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.

Interested in this module? Let’s see how you can use it.

Continue reading “Create your own local Azure IoT Edge dashboard”

Advertenties

Managing nodes from the cloud in the OPC-UA Publisher Edge

In my previous blog, we learned how to get started with the Azure IoT Edge module named OPC Publisher.

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:

[
  {
    "EndpointUrl": "opc.tcp://[IP address]:53530/OPCUA/SimulationServer",
    "UseSecurity": false,
    "OpcNodes": [
      {
        "Id": "ns=5;s=Counter1"
      },
      {
        "Id": "ns=5;s=Random1"
      }
    ]
  }
]

These settings are ‘hardcoded’, the file is on the file system, not in Docker.

Can we change these settings remotely, using the cloud?

Continue reading “Managing nodes from the cloud in the OPC-UA Publisher Edge”

Getting started with OPC-UA on Azure IoT Edge

OPC-UA brings the promise of secure and platform independent M2M communication:

“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.:

And most of it is open-source!

But it’s hard to get started, what do you need to get data from an OPC-UA Server into the cloud using IoT Edge?

Here is a quick start by using the UPC UA Publisher module.

Continue reading “Getting started with OPC-UA on Azure IoT Edge”

Introducing Blob storage in Azure IoT on the Edge

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.

Let’s see how we can use this in our projects.

Continue reading “Introducing Blob storage in Azure IoT on the Edge”

Adding an array to your ModuleTwin desired properties

The IoT Modules can be modified using the Azure portal. Microsoft provides two methods to change modules ‘over the air’:

  1. Module Identity Twin
  2. Direct Method
The Module Identity twin is simply a JSON document which contains information about the module: tags, desired properties, and reported properties.
In this article, we focus on the Module twin and especially the desired properties.
Most examples show how to pass a simple value (like an integer value or a string).
But what if we want to pass an array?

Continue reading “Adding an array to your ModuleTwin desired properties”

Upgrading your Azure IoT Edge device remotely to the latest release

Last week, the Microsoft Ignite event was hosted in Orlando. As with every Microsoft Event, a lot of new stuff is released by the Microsoft product teams.

The same goes for the IoT Edge runtime, the portal and the logic running on IoT Edge.

The IoT Edge runtime bumped up to version 1.0.2 and there are lots of new features introduced like extended offline operation and proxy support.

And there a lot of bugfixes which is always good 🙂

But the documentation considering the update of your gateways is a bit limited.

If I follow the update procedure, I have to update it on the machine itself.

Let’s check out how we update our runtime remotely.

Continue reading “Upgrading your Azure IoT Edge device remotely to the latest release”

Modbus RTU on Azure IoT Edge

Microsoft is serious about IoT Edge. Azure IoT Edge is now GA for a few months and just last week the version was bumped up to 1.0.1.

The same effort is put into Edge modules. Microsoft provides several modules for different protocols like OPC-UA and Modbus.

In the past I already wrote a couple of times about Modbus TCP in IoT Edge. It’s easy to use and reliable. The Microsoft Modbus module is already available in GA. And I even noticed a reference to “docker pull mcr.microsoft.com/azureiotedge/modbus:1.0”.

If you look deeper into the documentation, you can see that the module supports Modbus RTU too!

It’s always good to learn about other protocols so I arranged some hardware and started a journey.

Let’s see what we need to get started with Modbus RTU. Continue reading “Modbus RTU on Azure IoT Edge”