Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/WAGO/azure-iot-edge

This repository contains instructions for building and starting a Microsoft Edge Runtime Container on WAGO devices. (e.g. PFC200 G2 or Wago Touch Panel)
https://github.com/WAGO/azure-iot-edge

arm32v7 azure-iot azure-iot-edge docker iot microsoft pfc200 touch-panel

Last synced: 3 months ago
JSON representation

This repository contains instructions for building and starting a Microsoft Edge Runtime Container on WAGO devices. (e.g. PFC200 G2 or Wago Touch Panel)

Awesome Lists containing this project

README

        

## Statistics Docker Hub

[![DockerHub stars](https://img.shields.io/docker/stars/wagoautomation/azure-iot-edge.svg?flat&logo=docker "DockerHub stars")](https://hub.docker.com/r/wagoautomation/azure-iot-edge)
[![DockerHub pulls](https://img.shields.io/docker/pulls/wagoautomation/azure-iot-edge.svg?flat&logo=docker "DockerHub pulls")](https://hub.docker.com/r/wagoautomation/azure-iot-edge)

## Statistics Git Hub
[![GitHub issues](https://img.shields.io/github/issues/WAGO/azure-iot-edge.svg?flat&logo=github "GitHub issues")](https://github.com/WAGO/azure-iot-edge/issues)
[![GitHub stars](https://img.shields.io/github/stars/WAGO/azure-iot-edge.svg?flat&logo=github "GitHub stars")](https://github.com/WAGO/azure-iot-edge/stargazers)

# How to setup Azure Iot Edge on Wago Device

## Prerequisites for tutorial
- Preinstalled SSH Client (e.g. https://www.putty.org/)
- Wago Device e.g. PFC200 G2 or Wago Touch Panel with minimal Firmware 12
- Firmware you can find here: https://github.com/WAGO/pfc-firmware
- Docker IPKG you can find here: https://github.com/WAGO/docker-ipk
- Microsoft Azure Account

## Create an Iot-Hub, add iot edge device and deviceDeploy your first IoT Edge Module:
https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

Please go through the following points:
- Create an IoT Hub.
- Register an IoT Edge device to your IoT hub.
- The section "Configure your IoT Edge device" can be completely ignored.
- Remotely deploy a SimulatedTemperatureSensor module to an IoT Edge device.

> Attention: To prevent port "443" clashing of "edgeHub" container and of Wago Webserver, it is absolutely necessary to change the "HostBindings". You can use any free host ports.
Navigate to Azure Portal-> Your Edge Device-> Set modules on device->Runtime Settings




AdvanceEdgeSettings

## Configuration and start of azure iot edge runtime container.

The configuration of azure-iot-edge-runtime container is done via the config.yaml file.
This file is generated by the command below into the empty mounted folder.

```bash
docker run --rm -v /config:/config wagoautomation/azure-iot-edge init
```
> Attention: The file is read-only and must be made temporary writable for the current user.
>```bash
> chmod 644
> or
> chmod 666
>```

> **Note:**

> Attention there is a discrepancy between the default configuration of azureiotedge-agent in the cloud (currently v1.4) and the configuration in the device. (v1.1).

> If you are not careful, two images are downloaded, which leads to "no space on device" problems.
> The workaround is to keep the configurations the same. e.g. after the

> ```bash
> docker run --rm -v /config:/config wagoautomation/azure-iot-edge init
>```
>, synchronize the configuration manually.
>

Finally, provisioning configurations can be made by editing the corresponding sections in config.yaml (e.g. manual provisioning using connection string or X.509 certificate)
For more details see: https://docs.microsoft.com/en-us/azure/iot-edge/how-to-manual-provision-symmetric-key?tabs=azure-portal%2Clinux

```bash
docker run -d --name azure-iot-edge-runtime \
--restart=unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /config:/config:ro \
wagoautomation/azure-iot-edge
```

After the container start, all deployments defined in Microsoft Azure are automatically downloaded and started.

This may take a few minutes.

With the Docker commands you can track the provisioning process.
```bash
docker images
docker ps
docker logs
```

After all containers have been started, the following Docker command should return the following:
```bash
docker ps --format "table {{.Image}}\t {{.Status}}\t{{.Names}}"
```




docker_ps_format

The "SimulatedTemperatureSensor" module sends "500" simulation messages to your Iot Hub. The telemetry data can be displayed e.g. with a Visual Studio Code extension. (see: https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-toolkit)



Finally, Wago device is ready for azure iot edge module deployment!

Happy IoTing!

## Azure IoT Edge Modbus Module

You need a running Modbus Slave (Server) e.g. Wago Device or Modbus slave Simulator

How to deploy microsoft modbus ingestion module see here:
- https://github.com/Azure/iot-edge-modbus
- https://youtu.be/rZ8kpsomBIU

## Develop a C# IoT Edge module

How to develop your own azure iot edge module see here:
https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-csharp-module