WebAPI接口说明
当企业自有平台或者第三方的平台系统(统称为第三方平台)需要与海为物联终端设备进行数据实时读写时,除了 MQTT 协议之外,还可以选择使用 Web Api 功能与设备实现数据交互,使用标准 HTTP POST 请求,包括支持 PHP、C#、Java、Go、Nodejs 等开发语言。
基本原理
Web Api 实现的基本原理,是通过在物联终端(HMI/BOX 等)的工程中的数据组来实现的,实现功能包括:
-
主动推送:数据组中可以选择将数据组的通道变量上报给指定的 URL 路径(URL 路径也可以通过 API 进行动态设置),可指定推送时机,包括有定时推送、间隔推送、触发推送、变动推送等,当推送时机触发时,会主动向指定的 URL 发送 Post 请求,请求中包括整个数据组的通道变量值;
-
接口调用:通过本文档规定的 Api 进行数据的读取和写入,但是只能读取数据组中的通道变量值,也只能写入数据组中勾选允许远程写入的通道,以提高远程操作安全性。
工程配置
1. 数据上报服务器配置
如上图可以获取 Web API 的私钥,在接口调用中需要用到;上图中的 API 主路径,可以通过 API 接口进行动态切换,以满足用户批量设备用于不同项目的需求。
2. 数据组配置
每个数据组可以定义一组的变量往一个第三方平台的 API 上报,支持多种上报时机选择,注意配置其中的通道标识,在接口调用中需要用到,其中的“允许远程写入”决定了接口是否可以写入该变量通道
主动推送
由第三方平台提供一个接收 POST 请求的 API,支持 HTTP 和 HTTPS,将该 API 的 URL 设置到工程中的数据上报服务器中,如果有多个接口需要接收主动推送的不同数据,则可以设置多个数据组分别上报给不同的接口,为了方便 URL 的配置和修改,支持只在数据上报服务器中设置主路径,在具体的数据组中设置子路径,在主动推送时,设备端会将主路径与子路径拼接后进行推送。
为了数据的安全不被随意截获,推送的数据支持加密后发送(需要在数据组中配置为加密模式),第三方需要进行解密,解密算法见本文档最后章节说明,当然也可以不选加密模式,则明文推送。
{
"_terminalTime": "2018-01-01 06:30:30",
"_groupTag": "my_group_tag",
"Y0": "1",
"V0": "99"
}