首页 > 其他分享 >使用Postman测试MQTT协议接口

使用Postman测试MQTT协议接口

时间:2024-09-22 20:21:12浏览次数:10  
标签:请求 主题 代理 接口 MQTT 消息 Postman

MQTT概述

MQTT(Message Telemetry Transport)是一种用于物联网(IoT)的消息传递协议。它的使用范围从家庭自动化和可穿戴设备的小型设备到大型工业机械的自动化。它是一种轻量级技术,以发布/订阅模式为模型,其中连接到单个代理的客户端可以将消息发布到不同的主题,并订阅主题以接收来自其他连接的客户端的消息。消息以低带宽使用、低功耗和高效的信息分发方式传输到一个或多个接收器,所有这些都增加了MQTT的流行度。

使用Postman使用MQTT API

Postman为您提供了一个客户端接口来调试基于MQTT的API。如果您尚未安装Postman桌面应用程序,请下载并安装该应用程序。

您可以创建新的MQTT请求、连接到代理、订阅主题、发布消息以及查看从代理接收的消息。

使用MQTT请求界面

Postman中的MQTT请求包括各种工具、视图和控件,以帮助您调试和记录MQTT API。本主题重点介绍请求接口的各个部分并说明如何使用它们。

创建一个新的MQTT请求

通过选择侧边栏中的New按钮创建一个新的MQTT请求,这将打开Create new对话框。从列表中选择MQTT以在新选项卡中打开一个空白MQTT请求。

您还可以通过选择选项卡栏中的“新建选项卡”图标、选择请求名称旁边的“请求类型”按钮(无标题请求)并从列表中选择MQTT来创建新的MQTT请求。

MQTT请求接口

在请求接口中,您可以添加配置以连接到MQTT代理、订阅主题和发布消息。此外,您可以随请求一起添加遗嘱详细信息、授权详细信息、属性和设置。

  • 输入URL- 这是您输入经纪人地址的地方,例如test.mosquitto.org.某些MQTT服务还要求您定义端口号。您可以通过将端口号附加到URL来在URL中定义端口号。比如说,test.mosquitto.org:1883.

要通过TLS连接到代理,您需要使用mqtts://作为URL方案。例如,mqtts://test.mosquitto.org。

    • MQTT版本-每个MQTT版本在协议功能方面都有一些区别。Postman支持MQTT的两个主要版本:3.1.1和5.0。默认情况下选择版本5.0。
    • 客户端ID -客户端ID是区分连接到代理的每个客户端的标识符。默认情况下,Postman为每个请求生成一个随机的客户端ID。您可以通过选择客户端ID并输入自定义客户端ID来覆盖此设置。
  • 消息- 这是您编写消息并将其发布到代理的地方。您可以在文本区域中编写消息,输入主题名称,然后选择发送发布消息
    • 消息类型-您可以将消息类型定义为Text、JSON、Base64或Hexadecimal,以便Postman正确呈现它。
    • 更多操作图标 - 您可以在此处为每条消息添加自定义属性和设置。设置包括以下内容:
      • 专题讨论
      • 回应主题
      • 相关性数据
      • 消息过期间隔
      • 内容类型
      • 有效载荷格式指示符
    • 保留- Retain是一个标志,它要求代理保留在主题上发送的最后一条消息,并将其发送给新的订阅者。代理将保留最后一条消息,即使新的订阅者在消息从客户端发送后加入网络。您可以通过选择更多操作图标来配置邮件的保留标志并切换保留开关.
    • QoS -服务质量(QoS)定义了消息传递的保证。您可以通过从邮件列表中选择QoS级别来配置邮件的QoS级别。
    • 添加主题-您可以定义消息的主题名称。代理使用主题名将消息路由到适当的订阅者。
    • Send -配置了有效负载后,选择Send将消息发布到代理。
  • 主题-这是您可以列出和记录多个主题并订阅它们的地方。您还可以为列出的每个主题配置QoS级别。
  • 最后遗嘱- Last Will是当客户端从代理断开连接时由代理发送给订阅者的消息。您可以通过转到最后遗嘱选项卡,输入消息,并配置其他设置,如主题名称、QoS级别和保留标志。您还可以通过选择更多操作图标来配置延迟间隔,并以毫秒为单位输入延迟间隔。
  • 授权-使用基本身份验证授权您的连接。您可以使用Authorization选项卡以用户名和密码的形式将凭据传递给代理。
  • 属性-您可以将自定义属性添加到您的请求。这些属性在连接到代理时发送。
  • 设置-您可以通过转到设置选项卡为您的请求配置其他设置。您可以配置请求超时,启用/禁用SSL证书验证,清理会话和自动重新连接。

MQTT响应

当您连接到代理时,响应区域将创建一个消息流,在单个会话中显示不同主题的已发布和已接收消息(直到您选择Disconnect)。

消息-消息流在时间轴中显示已发布和已接收的消息。您可以展开消息以查看消息详细信息,如主题名称、QoS级别、保留标志和消息类型。您可以使用搜索栏搜索特定的邮件,按接收和发送过滤邮件,并使用“清除邮件”清除邮件流。

可视化-可视化选项卡以图形格式显示消息流,这是一种更易于理解的查看遥测数据的方式。该界面分为多个窗口,每个主题您已收到的消息。对于JSON响应,第一个字段的值绘制在图上。您可以更改所选字段,并添加更多字段以并排比较值。您还可以将可视化样式从折线图更改为条形图。

使用右侧边栏

右侧边栏让您可以访问更多工具和信息,如文档,评论和请求详细信息。打开一个GraphQL请求,然后在右侧边栏中选择一个选项:

  • 索取文件- 选择文档图标,查看请求的描述。您可以通过选择编辑图标来添加描述在描述旁边,然后使用Postman的内置编辑工具.
  • 评论- 选择注释图标在开发API时与您的团队成员协作。您可以使用@标记其他人以提出问题、提供反馈和讨论您的API。
  • 请求信息- 选择信息图标查看有关请求的更多详细信息,如请求ID和创建日期。

创建第一个MQTT请求

在这个MQTT请求的示例中,您将连接到公共代理,订阅主题,发布消息并可视化响应。

创建MQTT请求

在Postman中,选择New MQTT以创建新请求。(In Postman桌面应用程序,您也可以选择Ctrl +N或Ctrl+N,然后选择MQTT)。

通过Postman连接到代理

要连接到MQTT服务,您需要一个代理URL。这个例子使用了公共代理test.mosquitto.org。您还可以使用任何其他公共代理或托管在本地机器上的代理。

  1. 输入test.mosquitto.org作为请求URL。
  2. 选择Connect以连接到代理。

响应区域中的消息表明您已连接到代理。

如果您正在使用Postman Web应用程序,请使用Postman Desktop Agent连接到MQTT代理。有关详细信息,请参阅关于Postman代理

预订主题

连接到代理后,选择Topics选项卡。这使您能够创建、记录和订阅多个主题。

  1. 在“主题”列中,输入my-toys作为主题名称。
  2. 选择订阅以订阅主题。

响应区域中将显示一条消息,指示您已订阅该主题。

发布消息

您可以使用Message选项卡编写消息并将其发送到代理。

  1. 选择“消息”选项卡并输入{"age": 2, "number of toys": 5}作为消息。
  2. 输入my-toys作为主题名称。
  3. 选择发送以发布消息。

响应区域中会出现一条传出消息,指示消息已发布。因为您已经订阅了主题my-toys,所以您还将看到具有相同正文的传入消息。继续发送更多的信息,计算你成长过程中拥有的玩具数量。

可视化响应

现在您已经订阅了一个主题并发布了一些消息,您可以使用Postman Visualizer以更易于理解的格式查看消息。

  1. 切换到响应区域中的“可视化”选项卡。您将看到age字段的消息显示为折线图。
  2. 选择字段名称列表以选择要可视化的字段。
  3. 选择+将更多字段添加到图表并查看值的更改。
  4. 选择图标来更改图表类型。

当您收到同一主题的新消息时,可视化效果会真实的变化。

下一步

尝试一次订阅多个主题并向其发布消息。

标签:请求,主题,代理,接口,MQTT,消息,Postman
From: https://blog.csdn.net/TalorSwfit20111208/article/details/142424256

相关文章

  • SpringBoot接口防抖(防重复提交)的一些实现方案
    Java专栏2024年09月20日12:20甘肃来源:juejin.cn/post/7308992638468227109前言啥是防抖思路解析分布式部署下如何做接口防抖?具体实现请求锁唯一key生成重复提交判断前言作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多......
  • Java创建接口详细过程
    在Java中,创建mapper、dao(数据访问对象)、service、serviceImpl(service实现类)、controller等组件是构建企业级应用常见的分层架构模式。这种分层架构有助于实现高内聚低耦合的设计,提高代码的可维护性和可扩展性。mapperrXML文件创建MapperXML文件用于定义Java对象和数据库表......
  • 论 JAVA 集合框架中 接口与类的关系
    前言这是笔者在学习过程中的一篇"备忘录",其目的是能用最EZ最粗鄙的语言口述出JAVA集合框架中所有类与接口的关系本人在不断地学习中,总会混淆集合框架中的类和接口,以及它们的作用关系,虽然不影响我的使用,但是我也不想一直糊涂下去,故而趁知识还没混淆之际,赶紧写下来.......
  • 淘宝商品详情数据接口包括哪些参数
    ‌淘宝商品详情数据接口‌的参数主要包括商品ID(num_iid)、是否获取促销价(is_promotion)、返回的字段列表(fields)等。这些参数的选择可以根据开发者的需求灵活调整,以获取所需的商品详情信息。‌商品ID(num_iid)‌:这是淘宝商品详情数据接口的核心参数,用于唯一标识一个淘宝商品。通过......
  • 淘系商品评论数据洞察:通过接口挖掘用户反馈
    淘宝商品评论API接口是淘宝开放平台提供的一种应用程序接口,它允许第三方开发者通过特定的请求方式和参数,获取淘宝商品的评论数据。   ——在成长的路上,我们都是同行者。这篇关于淘系商品评论数据洞察:通过接口挖掘用户反馈的文章,希望能帮助到您。期待与您继续分享更多......
  • QT硬件接口设计
    QT硬件接口设计使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT......
  • 在没有本地安装的情况下在 Postman 上测试您的端点
    当我的笔记本电脑损坏时,我不得不切换回旧的Windows8机器。安装Rust、Linux和IDE等开发工具非常麻烦,特别是因为我依靠Postman来测试我的服务器端点。为了避免安装Postman,我发现它提供了一个Web应用程序。然而,出于安全原因,网页版不支持localhost,这非常令人失望。经过一......
  • 接口统一用 POST 请求原因
    在公司规定所有接口都使用POST请求可能有以下几个原因:一、数据安全性考虑1.参数隐藏   POST请求将数据放在请求体中,不像GET请求那样将参数暴露在URL中。这样可以减少敏感信息被直接看到的风险,例如用户的密码、身份证号等重要数据在传输过程中不容易被窃取。......
  • D13【python接口自动化学习】-python基础之内置数据类型
    day13集合学习日期:20240920学习目标:内置数据类型--22常见常新:集合的常见操作学习笔记:集合与set对象创建set对象set对象的常用操作#使用set对象对元组去重color=('r','g','b','g','b','b')#创建元组new_color=set(color)#转换set对象去重print(new_color)#......
  • D14【python接口自动化学习】-python基础之内置数据类型
    day14字典的定义学习日期:20240921学习目标:内置数据类型--23字典:如何处理映射类型的数据?学习笔记:映射与字典字典的定义字典的删除总结字典用于存储键值对,键值对之间有关联字典键要求可哈希,一般采用字符串,元组做字典的键值可以使用dic()函数、推导式和花括号{}三......