R-Car/Boards/Yocto-Gen3/Azure IoT Edge/v5.5.0

はじめに
このページは、 R-Car にて Azure IoT Hub を使用するための、Yocto環境の構築および実行手順を記載している.

環境

 * ホストPC
 * Windows10 (64bit)
 * ビルドPC
 * 確認済みボード

Azure のセットアップ

 * 1) Azure アカウント作成
 * 下記を参考に Azure アカウントを作成する.
 * https://azure.microsoft.com/en-us/free/
 * 1) Azure IoT Hub 作成
 * 下記を参考に Azure IoT Hub を作成する.
 * https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-create-through-portal#create-an-iot-hub
 * 1) Azure Device 登録
 * https://portal.azure.com/
 * 上記にアクセスして作成した IoT Hub を選択する.
 * サイドメニューの「デバイス管理」の「IoT Edge」→「+ IoT Edge デバイスの追加」を押下する.
 * Azure-device-1.png
 * 「デバイスID」に任意の名前を設定し、他は変更せずに「保存」を押下する.
 * Azure-device-2.png
 * サイドメニューの「デバイス管理」の「IoT Edge」で、作成したデバイスIDを押下して「プライマリ接続文字列」を確認する.
 * プライマリ接続文字列は、ビルド手順にてlocal.conf内にある「IOTEDGE_DEVICE_CONNECTION_STRING」に使用する.
 * Azure-device-3.png
 * 1) Azure モジュールの追加
 * 下記を参考に Simulated Temperature Sensor モジュールを追加する.
 * https://docs.microsoft.com/ja-jp/azure/iot-edge/quickstart-linux?view=iotedge-2018-06#deploy-a-module

ビルド手順

 * 1) 事前準備(パッケージのインストール)
 * 2) gitの設定
 * 3) ビルドスクリプトを任意のディレクトリに作成
 * ※ビルドスクリプトはボードにCCPFが付いている場合とついていない場合で違うため、注意すること
 * H3SK / M3SK の場合の build.sh
 * CCPF+H3SK / CCPF+M3SK の場合の build.sh
 * 1) ビルドスクリプトを実行
 * ※ 
 * R-Car Starter Kit Premier (H3) : "h3ulcb"
 * R-Car Starter Kit Pro (M3)    : "m3ulcb"
 * 1) Azure IoT Edge Device の接続文字列を記載
 * ※<プライマリ接続文字列>に、スラッシュ'/' が含まれる場合は、'\/' とエスケープする必要あり.
 * 1) ビルド実行
 * イメージのビルドは、ホストシステムの性能によっては数時間かかることがある.
 * ビルドが正常に完了すると、以下のような出力が表示される.
 * 1) ビルド生成物
 * bitbake を実行して生成されたファイルは以下に格納される
 * /build/tmp/deploy/images//
 * 1) イメージを SD カードに書き込む
 * SDカードにイメージを書き込む方法は、Loading kernel and rootfs via eMMC/SD cardを参照.
 * ※上記の例はイメージが"weston"のため、"minimal"に置き換えることに注意すること
 * ビルドが正常に完了すると、以下のような出力が表示される.
 * 1) ビルド生成物
 * bitbake を実行して生成されたファイルは以下に格納される
 * /build/tmp/deploy/images//
 * 1) イメージを SD カードに書き込む
 * SDカードにイメージを書き込む方法は、Loading kernel and rootfs via eMMC/SD cardを参照.
 * ※上記の例はイメージが"weston"のため、"minimal"に置き換えることに注意すること
 * ※上記の例はイメージが"weston"のため、"minimal"に置き換えることに注意すること

動作手順

 * 1) R-Car SK の起動
 * R-Car SK に uSD カードを挿入して、LANケーブルを接続する.
 * USB デバッグシリアルケーブルを PC と接続して、AC 電源を投入する.
 * PC 側では、ターミナルソフトを起動して、シリアル接続を行う.
 * 電源 ON は R-Car SK の POWER SW(SW8) を押下する.
 * CCPFが付いている場合は、CCPF基板のPOWER SW(SW4)を押下する.
 * 1) SD ブートを U-Boot で設定
 * SDブートの設定方法は、Configure U-Boot to boot from SD cardを参照.
 * 1) IoT Edge Device の動作確認
 * 端末側でiotedge daemon Active となっていることを確認
 * Azure-status-no-page.png
 * 端末側でモジュールがデプロイされ running 状態になっていることを確認
 * Azure-list.png
 * 1) Azure IoT Explorer で端末からメッセージが送信されていることを確認
 * ・Azure IoT Explorer をダウンロード / インストール
 * 下記サイトからインストーラーをダウンロードする.
 * https://github.com/Azure/azure-iot-explorer/releases
 * ※最新版のAzure.IoT.Explorer.preview.0.14.7 では、テレメトリが受信できなかったため、 Azure.IoT.Explorer.preview.0.14.1 を使用
 * ・Azure IoT Explorer を起動する
 * ・IoT Hub の iothubowner 接続文字列を取得する
 * Azure ポータルの「IoT Hub」→ 作成した IoT Hub を選択し、サイドメニューから「共有アクセスポリシー」→「iothubowner」→「プライマリ接続文字列」をコピーする.
 * Azure-iot-exp-1.png
 * ・IoT Hub を IoT Explorer に登録する
 * Azure IoT Explorerのサイドメニューから「IoT hubs」を選択し、「+ Add connection」を押下する.
 * 「Connection string」に上記でコピーした「iothubowner 接続文字列」をペーストして、「Save」を押下する.
 * ・テレメトリを確認する
 * サイドメニューの「Telemetry」を選択して、「Start」を押下する.
 * Azure-iot-exp-2.png
 * しばらくすると以下のようにテレメトリが表示される.
 * Azure-iot-exp-3.png
 * しばらくすると以下のようにテレメトリが表示される.
 * Azure-iot-exp-3.png
 * Azure-iot-exp-3.png