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"
}
}