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

IoT Platform:メッセージング

最終更新日:Mar 26, 2025

GB/T 32960 クラウドゲートウェイデバイスを使用している場合、データ転送機能を使用して、デバイスのメッセージをユーザー管理サーバーに転送できます。メッセージには、デバイスのログインおよび検証メッセージ、デバイスの登録解除メッセージ、デバイスのデータ送信メッセージが含まれます。Advanced Message Queuing Protocol(AMQP)サブスクリプション機能を使用して、デバイスからサーバーに送信されたメッセージをプッシュできます。このトピックでは、データ転送機能を使用してメッセージを転送する方法について説明します。また、必要なトピックとデータ型についても説明します。

使用上の注意

メッセージを転送する場合は、次の点に注意してください。

  • クラウドゲートウェイデバイスのデータ転送ルールを設定するには、新しいバージョンのデータ転送機能のみを使用できます。詳細については、「データ転送パーサーを設定する」をご参照ください。

  • GB/T 32960 クラウドゲートウェイデバイスのトピックをサブスクライブすることはできません。したがって、GB/T 32960 クラウドゲートウェイデバイスのデータをトピックから別のトピックに転送することはできません。

  • GB/T 32960 クラウドゲートウェイデバイスのメッセージを転送する場合、データソースとして次のタイプのトピックを追加できます。[カスタム][デバイスステータス変更通知][ライフサイクル全体のデバイス変更]。カスタムトピックをデータソースとして追加する場合は、トピック名に車両の[車両識別番号(VIN)]を指定する必要があります。詳細については、「データソースを作成する」をご参照ください。

  • サーバー側サブスクリプションを使用して、次のタイプのデータのみをプッシュできます。[デバイスアップストリーム通知][デバイスステータス変更通知][ライフサイクル全体のデバイス変更]。詳細については、「AMQP サーバー側サブスクリプションを設定する」をご参照ください。

説明

デバイスメッセージのパラメーターは、GB/T 32960 プロトコルに準拠している必要があります。詳細については、GB/T 32960-2016 を参照してください。

デバイスログイン

トピック: /sys/${productKey}/${deviceName}/device/message/uplink

{
    "header": {
        "command": 1,
        "responseFlag": 254,
        "vin": "onepart1234567891"
    },
    "body": {
        "iccid": "12345678901234567890",
        "month": 3,
        "hour": 16,
        "year": 23,
        "subSystemNumber": 2,
        "systemEncode": [
            "12345678",
            "87654321"
        ],
        "systemEncodeLength": 8,
        "day": 21,
        "serialNo": 1,
        "minute": 20,
        "second": 12
    }
}

パラメーター

説明

header

オブジェクト

メッセージヘッダーのデータ。

command

整数

コマンドの ID。

responseFlag

整数

レスポンスの ID。

vin

文字列

車両の VIN。

body

オブジェクト

メッセージ本文のデータ。

iccid

文字列

車両の ICCID。

year

整数

車両がシステムにログインした年。

month

整数

車両がシステムにログインした月。

day

整数

車両がシステムにログインした日。

hour

整数

車両がシステムにログインした時刻。

minute

整数

車両がシステムにログインした分。

second

整数

車両がシステムにログインした秒。

subSystemNumber

整数

充電および電気を蓄えることができるサブシステムの数。

systemEncode

リスト

サブシステムのコード。

systemEncodeLength

整数

コードの長さ。

serialNo

整数

車両ログインのレコード番号。

デバイスステータスの送信

トピック: /sys/${productKey}/${deviceName}/device/status/notify

  • デバイスがオンラインになったときにデバイスから送信されるデータの形式:

    {
        "protocol": "gb32960",
        "status":"online",
        "iotId":"4z819VQHk6VSLmmBJfrf00107e****",
        "productKey":"al12345****",
        "deviceName":"deviceName1234",
        "time":"2018-08-31 15:32:28.205",
        "utcTime":"2018-08-31T07:32:28.205Z",
        "lastTime":"2018-08-31 15:32:28.195",
        "utcLastTime":"2018-08-31T07:32:28.195Z",
        "clientIp":"192.0.2.1"
    }
  • デバイスがオフラインになったときにデバイスから送信されるデータの形式:

    {
        "protocol": "gb32960",
        "status":"offline",
        "iotId":"4z819VQHk6VSLmmBJfrf00107e****",
        "offlineReasonCode":427,
        "productKey":"al12345****",
        "deviceName":"deviceName1234",
        "time":"2018-08-31 15:32:28.205",
        "utcTime":"2018-08-31T07:32:28.205Z",
        "lastTime":"2018-08-31 15:32:28.195",
        "utcLastTime":"2018-08-31T07:32:28.195Z",
        "clientIp":"192.0.2.1"
    }

パラメーターの説明

フィールド

カテゴリ

説明

protocol

文字列

GB/T 32960 クラウドゲートウェイを使用する場合は、値を gb32960 に設定します。

status

文字列

デバイスのステータス。有効な値:

  • online: オンライン

  • offline: オフライン

iotId

文字列

IoT Platform 内のデバイスの一意の識別子。

offlineReasonCode

整数

デバイスがオフラインになったときに返されるエラーコード。詳細については、「デバイスの動作に関連するエラーコード」をご参照ください。

productKey

文字列

デバイスが属するプロダクトの一意の識別子。

deviceName

文字列

デバイスの DeviceName。

lastTime

文字列

これらのパラメーターはもう有効ではありません。

utcLastTime

文字列

time

文字列

デバイスがオンラインまたはオフラインになった時刻。

返されるメッセージは時間順にソートされていません。メッセージを手動でソートする必要があります。

たとえば、次のメッセージを順番に受信したとします。

  1. オンライン時間: 2018-08-31 10:02:28.195

  2. オフライン時間: 2018-08-31 10:01:28.195

  3. オフライン時間: 2018-08-31 10:03:28.195

上記のメッセージは、デバイスが切断され、再接続され、再び切断されたことを示しています。

utcTime

文字列

デバイスがオンラインまたはオフラインになった時刻。時刻は UTC 形式です。

clientIp

文字列

デバイスのパブリック IP アドレス。

デバイスデータの送信

トピック: /sys/${productKey}/${deviceName}/device/message/uplink

{
    "header": {
        "command": 123,
        "responseFlag":1,
        "vin":""
    },
    "body": {
        "data":""
    }
}

パラメーター名

データ型

説明

header

オブジェクト

メッセージヘッダーのデータ。

command

整数

コマンドの ID。

responseFlag

整数

レスポンスの ID。

vin

文字列

車両の VIN。

body

オブジェクト

メッセージ本文のデータ。data は Base64 でエンコードされています。

デバイスの登録解除

トピック: /sys/${productKey}/${deviceName}/device/message/uplink

{
    "header": {
        "command": 4,
        "responseFlag": 254,
        "vin": "onepart1234567891"
    },
    "body": {
        "month": 3,
        "hour": 16,
        "year": 23,
        "day": 21,
        "minute": 20,
        "second": 12,
        "serialNo": 1
    }
}  

パラメーター名

データ型

説明

header

オブジェクト

メッセージヘッダーのデータ。

command

整数

コマンドの ID。

responseFlag

整数

レスポンスの ID。

vin

文字列

車両の VIN。

body

オブジェクト

メッセージ本文のデータ。

year

整数

車両が登録解除された年。

month

整数

車両が登録解除された年。

day

整数

車両が登録解除された月。

hour

整数

車両が登録解除された時刻。

minute

整数

車両が登録解除された分。

second

整数

車両が登録解除された秒。

serialNo

整数

車両登録解除のレコード番号。