全部產品
Search
文件中心

IoT Platform:訊息轉寄說明

更新時間:Jun 30, 2024

對於GB/T 32960協議雲網關裝置,裝置登入認證、登出和上報資料等訊息,可通過物聯網平台訊息轉寄的雲產品流轉功能轉寄到服務端(使用者的伺服器)。裝置上報資料訊息可通過訊息轉寄的AMQP訂閱功能推送至服務端。本文介紹訊息轉寄的使用說明,及對應訊息的Topic和資料格式。

使用說明

配置訊息轉寄時,您需注意以下事項:

  • 僅支援在新版雲產品流轉功能下,為雲網關裝置配置資料流轉。具體操作,請參見配置資料流轉解析器

  • GB/T 32960協議雲網關裝置不具備Topic訂閱能力,所以不支援將GB/T 32960協議雲網關裝置資料流轉至另一個Topic。

  • 雲產品流轉的資料來源,僅支援自訂裝置狀態變化通知裝置生命週期變更,配置自訂資料來源時,需您手動輸入車輛裝置的VIN值。具體操作,請參見添加資料來源

  • 服務端訂閱中僅支援推送裝置上報訊息裝置狀態變化通知裝置生命週期變更的資料。具體操作,請參見配置AMQP服務端訂閱

說明

裝置對應訊息中參數取值符合標準GB/T 32960協議規範即可。詳細說明,請參見GB/T 32960的2016版本協議(通訊協議及資料格式)

裝置登入通知

Topic:/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

Object

訊息頭資料。

command

Integer

命令標識。

responseFlag

Integer

應答標識。

vin

String

車輛的識別代碼。

body

Object

訊息體資料。

iccid

String

車輛的ICCID。

year

Integer

車輛登入時間的年。

month

Integer

車輛登入時間的月。

day

Integer

車輛登入時間的日。

hour

Integer

車輛登入時間的小時。

minute

Integer

車輛登入時間的分鐘。

second

Integer

車輛登入時間的秒數。

subSystemNumber

Integer

可充電儲能子系統數。

systemEncode

List

可充電儲能系統編碼列表。

systemEncodeLength

Integer

可充電儲能系統編碼長度。

serialNo

Integer

車輛登入的流水號。

裝置上下線狀態

Topic:/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

String

GB/T 32960協議雲網關,取值gb32960

status

String

裝置狀態。

  • online:上線。

  • offline:離線。

iotId

String

裝置在平台內的唯一標識。

offlineReasonCode

Integer

裝置下線時,返回的錯誤碼。詳細說明,請參見裝置行為錯誤碼

productKey

String

裝置所屬產品的唯一標識。

deviceName

String

裝置名稱。

lastTime

String

該參數為歷史存量欄位,已無實際意義。

utcLastTime

String

time

String

裝置上、下線的時間。

收到訊息的順序不是實際裝置上下線時間排序。裝置上下線順序需按照time具體值排序。

例如,您依次收到3條訊息:

  1. 上線:2018-08-31 10:02:28.195

  2. 下線:2018-08-31 10:01:28.195

  3. 下線:2018-08-31 10:03:28.195

這3條訊息展示了,裝置先下線,再上線,最後下線的過程。

utcTime

String

裝置上、下線的UTC時間。

clientIp

String

裝置公網出口IP。

裝置上報資料

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

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

參數名稱

資料類型

描述

header

Object

訊息頭資料。

command

Integer

命令標識。

responseFlag

Integer

應答標識。

vin

String

車輛的識別代碼。

body

Object

訊息體資料,data資料格式為Base64編碼格式。

裝置登出通知

Topic:/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

Object

訊息頭資料。

command

Integer

命令標識。

responseFlag

Integer

應答標識。

vin

String

車輛的識別代碼。

body

Object

訊息體資料。

year

Integer

車輛登出時間的年。

month

Integer

車輛登出時間的月。

day

Integer

車輛登出時間的日。

hour

Integer

車輛登出時間的小時。

minute

Integer

車輛登出時間的分鐘。

second

Integer

車輛登出時間的秒數。

serialNo

Integer

車輛登出的流水號。