文档中心
DOCUMENT CENTER
HTTP/HTTPS 接入

接入介绍

针对实时性要求不高的智能硬件, 格物云IoT平台定义了一套 HTTP/HTTPS 接入的协议, 该协议实现了实时数据的收集,属性的反馈,心跳包,及下行数据。

API 授权凭证

API 授权凭证为设备授权后得到的 access_token;

eg.

curl -H 'Authorization: Bearer access_token' you-api-url

接入方案

API 授权

通过 POST /api/grant 来获取设备授权。

curl https://iot.giveyun.com/api/grant/ \
    -d key=product_key \
    -d token=device_token
  • product_key 为产品的 key
  • device_token 为每个设备唯一的 token

授权成功返回

{
    "access_token": "d5687796-2edd-4d44-a74e-88313c35f253",
    "refresh_token": "ff6f4a7f-d99a-42fe-a19a-f3e85a7089c8",
    "expires_in": 604800,
    "created_at": 1594871510
}

刷新 API 授权信息

当授权信息快过期的时候通过 POST /api/refresh_token/ 来更新授权信息

curl https://iot.giveyun.com/api/refresh_token/ \
    -d refresh_token=refresh_token

刷新成功返回

{
    "access_token": "4f4a80f8-3fb9-49f7-aba1-3213ffbc6a44",
    "refresh_token": "5ed4e5dc-41c2-40f1-ab5d-1ad2e5ff3a27",
    "expires_in": 604800,
    "created_at": 1594871775
}

发布实时数据

通过 POST /api/telemetry/ 来发布实时数据,数据为 JSON 格式。

curl https://iot.giveyun.com/api/telemetry/ \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access_token' \
    -d '{"temperature": 20.7}'

发布实时属性

通过 POST /api/attributes/ 来发布实时属性,数据为 JSON 格式。

curl https://iot.giveyun.com/api/attributes/ \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access_token' \
    -d '{"switch_1_state": 1}'

发布心跳包

通过 POST /api/ping/ 来发布心跳包。

curl https://iot.giveyun.com/api/ping/ \
    -H 'Authorization: Bearer access_token' \
    -XPOST

下行数据

在发送心跳包,实时属性,实时数据的时候反馈结果为指令如下:

{
    "id": 1,
    "data": {
        "method": "open"
    }
}

当设备收到指令,并执行成功后,

通过 POST /api/downlink/ 来反馈执行完成

curl https://iot.giveyun.com/api/downlink/ \
    -H 'Authorization: Bearer access_token' \
    -XPOST

请求结果说明

失败结果

{
    "err": "error message"
}

成功结果

{
    "result": "OK"
}

指令结果

{
    "id": 1,
    "data": {
        "method": "open"
    }
}