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

IoT Platform:メッセージング

最終更新日:Mar 26, 2025

IoT Platform のルールエンジンのデータ転送機能を使用して、JT/T 808 ゲートウェイデバイスのメッセージをサーバーに送信できます。メッセージは、デバイスの登録、デバイスの登録解除、およびデータ送信に関連しています。Advanced Message Queuing Protocol(AMQP)サーバー側サブスクリプションを使用して、データ送信メッセージをサーバーに送信します。このトピックでは、ルールエンジンを使用してメッセージを転送する方法について説明します。また、必要な Topic とデータの型についても説明します。

使用上の注意

データ転送ルールを設定する場合は、次の点に注意してください。

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

  • JT/T 808 クラウドゲートウェイに追加されたデバイスは、Topic をサブスクライブできません。 JT/T 808 クラウドゲートウェイデバイスのデータを Topic に転送することはできません。

  • JT/T 808 クラウドゲートウェイデバイスにデータ転送を使用する場合は、データソースとして次のタイプの Topic を追加できます: [カスタム][デバイスステータス変更通知]、および [ライフサイクル全体のデバイス変更]。カスタム Topic をデータソースとして追加する場合は、Topic 名にメーカー ID、デバイスモデル、およびデバイス ID を指定する必要があります。詳細については、「データソースを作成する」をご参照ください。

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

デバイスの登録

Topic:/sys/${productKey}/${deviceName}/device/identity/register

payload: {
    "createTime": 1669968170000,
    "deviceId": "device05",
    "deviceModel": "model1",
    "deviceName": "manufactor_model1_device05",
    "instanceId": "iotx-o****",
    "iotId": "PkhDL********00101",
    "licensePlateColour": "1",
    "licensePlateNumber": "Zhe A****",
    "manufacturer": "manufactor",
    "productKey": "a16h****",
    "status": "register",
    "tenantId": "58CAC7******37C956"
} // ペイロード

パラメーター

説明

payload

Object

デバイス登録メッセージの内容。

createTime

Long

デバイス登録の開始時刻。

deviceId

String

ユーザーが登録したデバイス ID。

deviceModel

String

ユーザーが登録したデバイスモデル。

deviceName

String

DeviceName。形式:${manufacturer}_${deviceModel}_${deviceId}

instanceId

String

デバイスが属するインスタンスの ID。

iotId

String

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

licensePlateColour

String

ナンバープレートの色。値は JT/T 808 プロトコルの要件を満たしている必要があります。詳細については、JT/T 808-2019 を参照してください。

licensePlateNumber

String

ナンバープレート番号。

manufacturer

String

デバイスメーカーの ID。

productKey

String

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

status

String

デバイスのステータス。値を register に設定します。これは、デバイスが登録されていることを示します。

tenantId

String

デバイスが属するユーザーの ID。

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

Topic:/sys/${productKey}/${deviceName}/device/status/notify

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

    {
        "protocol": "jt808",
        "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": "jt808",
        "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

String

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

status

String

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

  • online

  • offline

iotId

String

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

offlineReasonCode

Integer

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

productKey

String

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

deviceName

String

デバイスの DeviceName。

lastTime

String

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

utcLastTime

String

time

String

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

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

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

  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

String

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

clientIp

String

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

デバイスデータの送信

Topic:/sys/${productKey}/${deviceName}/device/message/uplink

payload: {
    header:{
        messageId:"",
        version:"",
        phone:"",
        serialNumber:""
    },
    body:{
        data:"dGVzdDEyMw==",
        type: 65
    }
} // ペイロード

パラメーター

説明

payload

Object

デバイスから送信されるメッセージ。header パラメーターと body パラメーターが含まれます。メッセージの内容は、パススルーデータ、位置統計、または GPS データです。

header

Object

デバイスから送信されるヘッダー。

  • messageId: メッセージ ID。

  • version: プロトコルバージョン。

  • phone: 電話番号。

  • serialNumber: メッセージのシリアル番号。有効な値: 0 ~ 65535 。デバイスは、デバイスから送信されるメッセージごとにシリアル番号を 1 ずつ増やします。

messageIdversion、および phone パラメーターの値は、JT/T 808 プロトコルの要件を満たしている必要があります。詳細については、JT/T 808-2019 を参照してください。

body

Object

デバイスから送信されるメッセージ本文。

  • data: メッセージの内容。内容は Base64 でエンコードされています。

  • type: パススルーメッセージのタイプ。この例では、650x41 を表し、シリアルポート 1 がデータのパススルーに使用されていることを示します。

メッセージ本文は JT/T 808 プロトコルの要件を満たしている必要があります。詳細については、JT/T 808-2019 を参照してください。

デバイスの登録解除

Topic:/sys/${productKey}/${deviceName}/device/identity/unregister

payload: {
    "createTime": 1669968170000,
    "deviceId": "device05",
    "deviceModel": "model1",
    "deviceName": "manufactor_model1_device05",
    "instanceId": "iotx-o****",
    "iotId": "PkhDL********00101",
    "licensePlateColour": "1",
    "licensePlateNumber": "Zhe A****",
    "manufacturer": "manufactor",
    "productKey": "a16h****",
    "status": "register",  // status should be "unregister"
    "tenantId": "58CAC7******37C956"
} // ペイロード

パラメーター

説明

payload

Object

デバイス登録解除メッセージの内容。

createTime

Long

デバイス登録解除の開始時刻。

deviceId

String

デバイス ID。

deviceModel

String

デバイスのモデル。

deviceName

String

DeviceName。形式:${manufacturer}_${deviceModel}_${deviceId}

instanceId

String

デバイスが属するインスタンスの ID。

iotId

String

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

licensePlateColour

String

ナンバープレートの色。値は JT/T 808 プロトコルの要件を満たしている必要があります。詳細については、JT/T 808-2019 を参照してください。

licensePlateNumber

String

ナンバープレート番号。

manufacturer

String

デバイスメーカーの ID。

productKey

String

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

status

String

デバイスのステータス。値を unregister に設定します。これは、デバイスの登録が解除されていることを示します。

tenantId

String

デバイスが属するユーザーの ID。