IoT Platform はリモート設定機能を提供します。これにより、デバイスが稼働中にデバイス設定をオンラインで更新することができます。

前提条件

  • IoT Platform コンソールでリモート設定機能を有効にしていること。 この機能を有効にしていない場合は、IoT Platform コンソールへログインし、左側のナビゲーションウィンドウで、[メンテナンス] > [リモート設定] をクリックします。 次に、[サービスを有効にする] をクリックします。
  • リモート設定機能をサポートするようにデバイス SDK を設定していること。 デバイス SDK で、FEATURE_SERVICE_OTA_ENABLED = y を定義していること。 SDK は、COTA (Config Over The Air) などのリモート設定を初期化するために、linkkit_cota_init API を提供します。

リモート設定機能の紹介

開発者は、システムパラメータ、ネットワークパラメータ、デバイスのセキュリティポリシーなどのデバイス設定を更新する必要があります。 通常、デバイス設定はファームウェアの更新機能を使用して更新されます。 しかし、ファームウェアの更新では、ファームウェアのバージョンのメンテナンスに時間がかかり、デバイスは更新をインストールするためにサービスを停止する必要があります。 デバイス設定更新プロセスを効率化するために、IoT Platform はリモート設定機能を提供します。 この機能により、サービスを中断することなく設定の更新を完了することができます。

リモート設定機能では、以下の操作ができます。

  • リモート設定を有効 / 無効にします。
  • IoT Platform コンソールで設定ファイルを編集してバージョン管理を実行します。
  • プロダクトのすべてのデバイスの設定情報を一度に更新します。
  • デバイスが IoT Platform から設定更新のリクエストを送信できるようにします。

リモート設定フローチャート:



リモート設定に関連するプロセスには、以下の機能が含まれます。

  • IoT Platform コンソールで設定ファイルを編集して保存します。
  • IoT Platform コンソールでプロダクトのすべてのデバイスに設定の更新をプッシュします。 その後、デバイスは更新リクエストを受信するとすぐに設定を更新します。
  • デバイスはまた、IoT Platform から設定更新のリクエストが送信され、設定情報を受信したときに更新を実行することもできます。

リモート設定機能の使用

リモート設定機能は、主に 2 つのシナリオ用に設計されています。すなわち、IoT Platform からデバイスに設定の更新をプッシュするか、またはデバイスが設定の更新のリクエストを送信できるようにすることです。 リモート設定機能を使用するプロセスは、シナリオによって異なります。

シナリオ 1: IoT Platform からデバイスに設定情報をプッシュします。

IoT Platform コンソールでは、プロダクト設定の更新をプロダクトのすべてのデバイスにプッシュすることができます。

  1. デバイスを IoT Platform に接続し、トピック /sys/${productKey}/${deviceName}/thing/config/push をサブスクライブするようにデバイスを設定します。
  2. IoT Platform コンソールで、設定ファイルを編集します。
    1. 左側のナビゲーションウィンドウで、[メンテナンス] > [リモート設定] をクリックします。
    2. リモート設定機能の使用対象とするプロダクトを選択して有効にします。

      • 選択したプロダクトのリモート設定機能を有効にした場合にのみ、そのプロダクトの設定テンプレートファイルを編集できます。
      • リモート設定機能が有効になっていないと、本プロダクトのデバイスをこのように更新することはできません。
      • ここで編集した設定テンプレートファイルは、プロダクトのすべてのデバイスで使用されています。 現在、設定ファイルを指定されたデバイスにプッシュすることはできません。
    3. [編集] をクリックし、[設定テンプレート] のエリア内で設定テンプレートを編集します。

      • リモート設定ファイルは JSON ファイルです。 IoT Platform に、設定内容に関する特別な要件はありません。 設定ファイルを送信すると、データの形式のみがチェックされます。 これは、形式エラーによって引き起こされるエラーを防ぐためです。
      • 設定ファイルのサイズは、64 KB 未満です。 ファイルサイズは編集エリアの右上隅に動的に表示されます。 64 KBを超えるサイズの設定ファイルは送信することができません。
    4. 設定情報の編集が完了したら、[保存] をクリックして、設定ファイルを生成します。 次に、デバイスが設定ファイルのリクエストを送信できるようになります。

  3. 設定ファイルをデバイスにプッシュします。 [一括更新] をクリックすると、IoT Platform はそのプロダクトのすべてのデバイスへ設定ファイルを送信します。

    [一括更新] をクリックした後、アカウントを確認するために SMS 認証が開始されることがあります。 認証が必要な場合は、最初にアカウントの確認を完了させる必要があります。その後で、設定ファイルがデバイスに送信されます。



    • 操作頻度の制限: バッチ更新は 1 時間に 1 回のみ実行することができます。
    • 設定更新のプッシュを中止したい場合は、プロダクトのリモート設定機能を無効にしてください。 更新ファイルのプッシュが停止され、デバイスからの更新リクエストが拒否されます。
  4. IoT Platform から設定ファイルを受信すると、デバイスは自動的に設定を更新します。

設定ファイルの管理:

最新の 5 つの設定ファイルはデフォルトでコンソールに保存されています。 新しいバージョンの設定ファイルを編集して保存すると、以前のバージョンが自動的に設定バージョンレコードリストに表示されます。 表示されている 5 つのバージョンの更新時刻と内容を確認することができます。

[表示] をクリックすると、そのバージョンの設定内容を確認することができます。 [このバージョンに復元] をクリックすると、このバージョンの設定内容が編集ボックスに表示されます。 内容を編集してから新しいバージョンとして保存することができます。



シナリオ 2: デバイスが設定情報のリクエストを送信します。

デバイスが設定情報のリクエストを送信するように設定されている場合は、リモート設定機能を有効にする必要があります。 これを有効にするには、次の手順を実行します。

  1. トピック /sys/${productKey}/${deviceName}/thing/config/get_reply をサブスクライブするようにデバイスを設定します。
  2. IoT Platformのコンソールで、リモート設定機能を有効にして設定ファイルを編集します。 詳しい手順については、「シナリオ 1 」の関連する手順をご参照ください。
  3. リモート設定のリクエストをトリガーする linkkit_invoke_cota_get_config API を呼び出すようにデバイスを設定します。
  4. トピック /sys/${productKey}/${deviceName}/thing/config/get を介して、最新の設定更新のリクエストを送信するようにデバイスを設定します。
  5. IoT Platform はリクエストを受信した後に最新の設定情報をデバイスに返します。
  6. デバイスは、リモート設定機能を介して送信された設定ファイルを処理する機能 cota_callback を使用します。