IoTGateway/IoTEdge

From ESS-WIKI
Revision as of 04:34, 18 May 2020 by Daniel.hung (talk | contribs)
Jump to: navigation, search

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 based on the Docker document.

$ sudo apt-get update
$ sudo apt-get install lsb-release curl gpg \
       apt-transport-https \
       ca-certificates \
       curl \
       gnupg-agent \
       software-properties-common

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

$ sudo add-apt-repository \
       "deb [arch=armhf] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"

$ sudo apt-get update
$ sudo apt-get install moby-engine moby-cli

IoT Edge

Get the latest stable 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.

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=DanielTTest;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.


References