数据交互协议
更新时间: 2023-04-13
G+link协议是针对物联网开发设备和应用开发设计的数据交换规范,包含设备与云端、应用与云端进行交互的接口和数据格式规范,极大的简化和规范了物联网设备和业务应用开发过程的数据交互逻辑。
设备端按照G+link规范组织数据上报送给云端,云端工程师遵从同样的规范,获得及处理设备数据。
云端按照G+link组织数据下发给设备,硬件工程师获得标准格式的数据进行逻辑处理,驱动设备完成操作。
设备端、云端开发解耦,解除相互依赖,云端可以按G+link规范模拟数据进行开发测试;设备端可以在云端使用模拟工具下发符合G+link协议的测试数据,而不依赖于应用侧开发完成,效果与应用下发完全一致。
搭配物模型使用,即可轻松构建物联网设备特征,通过功能建模将各类设备统一抽象为云端的资源,并对外暴露相应的接口,以满足不同场景下不同系统的调用和快速集成。
以下为介绍使用G+link协议下,设备的上线流程和数据交互接口。
# 设备接入流程
设备向物联网平台请求鉴权,获取设备接入配置
获取并保存设备接入资源配置信息
连接平台发送和接收消息
# 设备数据交互接口列表
#
类型 | 名称 | 接口类 | 设备端权限 | 服务端权限 |
生命周期状态相关 | 设备上下线状态变更 | thing/{productKey}/{deviceName}/lifecycle/post | 发送 | 接收 |
上下线状态变更通知 | thing/{productKey}/{deviceName}/lifecycle/post | - | 接收 | |
设备属性上报 | 属性状态单次上报 | thing/{productKey}/{deviceName}/property/post | 发送 | 接收 |
属性状态批量上报 | thing/{productKey}/{deviceName}/property/batch | 发送 | 接收 | |
设备事件上报 | 事件单次上报 | thing/{productKey}/{deviceName}/event/post | 发送 | 接收 |
事件批量上报 | thing/{productKey}/{deviceName}/event/batch | 发送 | 接收 | |
设备服务调用 | 更新设备可写属性 | thing/{productKey}/{deviceName}/property/invoke | 接收 | 发送 |
云端调用设备端服务 | thing/{productKey}/{deviceName}/command/invoke | 接收 | 发送 | |
设备端回复响应消息 | thing/{productKey}/{deviceName}/response/d2c | 发送 | 接收 | |
设备请求云端服务 | 设备端调用云端服务 | thing/{productKey}/{deviceName}/service/invoke | 发送 | 接收 |
服务端回复响应消息 | thing/{productKey}/{deviceName}/response/c2d | 接收 | 发送 | |
网关与子设备相关 | 子设备上下线状态变更 | thing/{productKey}/{deviceName}/lifecycle/post | 发送 | 接收 |
请求网关与子设备拓扑信息 | thing/{productKey}/{deviceName}/service/invoke | 发送 | 接收 | |
下发网关与子设备拓扑信息 | thing/{productKey}/{deviceName}/response/c2d | 接收 | 发送 | |
子设备消息上下行 | thing/{productKey}/{deviceName}/property/post | 发送 | 接收 | |
影子服务相关 | 更新设备期望属性状态 | thing/{productKey}/{deviceName}/property/desired | 发送 | 接收 |
请求设备影子快照 | thing/{productKey}/{deviceName}/property/get | 发送 | 接收 | |
下发设备影子快照 | thing/{productKey}/{deviceName}/property/snapshot | 接收 | 发送 | |
清空设备属性状态值 | thing/{productKey}/{deviceName}/property/delta | 发送 | 接收 | |
属性状态与期望值的差异通知 | thing/{productKey}/{deviceName}/response/c2d | 接收 | 发送 | |
设备影子变更通知 | thing/{productKey}/{deviceName}/property/documents | 接收 | 发送 | |
自定义消息透传 | 消息透传上报 | thing/{productKey}/{deviceName}/raw/d2c | 发送 | 接收 |
消息透传下发 | thing/{productKey}/{deviceName}/raw/c2d | - | 接收 |