注意
Pelion社のDevice Managementサービスは、IZUMA NETWORKSに買収されました。
https://www.izumanetworks.com/press/releases/10-4-22/
この記事は、旧Pelion Device Managementサービス上でのみ動作確認を行った時の内容なので、現在のサービスでは動作しない可能性があります。ご了承ください。
Plelion Device Managementは、Arm社が提供しているPelion IoT Platformを構成するサービスの一つで、IoTデバイスをセキュアに管理する事が出来ます。
無償で利用可能な評価用のアカウントも用意されています。このドキュメントでは、Mbed OSが動作するデバイスとPelion Device Managementサービスの使い方を紹介します。Mbed OSデバイス側のプログラムのビルドには、Mbed Studioを使用します。
Pelion Device Management の概要はこちらをご覧下さい。
https://www.pelion.com/iot-device-management/
準備
- Mbed開発サイト(os.mbed.com)のアカウント
- Mbed OS対応デバイス(ST NUCLEO-F429ZIでの使用例を説明します)
- Ethernetケーブル
- Mbed Studio IDE
Mbed開発サイトのアカウント取得
ここでは、Mbed OSデバイスとPelion Device Managementサービスを使用する方法を説明するので、最初にMbed開発サイトのアカウントが必要です。アカウントを取得していない場合は、こちらをご覧下さい。
Mbed Studioのインストール
以下のURLから、使用するホストPCに対応したMbed Studioをインストールします。
https://os.mbed.com/studio/
Pelion Portal Account の取得とサービス利用準備
クラウドサービスのアカウントは、評価用として機能制限付きの無償版アカウントが用意されています。
自分のアカウントのコンソールの中にある、Pelion Device ManagementからLearn how to connect
と書かれている黄色のボタンを押します。
画面が切り替わるので、Activate your free access
ボタンを押します。
以下の画面から、Activate Pelion Device Management account
ボタンを押します。
自分のアカウントのコンソールに以下の項目が表示されていれば、準備完了です。
portal
ボタンを押して、Pelion Device Management のポータルサイトにアクセスします。
初回アクセス時はライセンス条項への同意が必要になります。
APIキーの生成
ポータルサイトにアクセス出来たので、自分のアカウントで利用するAPIキーを生成します。以下のURLにアクセスするか、左側のメニューから[Access management]-[API keys]を選択します。
https://portal.mbedcloud.com/access/keys
画面右上の+ New API Key
ボタンをクリックします。
Create API Keyダイアログが開きます。API Key name
の部分に任意の名前を設定します。Groupは、Administratorsを指定してください。Create API Key
ボタンを押して、APIキーを生成します。
【注意】 ここで生成されたAPIキー(ak_で始まる文字列)は必ず、コピーして値を保存しておいてください。セキュリティの関係上、ポータルサイトからAPIキーの値は二度と取得できなくなります。もし、APIキーの値を紛失してしまった場合は、新しくキーを生成してください。
デバイス側サンプルプログラムの作成
Pelion Device Management サービスをMbed OS 対応デバイスで使用するには、以下のクイックスタートガイドの手順に従って設定を行います。
https://os.mbed.com/guides/connect-device-to-pelion/
クイックスタートガイドには、動作確認済みのサンプルプログラムが用意されています。このサンプルをインポートして自分のアカウント用の設定を行うだけで、Pelion Device Managementサービスを簡単に体験することが出来ます。クイックスタートガイドで説明している内容は、MbedオンラインIDEを使用する方法ですが、このドキュメントではローカル環境で使用可能なMbed Studioで同じサンプルプログラムをビルドしてみます。
サンプルプログラムのインポートと設定
NUCLEO-F429ZIボードをEthernet接続で使用する手順を説明します。
次に、メニュー[File]-[Import Program...]を選択し表示されたダイアログに以下のリンクを入力します。
https://github.com/ARMmbed/mbed-os-example-pelion
Add Program
ボタンを押してプログラムをインポートします。回線の状態によってはインポートに時間がかかるときがあります。画面右下のBackground Task表示が消えるまでお待ちください。
インポートされたサンプルプログラムのリストをクリックすると、使用しているソースファイル等の内容が表示されます。
次にサービスへの接続とファームウェアアップデート用に必要な開発者証明書をAPIキーを使ってインストールします。
画面左側の雲形のアイコンをクリックします。続いて、Pelion Device Managementの右上の歯車アイコンを押してAPIキーを入力します。
API Key
の部分に、ポータルから生成したAPIキーの値をペーストして、Save
ボタンを押します。
次に開発者証明書を選択します。Connect certificate
をから開発者証明書を選択します。Enable remote firmware update
チェックボックスを有効にします。Done
ボタンを押して、ダイアログを閉じます。これで、開発証明書のデータがプロジェクトに追加されます。
これでデバイス側のプロジェクトの設定は終わりです。
サンプルプログラムのビルド
続いて、このサンプルプログラムをビルドします。USBケーブルでホストPCとNUCLEO-F429ZIボードを接続します。使用するUSBポートは、以下の写真を参考にしてください。
ボードを接続すると、Mbed Studioがボードを認識します。問題なければYes
をクリックします。後からTarget
のドロップダウンリストから選択することも可能です。
検出されたターゲットボードが有効になりました。また、ビルド、実行、デバッグのアイコンも有効になりました。
サンプルプログラムをビルドするには、ビルド用のアイコン(かなづちのマーク)をクリックします。Terminalウィンドウにビルドの進捗が表示されます。最後にImageのファイル名が表示されたら、ビルドは成功です。
エラーが表示された場合は、証明書のインストール方法の部分を再度確認してください。
サンプルコードの実行
EthernetケーブルをNUCLEO-F429ZIボードのRJ45コネクタに接続します。デバイス上で実行されたプログラムのログ出力は、Mbed Studioから確認することが出来ます。
Run Program
ボタンを押すとビルドされたコードがターゲットボードに書き込まれます。書き込まれた後は自動的にリセットされプログラムが実行開始されます。
シリアルコンソールのBaud rate
は、115200に設定します。
以下のようなシリアル出力ログが表示されます。Account ID
やEndpoint name
が表示されれば、プログラムは正常に動作しています。
このサンプルコードでは、5秒ごとにインクリメントされたカウンタの値を表示し、Pelion Device Managementサービスに値をアップデートします。
Mbed Bootloader
No Update image
[DBG ] Active firmware up-to-date
booting...
�pApplication ready
Connect to network
Network initialized, connected with IP 192.168.11.31
Start developer flow
Create resources
Register Pelion Device Management Client
Counter 1
Counter 2
Client registered.
Account ID: 0XXXXXXXXXXXXXXXXbed413400000000
Endpoint name: 0XXXXXXXX726000000000001001db73c
Device ID: 0XXXXXXXX726000000000001001db73c
Counter 3
Counter 4
Counter 5
ポータルサイトでの確認
ポータルサイト側からデバイスが正常に登録されているかを確認します。
ポータルサイトにログインします。メニュー [Device directory(デバイスID)] - [Devices(デバイス)] を選択し、デバイスが登録されているのを確認します。登録され、アクセス可能なデバイスは、Status
フィールドに緑色のマークが付いています。
登録されているデバイスをクリックすると、各種情報が表示されます。
[Resources(リソース)] タブをクリックすると、OMA LWM2M仕様に準拠したデバイスのリソースパスが表示されます。
/3200/0/5501
(サンプルコードでカウンター値にとして使用しているDigital Inputに割り当てられたリソース)をクリックします。
/3200/0/5501
をクリックすると、カウントアップされた数値がグラフ化され、5秒毎に値が更新されます。
以上です。
その他の情報
Pelion Device Management を使う【ウェブアプリ編】
https://qiita.com/toyowata/items/936134963c1fc64b4498