Difference between revisions of "IoTGateway/IoTEdge"
Daniel.hung (talk | contribs) (Created page with "= Installation = == Moby == == IoT Edge == = Verification & Deployment = == Provisioning == == Deploy == = References = *[1] [https://docs.microsoft.com/en-us/azur...") |
Daniel.hung (talk | contribs) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Installation = | = Installation = | ||
+ | |||
+ | We use [http://ess-wiki.advantech.com.tw/view/Yocto_Linux_BSP_Ver.4_User_Guide_for_AM57xx/AM335x_series EPC-R3220] as an example. | ||
+ | |||
+ | *Version: ''R3220A1AIM20UIV20003_am335x_2020-04-13'' | ||
+ | *OS: ''Ubuntu 18.04'' | ||
+ | *Kernel: ''4.14.79'' | ||
== Moby == | == Moby == | ||
+ | |||
+ | To install Moby-engine for Arm platforms. | ||
+ | |||
+ | $ curl [https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list 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 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 == | == 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 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 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 [[#References|[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 == | == 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: <span style="color:#00AA00">active (running)</span> | ||
+ | |||
+ | $ 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 == | == Deploy == | ||
+ | |||
+ | To deploy a module into IoT Edge device, please refer to [[#References|[3]]] for details. | ||
+ | |||
+ | |||
= References = | = References = |
Latest revision as of 09:36, 19 May 2020
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.