🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 概述 数据推送是用于开发者开发自己个性化业务系统时,让平台向用户指定的第三方URL地址通过Http或Https推送设备产生的数据(如设备变量数据,定位数据等)。 ### 操作流程 #### .需要准备一台有外网ip的服务器 #### .提供进行http推送地址校验和接收http数据推送的http服务 #### .把地址提供给坤典云平台配置Http推送地址 ### 推送地址校验 推送的时候会对接口进行校验,会向`提供的推送地址`上发送get请求,验证地址的合法性,需要返回相应的数据进行校验。 接口校验方式如下: | 请求类型 | get | | --- | --- | | 请求 | {url}?verify=0123abcd (随机8位数字或字母) | | 返回内容 | body为verify的值(如:0123abcd) 注:返回内容只有verify(8个字符)的值,不要加其它任何字符 | ### 推送限制 每个用户每秒最多推送10条数据,超出部分数据会丢失 ### 接口回复 * 服务器收到http推送后应立即进行回复,推送失败超过10分钟发送报警邮件和短信,超过半小时发送报警邮件和短信并关闭推送开关 * 正常回复`状态码:``Status Code:200 OK`,`body`中内容为空 * 服务器5秒内没有收到回复视为超时 ### http推送格式 类型:post 协议类型:http | 字段 | | 说明 | | --- | --- | --- | | | Content-Type | application/json | | body | | json格式 | #### 原始数据 | 类型 | 内容 | | 类型 | 说明 | | --- | --- | --- | --- | --- | | body | type | | transmission | 数据点类型 | | | deviceId | | string | 设备id | | | data | | base64 | 透传的数据(转为base64传输) | #### 设备数据点上报数据推送 | 类型 | | 内容 | | 类型 | 说明 | | --- | --- | --- | --- | --- | --- | | body | type | | | dataPoint | 数据点类型 | | | data | | | | 数据 | | | | dataPoints | | array | 内容如下 | | | | | dataPointId | int | 数据点id | | | | | slaveName | string | 从机名称 | | | | | variableName | string | 变量名称 | | | | | value | string | 数值 | | | | | err | int | 错误码。 0:正常,非0异常。 1:从机无应答 2:从机给了一个错误应答3:无法连接 4:无此key | | | | | time | long | 时间戳(秒) | | | | deviceId | | string | 设备id | | | | deviceName | | string | 设备名称 | `示例:` ``` { "type": "dataPoint", "data": { "version": 0, "dataPoints": [ { "dataPointId": 123123, "slaveName": "1", "variableName": "123", "value": "42.12", "err": 0, "time": 1539311832 } ], "deviceId": "123", "deviceName": "balabala" } } ``` #### 设备定位数据 | 类型 | | 内容 | | 类型 | | | --- | --- | --- | --- | --- | --- | | body | type | | | location | 数据点类型 | | | data | | | | 数据 | | | | position | | | | | | | | locationType | string | GPS, Cell等 | | | | | lng\_bd | string | 经度 - 百度 | | | | | lat\_bd | string | 纬度 - 百度 | | | | | lng\_wgs | string | 经度 - 原始 | | | | | lat\_wgs | string | 纬度 - 原始 | | | | | lng\_gcj | string | 经度 - 火星 | | | | | lat\_gcj | string | 纬度 - 火星 | | | | | time | string | 时间戳(秒) | | | | deviceId | | string | 设备id | | | | deviceName | | string | 设备名称 | `示例:` ``` { "type": "position", "data": { "version": 0, "position": { "locationType": "Cell", "lngBd": 0, "latBd": 0, "lngWgs": 0, "latWgs": 0, "lngGcj": 0, "latGcj": 0, "time": "1539311832" }, "deviceId": "123", "deviceName": "balabala" } } ```