すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:デバイスのネットワークステータス

最終更新日:Mar 27, 2025

Wi-Fi を使用するデバイスは、指定されたトピックを使用して IoT Platform にネットワークステータスを報告できます。この記事では、デバイスがネットワークステータスを報告するために使用するトピックとデータ形式、および報告できるネットワークエラーについて説明します。

説明 デバイスで AliOS Things V3.0 以降を使用している場合、デバイスはネットワークステータスデータを自動的に監視および報告します。

IoT Platform にネットワークステータスを自動的に報告する

デバイスが IoT Platform にリクエストを送信し、IoT Platform がデバイスに応答を送信するときに、次のトピックが使用されます。

リクエストトピック: /sys/${productKey}/${deviceName}/_thing/diag/post

レスポンストピック: /sys/${productKey}/${deviceName}/_thing/diag/post_reply

Alink JSON 形式のリクエスト例:

  • 現在のデータ: デバイスによってデータが収集された直後に報告されるデータ。

    デバイスは、次の 2 つのシナリオでネットワークステータスデータをすぐに報告します。

    • ネットワークエラーが検出されると、デバイスはすぐにエラーを IoT Platform に報告します。
    • スケジュールされた収集を設定している場合、デバイスは指定された時間にデータを収集し、すぐにデータを報告します。

    たとえば、デバイスは 2019 年 8 月 22 日の 08:10:29 にネットワークエラーを検出し、すぐにデータを報告します。デバイスがネットワークエラーを検出したときにデータを報告するリクエスト例:

    {
      "id": "123",
      "version": "1.0",
      "params": {
        "p": {
          "wifi": {
            "rssi": 75,
            "snr": 20,
            "per": 10,
            "err_stats":"10,02,01;10,05,01"
          },
          "_time": 1566432629000
        },
        "model": "quantity=single|format=simple|time=now"
      }
    }
    説明 スケジュールされた収集中にエラーが検出されない場合、err_stats パラメーターは空になります。
  • 履歴データ: すぐに報告されないデータ。ほとんどの場合、デバイスは収集されたネットワークメトリックの報告を遅らせる可能性があります。デバイスが履歴データを報告する場合、デバイスは一度に複数のデータレコードを報告できます。

    リクエスト例:

    {
      "id": "123",
      "version": "1.0",
      "params": {
        "p": [
          {
            "wifi": {
              "rssi": 75,
              "snr": 20,
              "per": 10,
              "err_stats":"10,02,01;10,05,01"
            },
            "_time": 1566432629000
          }
        ],
        "model": "format=simple|quantity=batch|time=history"
      }
    }
    説明 エラーが検出されない場合、err_stats パラメーターは空になります。
表 1. リクエストパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 0 ~ 4294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
versionStringプロトコルのバージョン。有効な値: 1.0
paramsObjectリクエストパラメーター。
wifiObjectネットワークステータスのメトリック。デバイスが Wi-Fi を使用している場合、4 つのメトリックが報告されます。
rssiinteger受信した無線信号の強度。
snrinteger無線信号の信号対雑音比。
perintegerパケット損失率。
err_statsStringネットワークエラーメッセージ。このパラメーターは、デバイスがネットワークエラーを検出した場合にのみ、報告されるデータに含まれます。

形式: "type,code,count;type,code,count"。例: "10,02,01;10,05,01"

ネットワークエラーメッセージのフィールド:

  • type: エラータイプ。
  • code: エラーコード。
  • count: エラーの数。

特定のエラーの詳細については、「err_stats」をご参照ください。

_timeLongネットワークステータスが収集された日時を示すタイムスタンプ。
説明 タイムスタンプは空にすることができます。空の場合、IoT Platform コンソールの [デバイスのネットワークステータス] タブには、データが収集された時間は表示されません。
modelStringメッセージ本文のモデル。パラメーター値には、次のフィールドが含まれます:
  • format: データ形式。simple 形式のみがサポートされています。データが簡略化された形式であることを示します。
  • quantity: 報告するデータレコードの数。有効な値:
    • single: 単一のデータレコードが報告されることを示します。
    • batch: 複数のデータレコードが報告されることを示します。このオプションは、履歴データを報告する場合にのみ使用されます。
  • time: 現在のデータまたは履歴データが報告されるかどうかを示します。有効な値:
    • now: 現在のデータが報告されることを示します。
    • history: 履歴データが報告されることを示します。
表 2. err_stats
エラータイプ説明原因
0x00無線ネットワーク環境のパラメーター。
  • 受信信号強度インジケーター (RSSI): 0x01
  • 信号対雑音比 (SNR): 0x02
  • パケット損失率 (ドロップ率): 0x03
0x10デバイスが IoT Platform に接続できませんでした。
  • デバイスがルーターに接続できませんでした (Wi-Fi 失敗): 0x01
  • デバイスが IP アドレスを取得できませんでした (DHCP 失敗): 0x02
  • IoT Platform のドメイン名を解決できませんでした (DNS 失敗): 0x03
  • TCP ハンドシェイクに失敗しました (TCP 失敗): 0x04
  • TLS ハンドシェイクに失敗しました (TLS 失敗): 0x05
0x20デバイスと IoT Platform の間でネットワーク例外が発生しました。
  • IoT Platform がデバイスからの接続を閉じました (CLOUD_REJECT): 0x01
  • デバイスのアップロードまたはダウンロード中にエラーが発生しました (RW_EXCEPTION): 0x02
  • デバイスと IoT Platform 間の ping 操作中にエラーが発生しました (PING_EXCEPTION): 0x03
0x30デバイスで例外が発生しました。
  • ウォッチドッグタイマーがリセットされたため、デバイスが再起動されました (WD_RST): 0x01
  • ストレージ例外により、デバイスが再起動されました (PANIC_ERR): 0x02
  • 停電により、デバイスが再起動されました (RE-POWER): 0x03
  • 致命的なエラーにより、デバイスが再起動されました (FATAL_ERR): 0x04
0x40メモリ情報。
  • 合計メモリ (合計サイズのタイプ): 0x01
  • 合計アイドルメモリ (空きサイズのタイプ): 0x02
0x50Bluetooth Low Energy (BLE) 例外が発生しました。BLE 例外。

Alink JSON 形式のレスポンス例:

{
  "id": "123",
  "version": "1.0",
  "code": 200,
  "data": {}
}
表 3. レスポンスパラメーター
パラメータータイプ説明
idStringメッセージの ID。有効な値: 04294967295。各メッセージ ID は、デバイスに対して一意である必要があります。
codeIntegerレスポンスの状態コード。値 200 は、リクエストが成功したことを示します。
versionStringプロトコルのバージョン。有効な値: 1.0
dataObject値は空です。