入门介绍
HTTP 基础知识
HTTP 是一种通用网络协议,可用于物联网应用程序。HTTP 协定基于 TCP,并应用申请 - 响应模型。
ThingsKit服务器节点充当反对 HTTP 和 HTTPS 协定的 HTTP 服务器。
对于一些十分繁多的利用场景,比方只须要定期采集上报数据,不论是疾速开发原型,还是小规模的利用,设施应用 HTTP 接入云平台也是不错的抉择。
事实上,将 HTTP 协定的简略易用施展到极致,便是 CoAP 协定,对于低功耗设施的繁多数据上报,应用 CoAP 更加符合要求。
HTTP 身份验证和错误代码
咱们将在本文中应用拜访令牌设施凭证,稍后将它们称为 $**ACCESS_TOKEN。** 应用程序须要在每个 HTTP 申请中蕴含 **$ACCESS_TOKEN** 作为门路参数。可能的错误代码及其起因:
- 400 有效申请 – 有效的 URL、申请参数或注释。
- 401 未经受权– 有效的$ACCESS_TOKEN。
-
404 未找到 – 未找到资源。
:::info
💡 提醒
设施应用 HTTP 接入 ThingsKit 平台,其产品协定应用 默认 即可。
:::遥测数据上传接口
为了将遥测数据公布到 ThingsKit 服务器节点,请向以下 URL 发送 POST 申请:
http(s)://host:port/api/v1/$ACCESS_TOKEN/telemetry
最简略的反对数据格式是:
{"key1":"value1", "key2":"value2"}
或者
[{"key1":"value1"}, {"key2":"value2"}]
请留神 ,在这种状况下,服务器端工夫戳将调配给上传的数据!
如果您的设施可能获取客户端工夫戳,您能够应用以下格局:{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}
调用管制接口
服务器端下发 RPC 命令
以下演示通过 Apifox 发送的 HTTP 遥测数据,通过浏览器进行的 RPC 命令订阅,订阅地址请参考 客户端订阅 RPC 命令
客户端订阅 RPC 命令
用户可从服务器订阅 RPC 命令,发送带有可选“timeout”申请参数的 GET 申请到以下 URL:
http(s)://host:port/api/v1/$ACCESS_TOKEN/rpc?timeout=2000
一旦订阅,如果没有对特定设施的申请,客户端可能会收到 RPC 申请或超时音讯。RPC 申请体示例如下所示:
{ "id": "1", "DO1":true }
-
id – 申请 id,整数申请标识符;可用于双向命令的响应。除开 id 以外的数据,均为用户输出的数据。
客户端 RPC 命令响应
能够应用 POST 申请对以下 URL 进行回复:
http(s)://host:port/api/v1/$ACCESS_TOKEN/rpc/{$id}
附:模仿设施接入示例
模仿 HTTP 设施接入
文章起源(首发地址):ThingsKit 物联网平台