If you look at the routes page in Azure IoT Edge configuration wizard, what do you prefer?
The current notation:
Or do you prefer a flow chart like this:
The routes in Azure IoT edge are a clever solution to describe how messages from one module are sent to another. But the JSON notation can become less readable once you add more (up to twenty) modules. That could end up eg. nineteen routes or more!
Just as an experiment I was thinking about how the ease the experience using a graphical interface.
I prefer the second solution, probably just like you.
So let’s look at how you can create the same experience with your routes of your IoT Edge device.
Doorgaan met het lezen van “Visualize Azure IoT Edge device routes as a flowchart in Asp.Net MVC”
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.
Doorgaan met het lezen van “Create your own local Azure IoT Edge dashboard”
In my last series of blogs, we first looked at how to deploy a non-IoT Edge module using Azure IoT Edge.
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.
Doorgaan met het lezen van “Visualizing Azure IoT Edge using local dashboard”
In my previous blog, I showed you how to host NodeJS in a Docker Image.
Today we will learn how we show telemetry in NodeJS. The message will arrive as a string on an HTML page using SocketIO and we will put it on a chart from HighCharts.
This is a great example of how we can represent raw data in something useful, something end user will understand.
We will extend our previous example. In that example, we were leaning on NodeJS and we have the Express web framework running to show an HTML page. We added SocketIO so users of the index.html can exchange messages.
But what if the incoming message is
a JSON message on a single line? And it is shown as a string?
Nice, but this is only good for nerds like me.
What if we could represent it as:
This a much better solution, isn’t it?
Doorgaan met het lezen van “Show telemetry in NodeJS using SocketIO and HighCharts”
The current Azure IoT Edge public preview uses Docker to deploy logic from the cloud into local gateways. It’s currently featuring:
- C# modules written in .Net standard
- Python modules
- Azure Function built on your machine
- Azure Stream Analytics jobs built and deployed in the cloud
- Azure Machine Learning
We can expect Microsoft will support other types of modules soon as they have proven with other recent projects. An Azure Cognitive Services module is a good example, it’s put in every IoT Edge presentation.
The IoT Edge portal makes it possible to deploy modules which are available in private or public image repositories.
Could it be possible to build and deploy images to the gateway which are not specifically designed for IoT Edge?
It turns out, it is possible.
Let’s deploy a NodeJS server which serves SocketIO.
Doorgaan met het lezen van “Deploying a NodeJS server with SocketIO to Docker using Azure IoT Edge”
Azure Stream Analytics provides a great solution for temporal queries of streams of data. The query language is pretty simple, especially if you have a background in SQL queries.
The list of built-in functions is a long list, ranging from aggregation, analytics, geospatial, records, scalars to the recently introduced anomaly detection.
But what if you want to write your own functions?
Stream Analytics supports three types of custom functions:
- Machine learning endpoint disguised as functions
In this blog, I will show how easy it is to write and use your own custom logic in a Stream Analytics job. We will look at the user-defined functions.
Doorgaan met het lezen van “User Defined Function in Stream Analytics”
By now the Cloud strategy of Microsoft must be very clear. It’s not about Windows, it’s not about Office, it’s not about Microsoft programming languages even. Microsoft is opening up towards all devices, operating systems, programming platforms, etc. Everybody is welcome in the cloud.
Although this is going on for quite some time, it is still a surprise for quite a few non-Microsoft developers. So today I decided to program against the Azure IoT Hub using another language, just to check out their experience.
Microsoft supports multiple programming languages, there are multiple SDK’s available:
If your favorite language is not listed here, but it talks MQTT, AMQP or HTTP, chances a big you can build your own SDK.
Doorgaan met het lezen van “Using Node.js to access Azure IoT Hub”