header_logo
header_logo

使用文档

demo

usr_httppush_demo

概述

数据推送是用于开发者开发自己个性化业务系统时,让平台向用户指定的第三方URL地址通过Http或Https推送设备产生的数据(如设备变量数据,定位数据等)。
注:http推送有频率限制(具体见“推送限制”),对于大数据量高频率高实时性数据,建议使用javasdk

功能开启

共分两步
1. 有人云IoT->增值服务->购买基础二次开发包/购买企业版/购买旗舰版,获取二次开发权益(三项增值服务均提供数据推送服务)


2. 有人云IoT-> 扩展功能->二开申请,获取数据推送教程

操作流程

.需要准备一台有外网ip的服务器

.提供进行http推送地址校验和接收http数据推送的http服务

.有人云平台配置Http推送地址

配置Http推送目标地址

目标URL格式: {http/https}://{address}:{port}/{path},注:端口号为必须,不能省略

  • 全局推送

    全局推送:全局推送会向用户指定的url推送该账号下全部设备的数据;

  • 按组织推送

    按组织推送:按组织推送会向指定的url推送该组织下全部设备的数据;

推送地址校验

方向:有人云->用户提供的服务器

打开推送开关的时候会对接口进行校验,会向用户填写的推送地址上发送get请求,验证地址的合法性,需要返回相应的数据进行校验。
接口校验方式如下:

请求类型 get
请求 {url}?verify=1234abcd (随机8位数字或字母)
返回内容 body为verify的值(如:1234abcd) 注:返回内容只有verify(8个字符)的值,不要加其它任何字符

推送限制

基础二开每个用户每秒最多推送10条数据,高级二开每个用户每秒最多推送50条数据,超出部分数据会丢失

接口回复

方向:用户提供的服务器->有人云

  • 服务器收到http推送后应立即进行回复,推送失败未回复超过半小时关闭推送开关
  • 正常回复状态码: Status Code:200 OK,body 中内容为空
  • 服务器5秒内没有收到回复视为超时

http推送格式

类型:post
协议类型:http

字段 说明
Content-Type application/json
body json格式

原始数据

方向:有人云->用户提供的服务器

类型 内容 类型 说明

body
type transmission 数据点类型
cusdeviceNo string 设备编号
data base64 透传的数据(转为base64传输)

说明

有人云IoT中绑定模板的设备和添加到透传组的设备不推送原始数据

设备数据点上报数据推送

方向:有人云->用户提供的服务器

类型 内容 类型 说明

body
type dataPoint 数据点类型
data 数据
dataPoints array 内容如下
identifier string 变量标识
dataPointId int 变量id
slaveName string 从机名称
variableName string 变量名称
value string 数值
err int 错误码。
0:正常,非0异常。
1:从机无应答
2:从机给了一个错误应答3:无法连接
4:无此key
time long 时间戳(秒)
cusdeviceNo string 设备编号




示例:

  1. {
  2. "type": "dataPoint",
  3. "data": {
  4. "version": 0,
  5. "dataPoints": [
  6. {
  7. "identifier":"温度"
  8. "dataPointId": 123123,
  9. "slaveName": "1",
  10. "variableName": "123",
  11. "value": "42.12",
  12. "err": 0,
  13. "time": 1539311832
  14. }
  15. ],
  16. "cusdeviceNo": "1233123123123123"
  17. }
  18. }


设备定位数据

方向:有人云->用户提供的服务器

类型 内容 类型

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 网关编号


示例:

  1. {
  2. "type": "position",
  3. "data": {
  4. "version": 0,
  5. "position": {
  6. "locationType": "Cell",
  7. "lngBd": 0,
  8. "latBd": 0,
  9. "lngWgs": 0,
  10. "latWgs": 0,
  11. "lngGcj": 0,
  12. "latGcj": 0,
  13. "time": "1539311832"
  14. },
  15. "deviceId": "123"
  16. }
  17. }
方案咨询
联系方式