HTTP 设备 API
基础入门
HTTP是一种通用网络协议,可用于 IoT 应用程序。您可以在 此处 找到有关 HTTP 的更多信息。 小波物联平台支持HTTP和HTTPS协议通信。
支持的HTTP协议版本
- 支持 Hypertext Transfer Protocol — HTTP/1.0 协议,具体请参见:RFC 1945
- 支持 Hypertext Transfer Protocol — HTTP/1.1 协议,具体请参见:RFC 2616
通道安全
使用HTTPS(Hypertext Transfer Protocol Secure协议)保证通道安全。
客户端测试软件
可以使用 Postman(点击可以下载) 或者 Talend API Tester(点击可以下载) 或者任意支持API测试的工具。
这里以 Postman 为例,其他软件同理。
HTTP身份验证和错误代码
我们将在本文中使用设备访问令牌,它也称为 $ACCESS_TOKEN。应用程序需要在每个 HTTP 请求中包含 $ACCESS_TOKEN 作为路径参数。
错误码说明:
code | message | 备注 |
---|---|---|
400 | Bad Request | 无效的请求地址、请求参数或请求正文 |
401 | Unauthorized | 无效的 $ACCESS_TOKEN |
404 | Not Found | 未找到 |
数据格式-键值对
默认情况下,物联平台支持以 JSON 格式的Key-Value内容。键始终是字符串,而值可以是string, boolean, double, long 或 JSON。例如:
{
"stringKey":"value",
"booleanKey":true,
"doubleKey":28.2,
"longKey":45,
"jsonKey": {
"number": 1,
"array": [100,200,300],
"object": {"key": "value"}
}
}
遥测上报接口
设备发送遥测数据到物联平台,请将 POST 请求发送到以下URL:
例如:假设当前设备名称为智能断路器,访问令牌$ACCESS_TOKEN为T0LR8GjS94KBooof****,那么您可以调用如下地址来上报数据。
http(s)://host:port/api/v1/$ACCESS_TOKEN/telemetry
支持的数据格式为:
{"key1":"value1", "key2":"value2"}
参数说明:
参数 | 说明 |
---|---|
Method | 请求方法,只支持POST方法。 |
URL | URL地址,支持HTTP/HTTPS |
Content-Type | 设备发送给物联网平台的上报数据的编码格式,目前只支持application/json。 若使用其他编码格式,会返回参数错误。 |
Body | JSON数据格式 |
请注意,在这种情况下,服务器端时间戳将分配给上传的数据!
如果您的设备能够获取客户端时间戳,您可以使用以下格式:
{"ts":1653667614599, "values":{"key1":"value1", "key2":"value2"}}
属性上报接口
上报属性到设备
客户端属性最常见的用法是报告设备状态,比如向平台报告设备已安装的固件、应用程序版本等
您可以将客户端设备属性发布到物联平台,请将 POST 请求发送到以下 URL:
http(s)://host:port/api/v1/$ACCESS_TOKEN/attributes
{"currentFirmwareVersion":"1.0.0"}
请求设备属性
您可以向物联平台请求客户端或共享设备属性,请将 GET 请求发送到以下 URL:
http(s)://host:port/api/v1/$ACCESS_TOKEN/attributes?clientKeys=attribute1,attribute2&sharedKeys=shared1,shared2
参数 | 说明 |
---|---|
Method | 请求方法,只支持Get方法。 |
URL | URL地址,支持HTTP/HTTPS |
clientKeys | 设备客户端属性,传入多个属性,请用逗号进行分割 |
sharedKeys | 设备共享属性,传入多个属性,请用逗号进行分割 |