目次

Azure IoT Edge を使用する (Using Azure IoT Edge)



Azure IoT Edge ランタイム導入済み ファームウェア を使用して、MA-X3xx シリーズの機器を Azure IoT Hub に接続してみます。
(English) Connect MA-X3xx series devices to Azure IoT Hub using Azure IoT Edge Runtime Deployed Firmware.

※ 詳細なドキュメントは 対称キーを使用して Linux で IoT Edge デバイスを作成およびプロビジョニングする - Microsoft を参照してください。
※ (English) For detailed documentation, see Create and provision an IoT Edge device on Linux using symmetric keys - Microsoft



Step 1:Prerequisites

作業を始める前に、以下のものを用意してください

(English) You should have the following items ready before beginning the process:


Step 2:Prepare your Device

2.1 ファームウェアをダウンロードする

(English) 2.1: Download the firmware.

Azure IoT Edge ランタイム導入済み ファームウェア からファームウェアをダウンロードし、MA-X3xx にインストールして再起動しておきます。
(English) Download the firmware from the Azure IoT Edge Runtime Deployed Firmware , install it on the MA-X3xx and reboot.

2.2 ファームウェアのインストール、再起動

(English) 2.2: Firmware installation and restart

sftpなどでファームウェアを実機に転送するなどして、ファイルを準備します。 root権限で “firmup” コマンドを実行します。

(English) Prepare the files by transferring the firmware to the actual device by sftp or other means.Execute the “firmup” command as root.

root@plum:~# firmup /tmp/firmware.img 
### MA-E3xx series firmware update utility (for 2-area firmware).
Updating AREA: 0 ...
* image file for kernel found.
  writing "kernel" image to /dev/mtdblock2 ... succeeded.
* image file for kmod found.
  writing "kmod" image to /dev/mtdblock6 ... succeeded.
* image file for initramfs found.
  writing "initramfs" image to /dev/mtdblock4 ... succeeded.
* image file for rootfs found.
  writing "rootfs" image to /dev/mtdblock8 ... succeeded.
* DTB file found.
  writing "dtb" image to /dev/mtd15 ... succeeded.
* Bootloader file found.
  writing "barebox.bin" image to /dev/mtd13 ... succeeded.
Succeeded.


※ アカウントがいろいろと追加されるため、アカウントの追加など作業をしていた環境にインストールした場合、オーバーレイ領域を初期化しておくほうが無難です。
※ (English) Since various accounts are added, it is safer to initialize the overlay area if it is installed in an environment where work was being done to add accounts.

2.3 ネットワーク設定

(English) 2.3 Network Configuration

Azure に接続可能なように、適宜ネットワークの設定(デフォルトゲートウェイ、DNS など) を設定しておきます。
(English) Configure network settings (default gateway, DNS, etc.) as appropriate to enable connection to Azure.

MA-X3xx シリーズのEthernet を利用する場合の設定画面です。
(English) This is the setting screen when using Ethernet for the MA-X3xx series.


MA-X3xx シリーズのLTE Module を利用する場合の設定画面です。
(English) This is the setting screen when using the LTE Module of MA-X3xx series.

LTE 設定画面



Step 3: Manual Test for Azure IoT Edge on device

3.1: Register your device

Azure Portal にサインインして、IoT Hub に移動します。
(English) Sign in to Azure Portal and navigate to IoT Hub.

Azure Portal - モノのインターネット

IoT Hub


接続する IoT Hub を選択して、メニューから [デバイス] を選択し、デバイスの追加 をクリックします。
(English) Select the IoT Hub you wish to connect to, select Devices from the menu, and click Add Device.



デバイスの作成 のページで、次の情報を入力します。

1.デバイスID (任意の名称、今回の例では ma-x3xx-01 としてみます)
2.IoT Edge デバイス のチェックボックスをオンにします。
3.『認証の種類』として 対象キー を選択します。
4.設定できたら 保存 をクリックします。

(English) On the Create Device page, enter the following information

1.(English) Device ID (arbitrary name, let's use ma-x3xx-01 in this example)
2.(English) Check the IoT Edge Device checkbox.
3.(English) Select the Symmetric key as the “Authentication Type”.
4.(English) When you are done, click Save.


追加されました。
(English) Added.


3.2: Obtaining provisioning information

デバイスを設定する準備ができたら、デバイスを IoT ハブ内でのその ID にリンクする接続文字列が必要です。
対称キーを使用して認証を行うデバイスでは、接続文字列をポータルでコピーできます。
(English) When you are ready to configure a device, you will need a connection string that links the device to its identity within the IoT hub.
(English) For devices that authenticate using symmetric keys, the connection string can be copied on the portal.

デバイス ページで、一覧から デバイス ID を選択します。
(English) On the Device page, select a Device ID from the list.


プライマリ接続文字列 または セカンダリ接続文字列 のどちらかの値をコピーします。
※ どちらのキーも機能します。
(English) Copy the value of either the primary or secondary connection string.
※(English) Both keys work.


3.3: Device Provisioning

MA-X3xx デバイスにログインし、先ほどコピーした 接続文字列 を適用します。
(English) Log in to the MA-X3xx device and apply the connection string you just copied.

user1@metis:~$ sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'


構成の変更を適用します。
(English) Apply configuration changes.

user1@metis:~$ sudo iotedge config apply


3.4: Checking the connection status

IoT Edge デバイスにランタイムが正常にインストールされ、構成されていることを確認します。
(English) Verify that the runtime has been successfully installed and configured on the IoT Edge device.

user1@metis:~$ sudo iotedge system status


3.5: Check in Azure Portal

Azure ポータル上で接続状態を確認します。正常に接続されると、下記のようになります。
接続完了直後は Iot Edge ランタイムの応答 は 「417 – デバイスのデプロイ構成が設定されていません」 となり、モジュールは \$edgeAgent のみ動作している状態になります。
(English) Check the connection status on the Azure portal. If the connection is successful, it will look like the following
(English) Immediately after the connection is completed, the Iot Edge Runtime Response will be “417 – \$edgeAgent.


3.6: operation test

サンプルモジュール “Sumulated Temperature Sensor” をデバイスにデプロイして、動作確認を行います。
(English) Deploy the sample module “Sumulated Temperature Sensor “ on the device and check its operation.

Deploying Sample Modules

モジュールを設定する をクリックします。
(English) Click Set Modules.


+ 追加 をクリックし、プルダウンのリストから Marketplace モジュール を選択します。
(English) Click +Add and select the Marketplace module.


Marketplace のモジュールから Simulated Temperature Sensor を選択して追加します。
(English) Select Simulated Temperature Sensor from the Marketplace modules to add.


モジュール設定の画面に戻るので、確認及び作成 ボタンをクリックします。
(English) Click the Review + create button.


JSON で記述されたデプロイ設定画面が表示されますので、作成 ボタンをクリックします。
(English) Click the Create button on the Deploy Configuration screen described in JSON.


Confirmation of operational status

デプロイを実行すると、デバイスのページに戻ります。
しばらくして 最新の情報に更新 をクリックして状態を更新すると、『IoT Edge ランタイムの応答』 が “200 – OK” になり、\$edgeHubSimulatedTemperatureSendor モジュールが追加され、”running” になっていることが確認できます。
(English) Once deployed, you will be returned to the device page.
(English) After a while, click Update to refresh the status, and you will see that the “IoT Edge Runtime Response” is “200 – OK” and that the \$edgeHub and SimulatedTemperatureSendor modules have been added and are “running”. The “Runtime Response” is “200 – OK”.