IoTEdge
2 TopicsDeploying a NodeJS server with SocketIO to Docker using Azure IoT Edge
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. Read the full article here Accessing NodeJS SockerIO server Configuring the port forwarding Passing through messages using SocketIO1.6KViews0likes0CommentsHow to build a simple IoT Edge Version 2 Heartbeat Module
Recently, the Microsoft Azure IoT Edge platform was updated with more features, better documentation and lots of goodies. Yes, the learning curve of this new version is steep, especially if you are new (like me) to Docker. But once you just have started building your own Edge solution, things seem to fall into place. A logical flow seems to be described in the Microsoft documentation: Simulate an IoT Edge device in Windows Simulate an IoT Edge device in Linux Develop and deploy a C# module Deploy Azure Stream Analytics as a module Deploy Azure Machine Learning as a module Deploy Azure Functions as a module Looks easy, doesn't it? But reading the comments, people are still confused. First of all: DO NOT MIX VERSION ONE AND VERSION TWO DOCUMENTATION. Version one is based on one executable (gw.exe) which injects classes from DLL's (a configuration file has to be supplied). Modules are just classes in the DLL's. Version two is based on Docker Containers, each module is a separate container and therefore each module is a separate executable. These modules share the same logic to connect to a message bus which provides the routing. This 'runtime' has to be installed on the Edge machine, next to/outside the Docker containers. Note: the good thing is that the architecture still stands, multiple modules on top of a messagebus and messages are routed. The better thing is that the routing is now far more intelligent. And Microsoft has provided some guidance for migration After that, work your way through the documentation provided above, and check out my recent blogs: Deploy an Azure StreamAnalytics Job on the IotEdge Introduction to the Microsoft Azure IoTEdge Modbus-tcp-iotedge module Better property roundtrip for Azure IoIEdge Module Twin OK, I know, the learning curve is still steep. How about a full example of a simple module? The full article can be found here The source code of this module is available on Github The module is available for download as a Docker image2.4KViews0likes0Comments