OpenBlocks IoTの設定

0. はじめに

OpenBlocks IoT の設定には、次の6つの作業があります。

  1. OpenBlocksの初期設定
  2. IoTデータ制御パッケージのインストール
  3. BLEデバイスの登録
  4. モジュールの起動制御
  5. 証明書のアップロード
  6. 送受信設定

また、本チュートリアルには次の機材が用いられています。

1. OpenBlocksの初期設定

  1. WEB-UIを使うスタートアップについてはWEB-UI接続準備をご覧下さい。
  2. OpenBlocksのFW(Frame Work)をLinuxコンピュータとして動作させるための必要最小限の設定については初期設定をご覧下さい。

2. IoTデータ制御パッケージのインストール

OpenBlocks では、デバイスからメッセージを受け取りクラウドに送信する一連のサービスをIoTデータ制御パッケージとして提供しています。
IoTデータ制御パッケージをインストールしていない場合は、 メンテナンス⇒機能拡張タブからインストールします。

機能拡張

  1. インストール機能ペインのプルダウンメニューでIoTデータ制御を選択します。
  2. 実行ボタンをクリックします。
  3. インストールが完了したら、メンテナンス⇒停止・再起動タブから OpenBlocks を再起動します。

インストール状況の確認方法など詳しくは、サービスの追加をご覧下さい。

3. BLEデバイスの登録

OpenBlocks では、複数の様々なデバイスを扱うため使用するデバイスを登録し、デバイス番号ローカル名)を割り振る必要があります。
WEB-UIで設定を行う限り、デバイス番号の割り振りはWEB-UIにより自動的に行われるため、ユーザーがその採番を意識する必要はありませんが、 データ処理のカスタマイズを行う場合などに必要となる事項です。

Dev登録⇒BLE登録タブにて、チュートリアルで使用するオムロン環境センサ USB型(2JCIE-BU)のデバイス登録を行います。
上の黒いタブ列にDev登録タブが表示されていない場合は、サービスタブにあるデバイス登録機能のリンクをクリックして下さい。

BLE登録

BLEデバイス検出ペインの検出ボタンをクリックします。

BLEデバイスの検出を終えるとBLEデバイス検出ペインに検出したBLEデバイスの一覧が表示されます。

BLE登録

  1. BLEデバイス検出ペインの一覧からDevice Addressが使用するオムロン環境センサ USB型(2JCIE-BU)のアドレスと一致するものを選択(使用設定チェックボックをチェック)します。 オムロン環境センサ USB型(2JCIE-BU)のアドレスは本体付属の貼り付けシールに記載されています。
  2. LuaプロファイルフィールドにOMRON_ENVIRONMENT_USBと入力します。
  3. ユーザーメモフィールドにはユーザーがデバイスを識別するための適当な文字列を入力して下さい。 チュートリアルでは2JCIE-BL01としています。
  4. 保存ボタンをクリックします。

登録したデバイスは、一覧ペインに表示されます。

なお、設定可能なLuaプロファイルについては 対応センサーリスト をご覧下さい。

BLE登録

オムロン環境センサ USB型(2JCIE-BU)のGATTモードは未サポートであるため、ペアリングを行う必要はありません。

デバイス登録についての詳細は、デバイス登録機能をご覧下さい。

4. モジュールの起動制御

IoTデータ⇒モジュール設定タブにて、IoTデータの送受信に用いるモジュールの起動制御を行います。
上の黒いタブ列にIoTデータタブが表示されていない場合は、サービスタブにあるIoTデータのリンクをクリックして下さい。

チュートリアルでは、EnUceanデバイスからデータを受け取るPD Handler BLEとクラウドへデータを送信するPD Repeater使用するに設定します。

アプリ起動制御

左上のデフォルト使用モジュール表示チェックボッククスをクリックします。
デフォルトモジュール起動制御ペインが表示されます。

4-1. デフォルトモジュール起動制御の設定

デフォルトアプリ起動制御

  1. デフォルトモジュール起動制御ペインのPD Repeater使用するに設定します。
  2. デフォルトモジュール起動制御ペインのPD Handler BLE使用するに設定します。

4-2. モジュール起動制御の設定

モジュール起動制御

  1. モジュール起動制御ペインのPD Repeater使用するに設定します。
  2. モジュール起動制御ペインのPD Handler BLE使用するに設定します。

4-3. 設定の保存

設定を完了したら、画面左下の保存ボタンをクリックし設定を保存します。

モジュールの起動制御についての詳細は、モジュール設定をご覧下さい。

5. 証明書のアップロード

証明書のダウンロードでダウンロードした次のファイルを OpenBlocks へアップロードします。

  • デバイス証明書 (<32bitのハッシュコード>-certificate.pem.crt)
  • プライベートキー (<32bitのハッシュコード>-private.pem.key)
  • ルート CA 証明書 (AmazonRootCA1.pem)

ここで <32bitのハッシュコード>とは64文字の16進数です。
(e.g. 3c7ad3354f92e942aa6928a64c68604255bc36580345527dbecd37818ea46012)

ファイルのアップロードは、システム⇒ファイル管理タブにて行います。
上の黒いタブ列にファイル管理タブが表示されていない場合は、ダッシュボートタブをクリックして下さい。

5-1. アップロード先サブディレクトリの作成

チュートリアルではデバイスを1しか登録しないため意味の無い作業に思われるかも知れませんが、 複数のデバイスを接続し管理して行く上でデバイス証明書はデバイス番号毎にサブディレクトリを設け振り分けて置くことをお勧めします。

システム⇒ファイル管理タブの作成ペインにてサブディレクトリを作成します。

ファイル管理

  1. 新規ディレクトリ生成フィールドに ./awsiot/beldev_0000001と入力します。
  2. 作成ボタンをクリックします。

ここで、bledev_0000001BLEデバイスの登録で割り振られたデバイス番号です。

5-2. ファイルのアップロード

システム⇒ファイル管理タブアップロードペインにてファイルをアップロードします。

ファイル管理

  1. アップロードプレフィックスパス入力フィールドに ./awsiotと入力します。
  2. ファイル選択にて AmazonRootCA1.pem を選択します。
  3. アップロードボタンをクリックします。
  4. アップロードプレフィックスパス入力フィールドに ./awsiot/bledev_0000001と入力します。
  5. ファイル選択にて <32bitのハッシュコード>-certificate.pem.crtを選択します。
  6. アップロードボタンをクリックします。
  7. アップロードプレフィックスパス入力フィールドに ./awsiot/bledev_0000001と入力します。
  8. ファイル選択にて <32bitのハッシュコード>-private.pem.keyを選択します。
  9. アップロードボタンをクリックします。

アップロードが完了したらファイル管理ペインのawsiot/bledev_0000001フォルダアイコンをクリックします。 awsiot/userdev_0000001フォルダ内のファイルが表示されます。

ファイル管理

アップロードされたファイルのOpenBlocks上のパス名は次の通りです。

  • /var/webui/upload_dir/awsiot/AmazonRootCA1.pem
  • /var/webui/upload_dir/awsiot/bledev_0000001/<32bitのハッシュコード>-certificate.pem.crt
  • /var/webui/upload_dir/awsiot/bledev_0000001/<32bitのハッシュコード>-private.pem.key

ファイルの管理機能についての詳細は、ファイル管理をご覧下さい。

6. 送受信設定

User デバイスからデータ受け、AWS IoT Core へ送るためのパラメタの設定を行います。

チュートリアルではPD Handler BLEPD Repeaterの2つのモジュールを用いており、PD Handler BLEがデバイス寄り、PD Repeaterがクラウド寄りの処理を行います。
ここで、PD Handler BLEに必要となる設定パラメータはデバイス単位のものだけですが、クラウドサービスの多くがデバイス単位での接続を基調としているため、PD Repeaterにはクラウド単位とデバイス単位の双方のパラメタが必要となります。
このため、OpenBlocks の WEB-UI はPD Handler BLEPD Repeaterの双方に関わるデバイス単位のパラメータをシームレスに扱えるよう構成されており、行う作業も次の2つに大別されます。

  1. 送受信設定 : デバイスに依存しない送受信先クラウドの設定
  2. BLEデバイス設定(ユーザー定義) : デバイスに依存した設定

6-1. 送受信設定

IoTデータ⇒送受信設定タブの送受信設定ペインにてデバイスに依存しない送受信先クラウドの設定を行います。
上の黒いタブ列にIoTデータタブが表示されていない場合は、サービスタブにあるIoTデータのリンクをクリックして下さい。

送受信設定

  1. AWS IoT(awsiot)使用するに設定します。
    設定項目が表示されます。
  2. 送信先ホスト入力フィールドにデバイスデータエンドポイントの取得で取得したエンドポイントを入力します。
  3. ルート証明書入力フィールドに証明書のアップロードでアップロードしたルート CA 証明書のパス名 /var/webui/upload_dir/awsiot/AmazonRootCA1.pemを入力します。

その他の設定項目の詳細は、AWS IoT(awsiot)をご覧下さい。

6-2. BLEデバイス設定

IoTデータ⇒送受信設定タブのBLEデバイス設定ペインにてデバイスに依存した設定を行います。
上の黒いタブ列にIoTデータタブが表示されていない場合は、サービスタブにあるIoTデータのリンクをクリックして下さい。

BLEデバイス設定

デバイス番号 bledev_0000001使用するに設定します。
bledev_0000001BLEデバイスの登録で割り振られたデバイス番号です。

設定項目が表示されます。

BLEデバイス設定

  1. 送受信設定にてawsiotチェックボックスをチェックします。
    AWS IoT Coreに関わる設定項目が表示されます。
  2. トピック(awsiot) はWEB-UIのデフォルト値 tx_<BLE Address> のままで構いませんが、MQTTテストクライアントによる確認で用いますので覚えやすい文字列にしておくと良いでしょう。
    ここで <BLE Address> は、12文字の16進数です。(e.g. c15a862f7994)
  3. 証明書(awsiot)入力フィールドに証明書のアップロードでアップロードしたデバイス証明書のパス名 /var/webui/upload_dir/awsiot/bledev_0000001/<32bitのハッシュコード>-certificate.pem.crtを入力します。
  4. プライベートキー(awsiot)入力フィールドに証明書のアップロードでアップロードしたプライベートキーのパス名 /var/webui/upload_dir/awsiot/bledev_0000001/<32bitのハッシュコード>-private.pem.keyを入力します。

その他の設定項目の詳細は、BLEデバイス設定並びにAWS IoT(awsiot)をご覧下さい。

6-3. 設定の保存

設定を完了したら、画面左下の保存ボタンをクリックし設定を保存します。