达实AIoT
文档中心
快速开始
  • 单点登录对接
  • 开放接口对接
  • 领域模型事件对接
  • 私有部署
  • 应用开发指南
  • DASDesign
IoT平台
应用平台
  • 低代码工具
  • 基础服务
  • 系统运维
  • 场景模型
应用
  • 物业管理
  • 数据中心
  • 智慧园区IPS
  • 园区服务
  • 物业管理
  • 场景模型
  • 会议
  • 门禁
  • 停车场
文档中心
快速开始
  • 单点登录对接
  • 开放接口对接
  • 领域模型事件对接
  • 私有部署
  • 应用开发指南
  • DASDesign
IoT平台
应用平台
  • 低代码工具
  • 基础服务
  • 系统运维
  • 场景模型
应用
  • 物业管理
  • 数据中心
  • 智慧园区IPS
  • 园区服务
  • 物业管理
  • 场景模型
  • 会议
  • 门禁
  • 停车场
期待您的声音
  1. 开放协议接入
  • 平台介绍
    • 平台概述
    • 接入方式
    • 快速入门
    • 应用场景
    • 技术架构
    • 技术优势
  • 操作指南
    • 设备安全认证
      • 概述
      • 一机一密
      • 一型一密
      • X.509认证
    • 实例
      • 实例管理
    • 产品管理
      • 创建单个产品
      • 批量创建产品
      • 删除产品
      • 方法
      • Topic管理
      • 扩展信息
      • 编解码插件
    • 物模型
      • 物模型介绍
      • 产品品类
      • 单个添加物模型
      • 批量添加物模型
      • 物模型TSL字段说明
      • 物模型支持的数据类型
    • 设备管理
      • 创建单个设备
      • 批量创建设备
      • 查看设备
      • 设备状态
      • 删除设备
      • 启停设备
      • 在线调试
      • 子设备
      • 设备影子
      • 标签
      • 文件管理
    • 规则引擎
      • 数据转发
      • SQL语句
      • 触发事件列表
        • 设备添加
        • 设备删除
        • 设备更新
        • 设备属性上报
        • 设备状态变更
        • 批量任务状态变更
        • 产品添加
        • 产品删除
        • 产品更新
        • 设备服务调用
        • 设备事件上报
        • 批量任务ota升级
        • 设备消息(按自定义topic上报消息)
    • 运维监控
      • OTA升级
      • 设备模拟器
      • 消息跟踪
    • 平台融合
      • 平台融合
    • 总览
      • 总览
    • 群组
      • 群组
    • 数据存储
      • 数据存储
    • 审计日志
      • 日志查询
      • 日志配置
  • 开发参考
    • 第三方子系统接入指南
    • 云端开发指南
      • 设备中心API参考
        • 设备属性控制(支持批量)
        • 设备服务控制(同步)
        • 设备列表查询
        • 获取设备属性列表
        • 获取设备事件列表
        • 获取设备服务列表
        • 获取属性当前数据
        • 获取设备属性历史数据
        • 获取设备的属性的实时值
        • 批量获取多个设备的属性当前数据
        • 批量获取设备位置信息
        • 分页获取设备统计信息
        • 分页查询符合条件的设备列表
        • 项目绑定设备
        • 项目解绑设备
        • 获取设备详情
        • 发送设备属性
        • 发送设备服务(同步)
        • 获取设备全部属性
        • 查询设备属性当前数据
        • 获取设备全部事件
        • 获取设备全部服务
        • 分页查询属性历史数据
      • IoT平台API参考
        • 产品管理
          • 产品分页
          • 产品详情
          • 新增产品
          • 删除产品
          • 更新产品
          • 获取物模型信息
          • 获取产品信息列表(带连接信息)
        • 设备管理
          • 修改设备
          • 批量删除设备
          • 新增设备
          • 分页查询符合条件的设备集合
          • 启停设备
          • 获取设备详情
          • 获取设备服务历史数据
          • 获取设备事件历史数据
          • 获取设备属性历史数据
          • 新增设备
          • 修改设备
          • 获取设备详情
          • 启停设备
          • 批量删除设备
          • 分页查询符合条件的设备集合
          • 查询所有属性数据
          • 分页查询属性历史数据
          • 分页查询服务历史数据
          • 分页查询事件历史数据
        • 设备命令
          • 发送服务
          • 同步发送服务
        • 设备属性
          • 查询所有属性数据
          • 在线调试-下发属性(同步)
        • 设备组管理(群组)
          • 解绑设备
          • 修改群组
          • 删除群组
          • 新增群组
          • 绑定设备
          • 列表查询
          • 分页查询符合条件的设备集合
          • 新增群组
          • 修改群组
          • 删除群组
          • 群组绑定设备
          • 群组解绑设备
        • 设备影子
          • 获取设备影子数据
          • 设置期望值
        • 设备控制
          • 下发属性
          • 下发属性(同步)
          • 发送服务
          • 发送服务(同步)
        • 云端数据上报
          • 云端上报设备属性
          • 云端上报设备事件
    • 设备接入
      • 设备接入概览
      • 设备接入手册
      • 开放协议接入
        • MQTT协议接入
        • 基于MQTT协议的设备动态注册
        • MQTT协议接入 - X.509证书认证
        • CoAP协议接入
        • CoAP协议接入 - Java代码示例
        • HTTP协议接入
      • 消息通信Topic
        • Topic定义
        • 报文定义
          • 系统基本功能 - 心跳
          • 系统基本功能 - 时间校准
          • 属性 - 属性上报
          • 属性 - 批量属性上报
          • 属性 - 属性查询全量
          • 属性 - 属性写值
          • 属性 - 属性查询
          • 事件 - 事件上报
          • 服务 - 服务下发
          • 在线状态 - 在线状态查询全量
          • 在线状态 - 子设备上线
          • 在线状态 - 子设备下线
          • 动态注册 - 子设备动态注册
          • 文件管理 - 获取文件上传URL
          • ota升级 - 升级包信息
          • ota升级 - 下载进度上报
          • ota升级 - 升级进度上报
          • ota升级 - 重新下发ota升级任务上报
          • ota升级 - 升级成功上报
          • ota升级 - 设备版本上报
          • 远程调用 - RPC通道
          • 设备信息 - 获取设备信息
          • 设备信息 - 获取子设备信息
          • 设备影子 - 获取影子数据
      • 设备接入SDK
        • .NET Link SDK
          • 物模型通信
          • 环境要求与配置
          • 认证与连接
          • 发布记录
          • 基于MQTT Topic通信
        • Java Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
        • Python Link SDK
          • 获取SDK
          • 认证与连接
          • 物模型通信
        • Go Link SDK
          • 物模型通信
          • 认证与连接
          • 获取SDK
        • Node.js Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
        • C Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
    • PulsarMQ服务端开发指南
      • 设备属性上报的订阅
      • 设备事件上报的订阅
  • 常见问题
    • IoT物联网平台相关问题
    • 应用集成相关问题
  1. 开放协议接入

HTTP协议接入

物联网平台支持以HTTP协议接入设备数据。设备使用HTTP协议接入物联网平台,需要先进行设备认证,获取设备的token,携带token进行数据上报。

物联网平台#

适合单纯的数据上报场景,数据上行接口传输的数据大小限制为128 KB。
Topic规范和MQTT的Topic定义一致,可以复用MQTT连接通信的Topic。使用HTTP协议连接,上报数据请求:${endpoint}/api/iot-link/auth/v1/${instanceId}/publish?topic=${topic}(注意topic要进行URL编码)。
HTTPS协议接入仅支持POST请求方法。
设备认证返回的token会在一定周期后失效。目前token有效期是7天,请务必考虑token失效逻辑的处理。

接入流程#

接入流程主要包含:进行设备认证以获取设备token、使用获取的token进行持续地数据上报。
1.
认证设备,获取设备的token。
认证设备请求:
参数说明
Method请求方法,只支持POST方法。
URLURL地址,只支持HTTPS,取值:/auth。
HostHTTP接入地址
Content-Type设备发送给物联网平台的上行数据的编码格式,目前只支持application/json。若使用其他编码格式,会返回参数错误。
Content-LengthHTTP消息体body的传输长度。重要对于字段Content-Length,HTTP/1.1及之后版本协议中,默认已携带,HTTP/1.0及之前版本协议中,默认未携带。使用HTTP协议认证设备时,必须传入字段Content-Length。字段Content-Length值必须与body传输长度完全一致,否则无法正确解析body内容,设备认证会失败。
body设备认证信息。JSON数据格式。具体信息,请参见下表。
字段名称是否必需说明
productId是设备所属产品的productId。可从物联网平台控制台对应实例下的设备详情页面获取。
deviceId是设备ID。可从物联网平台控制台对应实例下的设备详情页面获取。
clientId是客户端ID。长度为64字符内,建议以MAC地址或SN码作为clientId。
timestamp否时间戳。校验时间戳15分钟内的请求有效。时间戳格式为数值,值为自GMT 1970年01月01日0时0分到当前时间点所经过的毫秒数。
sign是签名。签名计算格式为hmacmd5(DeviceSecret,content)。其中,content为将所有提交给服务器的参数(除version、sign和signmethod外),按照英文字母升序,依次拼接排序(无拼接符号)的结果。签名示例:假设clientId = 127.0.0.1,deviceId = http_test,productId = a1FHTWxQ****,timestamp = 1567003778853,signmethod = hmacmd5,deviceSecret = 89VTJylyMRFuy2T3sywQGbm5Hmk1****,签名计算为:hmacmd5("89VTJylyMRFuy2T3sywQGbm5Hmk1****","clientId127.0.0.1deviceIdhttp_testproductIda1FHTWxQ****timestamp1567003778853").toHexString();其中,toHexString()是将计算结果二进制数据的每个byte按4 bit转化为十六进制字符串,大小写不敏感。例如,计算结果byte数组是:[60 68 -67 -7 -17 99 30 69 117 -54 -58 -58 103 -23 113 71],转换后得到的字符串为:3C44BDF9EF631E4575CAC6C667E97147。
signmethod否算法类型,支持hmacmd5和hmacsha1。若不传入此参数,则默认为hmacmd5。
version否版本号。若不传入此参数,则默认default。
设备认证返回结果示例:
{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiI2QVpDZ1gxMTA3NjczNzQzNzg3MzUyMDY0IiwiZGV2aWNlSWQiOiI2QVpDZ1gxMTA3NjczNzQzNzg3MzUyMDY0IiwicHJvZHVjdElkIjoiQzFNZmxZeDVhTGtNd0ZMek5Nd2E5M2l1ZCIsImNsaWVudElkIjoiMTIzNDUiLCJpYXQiOjE2ODY4MzMyNDcsImV4cCI6MTY4Njg0MDQ0N30.JcuyyPqYMSgwUhXxGLClb6Ev7Th31uPbe6ccgEo0a7w"
}
说明
请将返回的token值缓存到本地。
每次上报数据时,都需要携带token信息。如果token失效,需要重新认证设备获取token。
2.
上报数据。
设备发送数据到某个Topic,只支持发布权限的Topic,支持自定义Topic。
例如:Topic为sys/{product_id}/{device_id}/thing/properties/up,假设当前设备ID为device123,产品的ProductKey为a1GFjLP****,那么您可以调用 /api/iot-link/auth/v1/${instanceId}/publish?topic=sys%2Fa1GFjLP****%2Fdevice123%2Fthing%2Fproperties%2Fup地址来上报数据。
上报数据请求:
参数说明
Method请求方法,只支持POST方法。
URL/api/iot-link/auth/v1/${instanceId}/publish?topic=${topic}。其中,变量${topic}需替换为数据发往的目标Topic,并且需要进行URL编码
HostEndpoint地址。
AuthorizationBearer ${token},token取值为调用设备认证接口auth返回的token值。
Content-Type设备发送给物联网平台的上行数据的编码格式,目前仅支持application/octet-stream。若使用其他编码格式,会返回参数错误。
Content-LengthHTTP消息实体的传输长度。
body发往${topic}的数据内容。数据内容的格式参考MQTT的Topic定义
返回结果:
上报成功时,返回200状态码,失败时,若请求报文中携带的ack值为1,则返回具体失败原因,例如:
{
     "id": "519acb72-29a9-4a51-9317-b1eeb811481e",
     "code": 460,
     "message": "[TSLParser] 6AZCgX1107673743787352064:properties:#0000:CurrentTemperature: the float must between 2.1 ~ 38.0"
}

期待您的宝贵建议

微信扫描二维码,为我们的AIoT产品提出您的宝贵建议,用户体验是我们坚持不懈的追求。

微信扫描二维码
上一页
CoAP协议接入 - Java代码示例
下一页
Topic定义
Built with