openGW内置EMQX MQTT通信主题和数据格式

主题汇总

序号主题说明消息方向
1/sys/thing/node/login/post/{clientID}子设备上线请求网关->平台
2/sys/thing/node/login/post_reply/{clientID}子设备上线回应平台->网关
3/sys/thing/node/logout/post/{clientID}子设备下线请求网关->平台
4/sys/thing/node/logout/post_reply/{clientID}子设备下线回应平台->网关
5/sys/thing/node/property/post/{clientID}子属性上报请求网关->平台
6/sys/thing/node/property/post_reply/{clientID}子属性上报回应平台->网关
7/sys/thing/node/property/set/{clientID}子属性设置请求平台->网关
8/sys/thing/node/property/set_reply/{clientID}子属性设置回应网关->平台
9/sys/thing/node/property/get/{clientID}子属性查询请求平台->网关
10/sys/thing/node/property/get_reply/{clientID}子属性查询回应网关->平台
11/sys/thing/node/service/invoke/{clientID}子服务调用请求平台->网关
12/sys/thing/node/service/invoke_reply/{clientID}子服务调用回应网关->平台
13/sys/thing/node/node/status/get/{clientID}子设备状态查询请求平台->网关
14/sys/thing/node/node/status/get_reply/{clientID}子设备状态查询回应网关->平台
15/sys/thing/gw/ota/cmd/set/{clientID}下发网关OTA升级命令请求平台->网关
16/sys/thing/gw/ota/cmd/set_reply/{clientID}下发网关OTA升级命令回应网关->平台
17/sys/thing/gw/ota/status/post/{clientID}网关OTA升级状态上报网关->平台
18/sys/thing/gw/service/invoke/{clientID}网关服务调用请求平台->网关
19/sys/thing/gw/service/invoke_reply/{clientID}网关服务调用回应网关->平台
20/sys/thing/gw/property/post/{clientID}网关属性上报请求网关->平台
21/sys/thing/gw/property/post_reply/{clientID}网关属性上报回应平台->网关

clientID说明

总共10位数据

1、子设备上下线

请求Topic:

/sys/thing/node/login/post/{clientID}

/sys/thing/node/logout/post/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量{clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "params": [

      {

        "clientID": "1000000001",

        "timestamp": 1581417203

      },

      {

        "clientID": "1000000002",

        "timestamp": 1581417203

      }

  ]

}

说明 消息体中,参数productKey和deviceName的值是子设备的对应信息。

上行数据参数说明:

参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
paramsjsonObject请求入参,包含的具体参数见下表params。

params参数格式

参数类型说明
clientIDstring
timestamplong上报时间,类型为UTC时间

回应Topic:

/sys/thing/node/login/post_reply/{clientID}

/sys/thing/node/logout/post_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":[

     {

      "clientID": "1000000001"

    },

    {

      "clientID": "1000000002"

    }

   ]

}

下行参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败,故障码见说明表
messagestring返回结果信息
datajsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

data参数说明

参数类型说明
clientIDstring子设备的设备名称

2、子设备属性上报

请求Topic:

/sys/thing/node/property/post/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":0,

  "params": [

      {

          "clientID":"1000000001",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":"25.6",

                  "timestamp": 1524448722

              },

              {

                  "name":"RoomHumi",

                  "value":"80",

                  "timestamp": 1524448722

              }

          ]

      },

      {

          "clientID":"1000000002",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":"25.6",

                  "timestamp": 1524448722

              }

          ]

      }

  ]

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObjectArray请求入参,包含的具体参数见下表params。

params参数说明

参数类型说明
clientIDstring设备名称
propertiesjsonObject属性值

properties参数说明

参数类型说明
namestring属性名称
valueobject属性值
timestampLong属性上报时间,类型为UTC时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳

回应Topic:

/sys/thing/node/property/post_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":{}

}

下行参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

3、子设备告警上报

请求Topic:

/sys/thing/node/alarm/post/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":0,

  "params": [

      {

          "clientID":"1000000001",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":"25.6",

                  "timestamp": 1524448722

              },

              {

                  "name":"RoomHumi",

                  "value":"80",

                  "timestamp": 1524448722

              }

          ]

      },

      {

          "clientID":"1000000002",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":"25.6",

                  "timestamp": 1524448722

              }

          ]

      }

  ]

}

参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObjectArray请求入参,包含的具体参数见下表params。

params参数说明

参数类型说明
clientIDstring设备名称
propertiesjsonObject属性值

properties参数说明

参数类型说明
namestring属性名称
valueobject属性值
timestampLong属性上报时间,类型为UTC时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳

回应Topic:

/sys/thing/node/alarm/post_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":{}

}

下行参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

4、子设备属性下发

请求Topic:

/sys/thing/node/property/set/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{
  "id": "123",
  "version": "1.0",
  "ack": 0,
  "params": [
    {
      "clientID": "1000000001",
      "properties": [
        {
          "name": "RoomTemp",
          "value": "25.6"
        }
      ]
    }
  ]
}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObjectArray请求入参,包含的具体参数见下表params。

params参数说明

参数类型说明
namestring属性名称
valueobject属性值

回应Topic:

/sys/thing/node/property/set_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "version": "1.0",

  "params"[

      {

          "clientID":"1000000001",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":0

              }

          ]

      }

  ]

}

回应参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObjectArray请求成功或失败时返回的子设备信息,具体参数请参见下表data

data格式

参数类型说明
clientIDstring
propertiesjsonObjectArray设置结果,0代表成功,其他表示失败

properties格式

参数类型说明
namestring
value

5、子设备属性查询

请求Topic:

/sys/thing/node/property/get/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",
  "version": "1.0",
  "ack":0,
  "params": [
      {
          "clientID":"1000000001",
          "properties":[
              {
                  "name":"RoomTemp"
              },
              {
                  "name":"RoomHumi"
              }
          ]
       }
   ]
}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsstringArray

回应Topic:

/sys/thing/node/property/get_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "version": "1.0",

  "params"[

      {

          "clientID":"1000000001",

          "properties":[

              {

                  "name":"RoomTemp",

                  "value":"25.6",

                  "timestamp":

              },

              {

                  "name":"RoomHumi",

                  "value":"99",

                  "timestamp":

              }

          ]

      }      

  ]

}

回应参数说明

参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObjectArray

params参数说明

参数类型说明
clientIDstring
propertiesjsonObjectArray

properties参数

参数类型说明
namestring属性名称
valueobject属性值
timestampLong属性上报时间,类型为UTC毫秒级时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳

6、子设备服务调用

请求Topic:

/sys/thing/node/service/invoke/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":0,

  "params":[

      {

          "clientID":"1000000001",

          "cmdName":"",

          "cmdParams":{}

      }

  ]

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObjectArray

param参数

参数类型说明
cmdNamestring命令名称
cmdParamsjsonObject命令参数

回应Topic:

/sys/thing/node/service/invoke_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "version": "1.0",

  "params"[

      {

          "clientID":"1000000001",

          "cmdName":"",

          "cmdStatus":0

      }

  ]  

}

回应参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codeint返回结果,0代表成功,其他表示失败
versionstring
paramsjsonObjectArray请求成功或失败时返回的子设备信息,具体参数请参见下表params

params参数说明

参数类型说明
clientIDstring
cmdNamestring
cmdStatusint

7、子设备设备状态查询

请求Topic:

/sys/thing/node/status/get/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":1

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsstringArray

回应Topic:

/sys/thing/node/status/get_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":[

      {

          "clientID":"1000000001",

          "commStatus":"onLine"

      },

       {

          "clientID":"1000000002",

          "commStatus":"offLine"

      }     

  ]

}

回应参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObjectArray请求成功或失败时返回的子设备信息,具体参数请参见下表data

data参数说明

参数类型说明
clientIDstring
commStatusstring通信状态 onLine:在线offLine:离线

8、网关OTA升级命令下发

请求Topic:

/sys/thing/gw/ota/cmd/set/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":1,

  "params":{

      "supportVersion":["V00.09","V01.00"],

      "fileVersion":"V01.01",

      "fileName":"",

      "fileSize":"",

      "fileURL":"",

      "fileMD5":""

  }

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsobject

params参数

参数类型说明
supportVersionstring支持升级设备的版本,防止出现下发版本错误
fileVersionstring升级文件版本
fileNamestring升级文件名字
fileSizestring升级文件大小,以字节为单位
fileURLstring升级文件路径
fileMD5string升级文件MD5校验

回应Topic:

/sys/thing/gw/ota/cmd/set_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":{}    

}

回应参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

9、网关OTA升级状态上报

请求Topic:

/sys/thing/gw/ota/status/post/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":1,

  "params":{

      "fileVersion":"",

      "fileName":"",

      "percent":"",

      "message":""

  }

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsobject

params参数

参数类型说明
fileVersionstring升级文件版本
fileNamestring升级文件名字
percentstring升级进度
messagestring升级提示

10、网关服务调用

请求Topic:

/sys/thing/gw/service/invoke/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":1,

  "params":[

      {

        "clientID":"20220724",

          "cmdName":"lockCmd",

          "cmdParams":{

             "deadline":"2022-09-07 15:08:00"

          }

      }

  ]

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramjsonObject

param参数

参数类型说明
clientIDstring网关编号
cmdNamestring命令名称
cmdParamsjsonObject命令参数

服务选项

  • 远程锁定
{

    "cmdName":"lockCmd",

    "cmdParams":{

        "deadline":"2022-12-01 12:00:00"

    }

}
参数类型说明
deadlinestring非锁定截止时间
  • 远程重启
{

    "cmdName":"reboot",

    "cmdParams":{}

}
  • 修改上报周期
{

    "cmdName":"modifyReport",

    "cmdParams":{

        "reportTime":300

    }

}
  • 修改采集周期
{

    "cmdName":"modifyCollect",

    "cmdParams":{

        "collName":"xxx",

        "collPeriod":300

    }

}
1collName采集通道名称
collPeriod采集周期,单位秒

回应Topic:

/sys/thing/gw/service/invoke_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"",

  "version":"1.0",

  "params":{

      "cmdName":"",

      "cmdStatus":0

  }

}

回应参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果提示
versionstring返回结果信息
paramsjsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

data参数说明

参数类型说明
cmdNamestring命令名称
cmdStatusint0表示执行成功;1表示执行失败;2表示设备无响应

11、网关属性上报

请求Topic:

/sys/thing/gw/property/post/{clientID}

说明 因为子设备通过网关通道与物联网平台通信,以上Topic为网关设备的Topic。

Topic中变量${clientID}需替换为网关设备的对应信息。

请求数据格式:

{

  "id": "123",

  "version": "1.0",

  "ack":0,

  "params":{

      "clientID:"20220704",

      "properties":[

          {

              "name":"MemTotal",

              "value":"1024",

              "timestamp": 1524448722

          },

          {

              "name":"MemUse",

              "value":"80",

              "timestamp": 1524448722

          }

      ]

    }

}
参数类型说明
idstring消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionstring
ackInteger表示是否返回响应数据。 1:云端返回响应数据。0:云端不返回响应数据
paramsjsonObject请求入参,包含的具体参数见下表params。

params参数说明

参数类型说明
clientIDstring网关ID
propertiesjsonObjectArray属性值

properties参数说明

参数类型说明
namestring属性名称
valueobject属性值
timestampLong属性上报时间,类型为UTC时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳

properties参数列表

属性名称属性解释属性类型初始值
MemTotal
MemUse
DiskTotal
DiskUse
Name
SN
HardVer
SoftVer
SystemRTC
RunTime
DeviceOnline
DevicePacketLoss
IP
Netmask
Gateway
DNS
RSSI4G模组信号强度
IMEI4G模组的IMEI号
ICCID物联网卡的ICCID
Longitude经度
Latitude纬度
LockStatus锁机状态0未锁定 1锁定

回应Topic:

/sys/thing/node/property/post_reply/{clientID}

回应数据格式:

{

  "id":"123",

  "code":0,

  "message":"success",

  "data":{}

}

下行参数说明

参数类型说明
idstring消息ID,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
codestring返回结果,0代表成功,其他表示失败
messagestring返回结果信息
datajsonObject请求成功或失败时返回的子设备信息,具体参数请参见下表data

故障码

错误码说明
460请求参数错误
429单个设备认证过于频繁被限流
428
521
522
6287
6100
本网站所收集的公开资料部分来源于互联网,其版权归原作者本人所有,本站只是转载和摘录,目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其的真实性能做到合理的研判负责,也不构成任何其他建议,如果有任何侵犯您权益和知识产权的地方,请来邮或来电告知本站,经过核实,我们会及时的进行整理删除,谢谢!
评论 共0条
取消回复 发布评论