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。形式: |
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 | デバイスのステータス。値を |
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 クラウドゲートウェイを使用する場合は、値を |
status | String | デバイスのステータス。有効な値:
|
iotId | String | IoT Platform 内のデバイスの一意の識別子。 |
offlineReasonCode | Integer | デバイスがオフラインになったときに返されるエラーコード。詳細については、「デバイスの動作に関連するエラーコード」をご参照ください。 |
productKey | String | デバイスが属するプロダクトの一意の識別子。 |
deviceName | String | デバイスの DeviceName。 |
lastTime | String | これらのパラメーターはもう有効ではありません。 |
utcLastTime | String | |
time | String | デバイスがオンラインまたはオフラインになった時刻。 返されるメッセージは時刻でソートされていません。メッセージを手動でソートする必要があります。 たとえば、次のメッセージを順番に受信したとします。
上記のメッセージは、デバイスが切断され、再接続され、再び切断されたことを示しています。 |
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、version、および phone パラメーターの値は、JT/T 808 プロトコルの要件を満たしている必要があります。詳細については、JT/T 808-2019 を参照してください。 |
body | Object | デバイスから送信されるメッセージ本文。
メッセージ本文は 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。形式: |
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 | デバイスのステータス。値を |
tenantId | String | デバイスが属するユーザーの ID。 |