Thing の初期登録

モバイルアプリと Thing との紐付け方法を決めておく必要があります。この紐付け操作を 初期登録(Onboarding) と呼びます。

サービス全体での初期登録の流れや手順の決定方法の詳細は、機能ガイドの Thing の初期登録 をご覧ください。

Thing の初期登録

ここでは tio_handler_t インスタンスを使用して初期登録する場合を想定してサンプルを掲載します。 tio_updater_t インスタンスを使用する場合は tio_updater_onboard メソッドを使用してください。

/* Define the thing credentials and onboarding options. */
#define VENDOR_THING_ID "nbvadgjhcbn"
#define THING_PASSWORD "123456"
#define THING_TYPE "gas-tank"
#define FIRMWARE_VERSION "1"
#define LAYOUT_POSITION "STANDALONE"
#define THING_PROPERTIES "{}"

/* Onboard the thing. */
tio_code_t result = tio_handler_onboard(
        &handler,
        VENDOR_THING_ID,
        THING_PASSWORD,
        THING_TYPE,
        FIRMWARE_VERSION,
        LAYOUT_POSITION,
        THING_PROPERTIES);
if (result != TIO_ERR_OK) {
  /* Handle the error. */
}

ここでは以下の値を設定しています。

  • &handler:初期化した tio_handler_t インスタンスをポインターで指定します。
  • VENDOR_THING_ID:ベンダーが定義した Thing の ID です。詳細は こちら をご覧ください。
  • THING_PASSWORD:Thing のパスワードです。Thing Interaction Framework 上に登録された Thing の領域をセキュアにするため、Thing ごとに異なるパスワードを設定するのが基本です。
  • THING_TYPE:Thing タイプです。Thing 機能の登録 で登録した Thing タイプを指定します。
  • FIRMWARE_VERSION: Thing のファームウェアバージョンです。Thing 機能の登録 で登録したファームウェアバージョンを登録します。
  • LAYOUT_POSITION: Thing のレイアウトポジションです。STANDALONEGATEWAYENDNODE のいずれかの値を取ります。詳しくは ゲートウェイとエンドノード をご覧ください。
  • THING_PROPERTIES:Thing 情報を JSON で指定できます。Kii Cloud SDK を併用する場合に利用する項目のため、ここでは空の JSON を指定します。併用しない場合は NULL を指定しても問題ありません。

登録情報の取得

登録に成功したあとは登録情報 kii_author_t を取得することが可能です。この登録情報は各 tio インスタンスで共用することが出来ます。

const kii_author_t* author = tio_handler_get_author(&handler);
const kii_author_t* author = tio_updater_get_author(&updater);

取得した登録情報は ステートのアップロードと確認コマンドの実行 で使用します。