全部产品
Search
文档中心

阿里云物联网平台:消息转发说明

更新时间:Nov 29, 2023

对于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

车辆注销的流水号。