# 设备 HTTP API

# 1 鉴权

参照 mqtt 鉴权数据,使用deviceSecret生成签名,按照 rfc3986 规则进行 url 编码后,添加到请求参数中。

  • 请求参数:

字段名

位置

说明

device_name

path

设备标识

product_key

path

产品标识

sign_method

path

签名算法:hmacsha256, hmacsha1

random

path

随机字符串,长度 8~16

sign

path

签名

  • 签名计算方式(同设备文件上传接口):

使用sign_method为签名算法,以device_secret为密钥,对拼接字符串计算签名,字符串固定格式为:"productKey{product_key}deviceName{device_name}random{random}"

  • 签名示例:

  • 请求示例:

POST https://app.api.fogcloud.io/openapi/v1/thing-uplink?
device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2 接口

整体 API 风格使用 rpc 风格,请求体、返回体和 mqtt 协议保持一致(http 协议返回体的 data 字段同 mqtt 协议 payload 的 params 字段),减少设备端和云端适配代码。

固定接入地址:(不建议,有安全问题)

http://app.api.fogcloud.io/openapi/v1/thing-uplink

或使用 https:

https://app.api.fogcloud.io/openapi/v1/thing-uplink

# 2.1 物模型

# 2.1.1 设备上报属性 (PostProperty)

  • 请求参数

字段名

位置

说明

action

path

PostProperty

event_id

path

物模型事件标识

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostProperty
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx
  • 返回示例
{
    "code": 0,
    "message": "SUCCESS",
    "data": {}
}

# 2.1.2 设备上报事件 (PostEvent)

  • 请求参数

字段名

位置

说明

action

path

PostEvent

event_id

path

物模型事件标识

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostEvent
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx
&event_id=xxxx

# 2.1.3 设备上报服务响应 (PostServiceReply)

  • 请求参数

字段名

位置

说明

action

path

PostServiceReply

service_id

path

物模型服务标识

  • 接口地址
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostServiceReply
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&ts=xxxx
&sign=xxxx
&service_id=xxxx

# 2.2 hex 数据

# 2.2.1 设备上报 hex 数据 (PostHex)

  • 请求参数

字段名

位置

说明

action

path

PostHex

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostHex
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.2.2 设备上报子设备 hex 数据 (PostSubHex)

  • 请求参数

字段名

位置

说明

action

path

PostSubHex

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostSubHex
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.3 modbus 数据

# 2.3.1 modbus 请求

  • 请求参数

字段名

位置

说明

action

path

PostModbus

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostModbus
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx
  • 请求体
{
  "id": 123,
  "version": "1.0",
  "method": "edge.get"
}

# 2.3.2 modbus 子设备数据上报

  • 请求参数

字段名

位置

说明

action

path

PostModbusSub

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostModbusSub
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.4 星型拓扑

  • 请求参数

字段名

位置

说明

action

path

PostStarTopo

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=StarTopo
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx
&method=add

# 2.5 mesh 拓扑

  • 请求参数

字段名

位置

说明

action

path

PostMeshTopo

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostMeshTopo
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.6 设备影子

  • 请求参数

字段名

位置

说明

action

path

PostShadow

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostShadow
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.7 ota

  • 请求参数

字段名

位置

说明

action

path

PostOTA

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostOTA
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.8 NTP

  • 请求参数

字段名

位置

说明

action

path

PostNTP

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostNTP
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.9 系统消息

  • 请求参数

字段名

位置

说明

action

path

PostSysMsg

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostSysMsg
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx

# 2.10 远程诊断

  • 请求参数

字段名

位置

说明

action

path

PostRemoteDiagnosis

  • 请求示例
POST http://app.api.fogcloud.io/openapi/v1/thing-uplink?action=PostRemoteDiagnosis
&device_name=xxxx
&product_key=xxxx
&sign_method=xxxx
&random=xxxx
&sign=xxxx
更新时间: 2024/7/31 14:20:29