使用G+link协议进行通信
更新时间: 2023-04-10
设备完成鉴权接入后,使用平台定义的G+link数据交互协议与平台进行数据交互。以下例举设备主要的上下行消息交互,完整消息G+link定义参考《开发者指南>设备管理>G+link数据交互协议》章节
# 属性状态批量上报
设备批量上报属性状态,适用于断线缓存上报、周期批量上报等场景。
此接口通过MQTT协议上报时,所以单次上报数据如超过MQTT payload限制,需通过切块或调用文件上传接口。
- 设备需发布消息到以下主题
thing/{productKey}/{deviceName}/property/batch
- 消息体
{
"reqId":"442c1da4-9d3a-4f9b-a6e9-bfe858e4ac43",
"method":"thing.property.post",
"version":"1.0",
"timestamp":1610430718000,
"properties":{
"sn":"ABC0000001",
"firmware_version":1.2,
"location":{
"latitude":80.001,
"longitude":120.1
}
}
}
# 事件单次上报
设备上报事件、遥测数据上报,例如温度、气压、电流电压等。设备端一次可以上报多个事件,服务端在订阅后按事件类型处理。
- 设备需发布消息到以下主题
thing/{productKey}/{deviceName}/event/post
- 消息体
{
"reqId":"442c1da4-9d3a-4f9b-a6e9-bfe858e4ac43",
"method":"thing.event.post",
"version":"1.0",
"timestamp":1610430718000,
"events":{
"sensors": {
"temperature":24,
"humidity":30
},
"coordinate": {
"longitude":0,
"latitude":0
}
}
}
# 服务端响应消息
对于所有设备端上报消息的接口,可以指定是否需要服务端进行响应,当设置为需要(needResponse=true) 时,则设备端可通过订阅这一接口获取应用端下发的执行结果。
- 应用端需发布消息到以下主题
thing/{productKey}/{deviceName}/response/c2d
- 消息体
{
"reqId":"442c1da4-9d3a-4f9b-a6e9-bfe858e4ac43",
"method":"thing.property.post",
"code":200,
"description":"The property 'sn' has been updated successfully.",
"params":{
"test":"hello world",
"format":"plain text"
}
}
更多设备与平台的交互,请查阅完整G+link协议。
上一篇: IoT设备5分钟上云 下一篇: 查询设备历史数据