6/27にAzure IoT EdgeがGA(一般提供開始)しましたが、なかなかまとまった時間が取れず、、、3週間ほど遅れましたが、動かしてみました。というか、入れてみました程度。
みんな大好きラズパイで試すことにします。
最新はRaspberry Pi Model B+(RasPi3B+)ですが、今回は少しスペックの低いRaspberry Pi Model B(RasPi3B)で。
深い理由があるわけではなく、、、まだRasPi3B+、買っていないものですから。(焦
RasPi3B + Raspbian
いつものように、マイクロSDをSDFormatterでイレースしてから、Win32DiskImagerでRaspbianイメージをマイクロSDに書き込みます。
Raspbianイメージは現時点最新のLite、2018-06-27-raspbian-stretch-lite.imgにしました。
あと、忘れずにbootにsshファイルを作っておきます。 Raspbian起動後、パソコンのTeraTermからSSH接続で操作したいので。
RasPiにマイクロSDを差して起動、無事、TeraTermから接続できました。
この時点のディスク使用量はこちら。
$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 15471088 1072076 13737812 8% / devtmpfs 470116 0 470116 0% /dev tmpfs 474724 0 474724 0% /dev/shm tmpfs 474724 6300 468424 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474724 0 474724 0% /sys/fs/cgroup /dev/mmcblk0p1 43539 22192 21347 51% /boot tmpfs 94944 0 94944 0% /run/user/1000
IoT Edgeランタイムをインストール
最初にやるべきチュートリアルはこちら。クイックスタート。
LinuxとWindowsの2種類あるので、Linuxの方を参照します。
本文にも書かれていますが、IoT Edgeラインタイムをインストールする部分はUbuntu 16.04を想定して書かれています。
RasPiの手順はこちらです。
手順に沿ってコマンドを実行していきましょう。
mobyのエンジンとCLIをインストールします。(CLIは必須ではありません。)
$ curl -L https://aka.ms/moby-engine-armhf-latest -o moby_engine.deb && sudo dpkg -i ./moby_engine.deb $ curl -L https://aka.ms/moby-cli-armhf-latest -o moby_cli.deb && sudo dpkg -i ./moby_cli.deb $ sudo apt-get install -f
次に、IoT Edgeセキュリティデーモンをインストールします。
(これ、Previewのときは無かったような)
$ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb $ sudo apt-get install -f
IoT Edgeランタイムをセットアップ
/etc/iotedge/config.yaml
の<ADD DEVICE CONNECTION STRING HERE>
に、IoT Hubに作成したIoT Edgeの接続文字列(Connection string)を記入して、IoT Edgeセキュリティデーモンを再起動します。
$ sudo vi /etc/iotedge/config.yaml
$ sudo systemctl restart iotedge
この時点のディスク使用量はこちら。
$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 15471088 1328336 13481552 9% / devtmpfs 470116 0 470116 0% /dev tmpfs 474724 0 474724 0% /dev/shm tmpfs 474724 6324 468400 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474724 0 474724 0% /sys/fs/cgroup /dev/mmcblk0p1 43539 22192 21347 51% /boot tmpfs 94944 0 94944 0% /run/user/1000
IoT Edgeランタイムの稼働確認
いくつかのコマンドで、IoT Edgeランタイムの稼働状況を確認することができます。
コマンド | 説明 |
---|---|
systemctl status iotedge | IoT Edgeデーモンの稼働状況 |
sudo iotedge list | 稼働しているIoT Edgeモジュールの一覧 |
sudo iotedge logs edgeAgent | IoT Edgeエージェントのログ表示 |
従来の(?)、Dockerコマンドも使えます。
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ffca46f992c6 mcr.microsoft.com/azureiotedge-agent:1.0 "/bin/sh -c 'echo \"$…" 7 minutes ago Up 7 minutes edgeAgent $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE mcr.microsoft.com/azureiotedge-agent 1.0 b4496705558b 2 weeks ago 229MB