IoTGateway/IoTEdge
Contents
Installation
We use EPC-R3220 as an example.
- Version: R3220A1AIM20UIV20003_am335x_2020-04-13
- OS: Ubuntu 18.04
- Kernel: 4.14.79
Moby
To install Moby-engine for Arm platforms.
$ curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list $ sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/ $ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg $ sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/ $ sudo apt-get update $ sudo apt-get install moby-engine
IoT Edge
Install the latest stable version.
$ sudo apt-get install iotedge
Or, you can get the specific version and install maunally, e.g. we have 1.0.9 currently.
$ wget https://github.com/Azure/azure-iotedge/releases/download/1.0.9/iotedge_1.0.9-1_ubuntu16.04_armhf.deb $ wget https://github.com/Azure/azure-iotedge/releases/download/1.0.9/libiothsm-std_1.0.9-1_ubuntu16.04_armhf.deb $ sudo dpkg -i *.deb
Once it's done, you can get the iotedge version correctly.
$ iotedge --version iotedge 1.0.9
Configuration & Deployment
For Azure configurations, please refer to [1] for details. You can learn how to create a IoT hub and register an IoT Edge device.
To fix DNS check error, add DNS settings for Docker.
$ vim /etc/docker/daemon.json { "dns": ["8.8.8.8"] } $ sudo systemctl restart docker
Provisioning
To manually provision a device, you need to provide it with a device connection string that you can create by registering a new device in your IoT hub.
$ cd /etc/iotedge $ sudo chmod 666 config.yaml $ sudo vim config.yaml provisioning: source: "manual" device_connection_string: "HostName=pnptest.azure-devices.net;DeviceId=XXX;SharedAccessKey=dgls932Y/ej8/quF+b+Kg/Bbd4V+PaQOc54upbO/09c="
Then, run the commands below to make sure iot Edge device is running well.
$ sudo systemctl restart iotedge
$ systemctl status iotedge
· iotedge.service - Azure IoT Edge daemon
Loaded: loaded (/lib/systemd/system/iotedge.service; enabled; vendor preset:
Active: active (running)
$ sudo iotedge list
NAME STATUS DESCRIPTION CONFIG
edgeAgent running Up 30 seconds mcr.microsoft.com/azureiotedge-agent:1.0
You are able to see the device is connected on Azure as well.
Deploy
To deploy a module into IoT Edge device, please refer to [3] for details.