HTTP协议接入物联网平台(Getman模拟)

简介: 本文将使用Getman模拟设备模拟HTTP请求,进行接入测试

作者:三烽

概述


阿里云物联网平台支持设备使用HTTP接入,目前仅支持HTTPS协议。本文将使用Getman模拟设备,进行接入测试。
官方文档:HTTP连接通信


说明与限制

  • HTTP通信方式适合单纯的数据上报的场景。
  • HTTP服务器地址为:https://iot-as-http.cn-shanghai.aliyuncs.com
  • 目前,仅中国(上海)地域支持HTTP通信。
  • 只支持HTTPS协议和POST请求方式。
  • Topic规范和MQTT的Topic规范一致。使用HTTP协议连接,上报数据请求:https://iot-as-http.cn-shanghai.aliyuncs.com/topic/ ${topic}。其中,Topic变量${topic}的值可以与MQTT连接通信的Topic 相复用。不支持以?query_String=xxx格式传参。
  • 数据上行接口传输的数据大小限制为128 KB。
  • 设备认证请求的HTTP header中的Content-Type必须为application/json。
  • 数据上报请求的HTTP header中的Content-Type必须为application/octet-stream。
  • 设备认证返回的token会在一定周期后失效(目前token有效期是7天),请务必考虑token失效逻辑的处理。

接入流程


认证设备,获取设备的token

POST /auth HTTP/1.1
Host: iot-as-http.cn-shanghai.aliyuncs.com
Content-Type: application/json
body: {"version":"default","clientId":"mylight1000002","signmethod":"hmacsha1","sign":"487014","productKey":"ZG1E","deviceName":"NlwaS**","timestamp":"1501668289957"}
  • 请求参数说明
参数 说明
Method 请求方法。支持POST方法。
URL /auth,URL地址,只支持HTTPS。
Host endpoint地址:iot-as-http.cn-shanghai.aliyuncs.com
Content-Type 设备发送给物联网平台的上行数据的编码格式。目前只支持 application/json。若使用其他编码格式,会返回参数错误。
body 设备认证信息。JSON数据格式。具体信息,请参见body说明
  • 返回示例
body:
{
  "code": 0,//业务状态码
  "message": "success",//业务信息
  "info": {
    "token":  "6944e5bfb92e4d4ea3918d1eda3942f6"  //需本地保存
  }
}

上报数据,发送数据到某个自定义Topic

  • 上报数据请求
POST /topic/${topic} HTTP/1.1
Host: iot-as-http.cn-shanghai.aliyuncs.com
password:${token}
Content-Type: application/octet-stream
body: ${your_data}
  • 请求参数说明
参数 说明
Method 请求方法。支持POST方法。
URL /topic/ 0074.png?V=2.7.2006F.png?V=2.7.20070.png?V=2.7.20069.png?V=2.7.20063.png?V=2.7.2。其中,变量{topic}需替换为数据发往的目标Topic。只支持HTTPS。
Host endpoint地址:iot-as-http.cn-shanghai.aliyuncs.com
password 放在Header中的参数,取值为调用设备认证接口auth返回的token值。
Content-Type 设备发送给物联网平台的上行数据的编码格式。目前仅支持application/octet-stream。若使用其他编码格式,会返回参数错误。
body 发往${topic}的数据内容。
  • 返回示例
body:
{
  "code": 0,//业务状态码
  "message": "success",//业务信息
  "info": {
    "messageId": 892687627916247040,
  }
}

Getman模拟过程


认证设备

  • URL和Header

    image
  • body

    ac5281392c60a280eb091d19b23c3cba46021dae.png

sign可以使用工具快速计算得到,请参考此处password的计算

  • 返回结果

    911203cbfada0c79424fc58ec60fe321364e489a.png

上报数据

  • 使用自定义topic

    image
  • URL和Header

    image
  • body

    8599b55e89a10a8ac71391e449d44919ebaecb24.png
  • 返回结果

    c0933ff94d89cf15b8734514fb3a70d38d24685c.png
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
24天前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
53 1
|
1月前
|
网络协议 Linux
HTTP协议基本原理简介(二)
HTTP协议基本原理简介(二)
23 1
|
1月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
141 0
|
1月前
|
XML 编解码 JSON
【开源视频联动物联网平台】协议包管理
【开源视频联动物联网平台】协议包管理
35 1
|
1月前
|
消息中间件 边缘计算 物联网
【开源视频联动物联网平台】如何解决物联网协议多样性问题
【开源视频联动物联网平台】如何解决物联网协议多样性问题
59 0
|
1月前
|
缓存 前端开发
HTTP协议基本原理简介(三)
HTTP协议基本原理简介(三)
15 1
|
8天前
|
缓存 网络协议
【计算机协议】第一章——HTTP协议详解
【计算机协议】第一章——HTTP协议详解
|
9天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
11天前
|
缓存 安全 网络协议
Http协议是什么
【4月更文挑战第12天】HTTP是用于从WWW服务器传输超文本到浏览器的协议,基于TCP/IP,特点包括无连接、无状态、面向对象、无阻塞和可缓存。它的工作原理是客户端发送请求,服务器处理后返回响应。自1989年创建以来,HTTP已发展支持多媒体内容传输,并通过HTTPS提供安全保护。学习更多可参考计算机网络技术文献。
18 6
|
14天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
25 0

相关产品

  • 物联网平台