# 物模型通信
数据上行:
topic | 说明 |
fogcloud/{pk}/{dn}/thing/up/property/post | 设备上报属性 |
fogcloud/{pk}/{dn}/thing/up/event/{event_id}/post | 设备上报事件 |
fogcloud/{pk}/{dn}/thing/up/sub | 网关上报子设备数据 |
fogcloud/{pk}/{dn}/thing/up/through | 设备上报透传数据 |
fogcloud/{pk}/{dn}/thing/up/service/{service_id}/reply | 设备响应服务调用请求 |
数据下行:
topic | 说明 |
fogcloud/{pk}/{dn}/thing/down/property/post_reply | 设备接收属性上报回复 |
fogcloud/{pk}/{dn}/thing/down/property/set | 设备接收 App 属性控制 |
fogcloud/{pk}/{dn}/thing/down/service/{service_id} | 设备接收服务 |
fogcloud/{pk}/{dn}/thing/down/sub | 网关接收子设备数据 |
fogcloud/{pk}/{dn}/thing/down/through | 设备接收透传数据 |
payload 公共字段说明
请求:
字段 | 类型 | 说明 |
id | uint32 | 设备上报时递增 |
version | string | 协议版本,目前为“1.0” |
timestamp | int32 | 时间戳,单位秒 |
method | string | 用于区分子设备数据业务类型 |
响应:
字段 | 类型 | 说明 |
id | uint32 | 与请求数据的 id 相同 |
code | int32 | 错误类型,0-成功,其他-参考错误代码 |
method 字段说明
method 字段 | 说明 |
property.post | 设备上报属性、网关上报子设备属性 |
property.set | 云端设置属性、云端设置子设备属性 |
event.{id}.post | 设备上报事件、网关上报子设备事件 |
service.{id} | 云端调用设备服务、云端调用子设备服务 |
# 1 设备属性
# 1.1 设备上报属性
数据上行:fogcloud/{pk}/{dn}/thing/up/property/post 数据下行:fogcloud/{pk}/{dn}/thing/down/property/post_reply
设备上行数据格式:
{
"id": 1,
"version": "1.0",
"timestamp": 1631585734,
"params": {
"property1": 1,
"property2": "on"
}
}
云端响应数据格式:
{
"id": 1,
"code": 0,
"params": {}
}
# 1.2 设置设备属性
数据下行:fogcloud/{pk}/{dn}/thing/down/property/set 数据上行:无
云端下行数据格式:
{
"id": 1,
"version": "1.0",
"timestamp": 1631585734,
"params": {
"property1": 1,
"property2": 2
}
}
# 2 设备上报事件
数据上行:fogcloud/{pk}/{dn}/thing/up/event/{event_id}/post 数据下行:fogcloud/{pk}/{dn}/thing/down/event/+/post_reply
设备上行数据格式:
{
"id": 1,
"version": "1.0",
"timestamp": 1631585734,
"params": {
"param1": 1,
"param2": "123"
}
}
云端响应数据格式:
{
"id": 1,
"code": 0,
"params": {}
}
# 3 设备服务
# 3.1 设备调用服务
数据下行:fogcloud/{pk}/{dn}/thing/down/service/+ 数据上行:fogcloud/{pk}/{dn}/thing/up/service/{service_id}/reply
云端下行数据格式:
{
"id": 1,
"version": "1.0",
"timestamp": 1631585734,
"params": {
"input1": 1, //对应物模型定义的对应服务的输入参数
"input2": 2
}
}
设备端响应数据格式:
{
"id": 1,
"code": 0,
"params": { //若该服务无返回,则为空
"output1": 1, //对应物模型定义的对应服务的输出参数
"output2": 2
}
}
# 4 批量上报子设备属性/事件
(子设备是 json 格式,网关是 json 格式)
数据上行:fogcloud/{pk}/{dn}/thing/up/sub
子设备数据上报类型根据 method 字段区分为属性上报或事件上报
设备端上行数据格式:
{
"id": 1,
"version": "1.0",
"params": [
{
"product_key": "22345600",
"device_name": "00000020",
"raw_data": {
"method": "property.post", //属性上报
"timestamp": 1631585734,
"params": {
"property1": 1,
"property2": "on"
}
}
},
{
"product_key": "22345600",
"device_name": "00000020",
"raw_data": {
"method": "event.event_id.post", //事件上报method格式:event.${event_id}.post
"timestamp": 1631585734,
"params": {
"field1": 1, // 入参1
"field2": "2" // 入参2
}
}
}
]
}
云端响应数据格式:
{
"id": 1,
"code": 0,
"params": {}
}
# 5 批量设置子设备属性/事件
(子设备是 json 格式,网关是 json 格式)
数据下行:fogcloud/{pk}/{dn}/thing/down/sub
云端下行数据格式:
{
"id": 1,
"version": "1.0",
"params": [
{
"product_key": "22345600",
"device_name": "00000020",
"raw_data": {
"method": "property.set",
"params": {
"property1": 1,
"property2": "on"
}
}
},
{
"product_key": "22345600",
"device_name": "00000001",
"raw_data": {
"method": "service.1",
"params": {
"param1": 1,
"param2": "on"
}
}
}
]
}
← 设备上报消息和下发指令 hex透传 →