说明
- 平台访问地址:http://o.d.gdatacloud.com
- 设备mqtt连接地址:d2.gdatacloud.com
- 连接端口:7884
- qos = 0
- CleanSession = true
- KeepAlive = 180
- clientID = device-${DeviceSecret}
- username = ${nodeId}
- password= ${DeviceSecret}
创建产品
按照设备功能需求设计通道和数据项
添加设备
1. 直连设备上报(json)
- 数据上行
- 请求topic:event/{DeviceSecret}/{serveMark}
- 响应topic:event/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id": "123",
"data": {
"Power": "on",
"WF": 23.6
},
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由设备生成,设备维度唯一性。 |
| data | Object | 请求参数。如以上示例中,设备上报了的两个属性Power和WF和上报的属性值(value)。 |
| serveMark | String | 通道标识,由平台生成。 |
| code | Integer | 结果信息。 |
2. 直连设备下发命令(json)
- 数据下行
- 请求topic:cmd/{DeviceSecret}/{serveMark}
- 响应topic:cmd/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id": "123",
"data": {
"temperature": "30.5"
}
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由物联网平台生成。 |
| data | Object | 属性设置参数。如以上示例中,设置属性:{ “temperature”: “30.5” }。 |
| serveMark | String | 通道标识,设备和平台约定。 |
| code | Integer | 结果信息。 |
3. 直连设备上报(byte)
- 数据上行
- 请求topic:event/{DeviceSecret}/{serveMark}
- 响应topic:event/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
01 73 b4 9a ff
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
ff |
数据上报值 |
该通道下所有数据项字段的总长度,数据项字段长度不够的需要设备补零后再上报,消息体数量需要按照平台通道下配置长度和顺序依次追加 |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
02 |
收到标识 |
一个字节,02成功、30失败 |
4. 直连设备下发命令(byte)
- 数据上行
- 请求topic:cmd/{DeviceSecret}/{serveMark}
- 响应topic:cmd/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
01 73 b4 9a 01
参数 |
说明 |
长度 |
01 73 b4 9a |
命令id |
长度默认为4 |
01 |
命令下发值 |
通道下该数据项字段所配置的长度,不够服务器自动前面补零 |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
命令id |
长度默认为4 |
02 |
命令回复值 |
一个字节,02成功、30失败 |
5. 网关设备上报(json)
- 数据上行
- 请求topic:g_event/{DeviceSecret}/{serveMark}/{nodeId}
- 响应topic:g_event/{DeviceSecret}/{serveMark}/{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id": "123",
"data": {
"Power": "on",
"WF": 23.6
}
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由设备生成,设备维度唯一性。 |
| data | Object | 请求参数。如以上示例中,设备上报了的两个属性Power和WF和上报的属性值(value)。 |
| serveMark | String | 通道标识,由平台生成。 |
| nodeId | String | 网关子设备本身唯一标识,比如IMEI、MAC地址或Serial No。如果是直连设备没有此参数,或者此参数值为空 |
| code | Integer | 结果信息。 |
6. 网关设备下发命令(json)
- 数据下行
- 请求topic:g_cmd/{DeviceSecret}/{serveMark}/{nodeId}
- 响应topic:g_cmd/{DeviceSecret}/{serveMark}{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id": "123",
"data": {
"temperature": "30.5"
}
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由物联网平台生成。 |
| data | Object | 属性设置参数。如以上示例中,设置属性:{ “temperature”: “30.5” }。 |
| serveMark | String | 通道标识,设备和平台约定。 |
| nodeId | String | 网关子设备本身唯一标识,比如IMEI、MAC地址或Serial No。如果是直连设备没有此参数,或者此参数值为空 |
| code | Integer | 结果信息。 |
7. 网关设备上报(byte)
- 数据上行
- 请求topic:g_event/{DeviceSecret}/{serveMark}/{nodeId}
- 响应topic:g_event/{DeviceSecret}/{serveMark}/{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
01 73 b4 9a 00 00 00 25
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
00 00 00 25 |
消息体 |
该通道下所有数据项字段的总长度,数据项字段长度不够的需要设备补零后再上报,消息体数量需要按照平台通道下配置长度和顺序依次追加 |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
02 |
消息回复值 |
一个字节,02成功、30失败 |
8. 网关设备下发命令(byte)
- 数据上行
- 请求topic:g_cmd/{DeviceSecret}/{serveMark}{nodeId}
- 响应topic:g_cmd/{DeviceSecret}/{serveMark}/{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
01 73 b4 9a 01
参数 |
说明 |
长度 |
01 73 b4 9a |
命令id |
长度默认为4 |
01 |
命令下发值 |
通道下该数据项字段所配置的长度,不够服务器自动前面补零 |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
命令id |
长度默认为4 |
02 |
命令回复值 |
一个字节,02成功、30失败 |
9. 直连设备批量上报(json)
- 数据上行
- 请求topic:events/{DeviceSecret}/{serveMark}
- 响应topic:events/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id":"123",
"data":[
{
"Power":"on",
"WF":23.6
},
{
"Power":"on",
"WF":23.6
}
]
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由设备生成,设备维度唯一性。 |
| data | Object | 请求参数。如以上示例中,设备上报了的两个属性Power和WF和上报的属性值(value)。 |
| serveMark | String | 通道标识,由平台生成。 |
| eventTime | Long | 属性上报时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序。 |
| code | Integer | 结果信息。 |
10. 直连设备批量上报(byte)
- 数据上行
- 请求topic:events/{DeviceSecret}/{serveMark}
- 响应topic:events/{DeviceSecret}/{serveMark}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
01 73 b4 9a //消息id
02 01 73 b4 9a //第一组完整数据
02 01 73 b4 9a //第二组完整数据
02 01 73 b4 9a //第三组完整数据
02 01 73 b4 9a //第四组完整数据
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
02 01 73 b4 9a |
数据上报值 |
每组完整数据为通道下所有数据项字段所配置的长度和,上报顺序需要和通道配置的一样 |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
02 |
收到消息标识 |
一个字节,02成功、30失败 |
11. 网关子设备批量上报(json)
- 数据上行
- 请求topic:g_events/{DeviceSecret}/{serveMark}/{nodeId}
- 响应topic:g_events/{DeviceSecret}/{serveMark}/{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
{
"id":"123",
"data":[
{
"Power":"on",
"WF":23.6
},
{
"Power":"on",
"WF":23.6
}
]
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由设备生成,设备维度唯一性。 |
| data | Object | 请求参数。如以上示例中,设备上报了的两个属性Power和WF和上报的属性值(value)。 |
| serveMark | String | 通道标识,由平台生成。 |
| eventTime | Long | 属性上报时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序。 |
| code | Integer | 结果信息。 |
12. 网关子设备批量上报(byte)
- 数据上行
- 请求topic:g_events/{DeviceSecret}/{serveMark}/{nodeId}
- 响应topic:g_events/{DeviceSecret}/{serveMark}/{nodeId}/feedback
- 不处理或不需要回复可以不订阅响应topic
- 请求格式
02 01 73 b4 9a //第一组完整数据
02 01 73 b4 9a //第二组完整数据
02 01 73 b4 9a //第三组完整数据
02 01 73 b4 9a //第四组完整数据
参数 |
说明 |
长度 |
02 01 73 b4 9a |
数据上报值 |
每组完整数据为通道下所有数据项字段所配置的长度和,上报顺序需要和通道配置的一样,批量上报不上报消息id |
01 73 b4 9a 02
参数 |
说明 |
长度 |
01 73 b4 9a |
消息id |
长度为云平台配置长度,不配置,默认为0,不带消息id |
02 |
收到消息标识 |
一个字节,02成功、30失败 |
13. 设备固件升级(json)
{
"id": "123",
"nodeId":35,
"data": {
"size": 93796291,
"sign": "f8d85b250d4d787a9f483d89a974****",
"version": "1.0.1",
"url": "https://the_firmware_url",
"signMethod": "Md5",
"module": "MCU"
}
}
{
"id": "123",
"data": {
"step": "-1",
}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号。需定义为String类型的数字,且每个消息ID在当前设备中具有唯一性。 |
| version | String | 设备固件的版本信息。 |
| size | Long | 固件大小,单位:字节。 |
| url | String | 固件下载地址 |
| sign | String | 固件签名,验证下载固件是否完整。 |
| signMethod | String | 签名方法。 取值:SHA256和MD5 |
| step | String | 固件升级进度信息。取值范围:[1,100] 之间的数字:表示升级进度百分比。-1 :表示升级失败。-2: 表示下载失败。-3: 表示校验失败。-4 :表示烧写失败。 |
| nodeId | String | 网关子设备本身唯一标识,比如IMEI、MAC地址或Serial No。如果nodeId的值为空,则代表网关和直连设备升级,如果nodeId有值,则表示网关子设备升级。 |
14. 设备上报固件版本
- 数据上行
- 请求topic:ota/{DeviceSecret}/version
- 响应topic:ota/{DeviceSecret}/version/feedback
- 只需要每次在 开机/重启/上线 的时候上报固件版本即可
- 请求格式
{
"id":"123",
"nodeId":35,
"data":{
"version": "1.0.1",
}
]
}
{
"id": "123",
"code": 200,
"data": {}
}
- 参数说明
| 参数 | 类型 | 说明 |
| —- | —- | —- |
| id | String | 消息ID号,由设备生成,设备维度唯一性。 |
| version | String | 设备中的固件版本。 |
| code | Integer | 结果信息。 |
| nodeId | String | 网关子设备本身唯一标识,比如IMEI、MAC地址或Serial No。如果nodeId的值为空,则代表网关和直连设备上报版本,如果nodeId有值,则表示网关子设备上报固件版本。 |
15. QQ问题交流群