MQTTBox 指南:功能、演示和使用技巧

MQTTBox 简介

MQTTBox 是由 Sathya Vikram 开发的 MQTT 客户端工具 。最初,它仅用作扩展的 Chrome 安装,并被重写和开源,成为桌面跨平台独立软件。界面简单,支持多个客户端同时在线。但是,客户端交互仍然存在一些不便之处,例如切换和发送消息。MQTTBox 通过 Chrome 实现了强大的跨平台功能。结合简单的负载测试功能,它是一个值得尝试的 MQTT 客户端工具。

MQTTBox 完全支持以下功能:

  • 通过支持 Chrome OS、Linux、macOS 和 Windows 的 Chrome 存储轻松安装,并支持 Linux、macOS 和 Windows 的独立安装
  • 支持 MQTT、MQTT over WebSocket、多个 TCP 加密连接
  • 保存已发送消息的历史记录
  • 从历史记录中复制/粘贴消息
  • 保存订阅消息历史记录
  • 通过简单的性能测试来测试 broker 的负载,并通过图表将测试结果可视化

MQTTBox 安装

要安装 MQTTBox,请访问 MQTTBox GitHub 页面 。您将找到各种平台的直接下载链接,包括 Chrome、Linux、macOS、HTML App 和 Windows。选择适合您作系统的版本,并按照您的平台的安装过程进行作。

用MQTTBox展示MQTT 基本功能

准备 MQTT Broker

在继续之前,请确保您有一个 MQTT 代理可以与之通信和测试。

小鹏AIoT 是云上完全托管的 MQTT 代理,可快速设置,非常适合小规模 IoT 测试。

MQTT 连接

初始化

打开软件后,进入软件主界面,点击顶部菜单栏的 创建 MQTT 客户端 按钮,进入 创建 MQTT 客户端页面 。

MQTTBox 指南:功能、演示和使用技巧

创建连接

启动 MQTTBox 后,转到创建新的 MQTT 客户端部分。此演示将使用 WebSocket 进行连接。填写 MQTT 相关的配置详情如下:

  • Host and Protocol(主机和协议 ):在 Host(主机)字段中,输入 Serverless 部署的地址。选择“wss”(WebSocket 安全)作为连接协议,以确保安全连接。
  • 端口 :使用端口 8084 进行安全的 WebSocket (WSS) 连接。
  • 身份验证 :提供在 Serverless 配置期间建立的用户名和密码,这是安全访问 MQTT 代理所必需的。
  • CA 证书 :对于您的 Serverless 设置,选择 CA 证书对于安全性至关重要。在 MQTTBox 设置中,选择“仅 CA 证书”作为 SSL 类型,然后选择您之前下载的 CA 证书文件。

此配置可确保使用 MQTTBox 与 MQTT 代理建立安全的 WebSocket 连接,从而利用 CA 证书增强安全性。

注意:填写 Host 时,您需要填写完整的地址,包括连接的端口号。如果是 WebSocket 连接,则需要添加 Path。如果 MQTT Broker 启用了用户名/密码鉴权,您还需要在配置页面输入 Username/Password。

MQTTBox 指南:功能、演示和使用技巧

保存成功后,您将进入一个客户详细信息页面。如果右上角的按钮显示 Connected 且颜色为绿色,则表示 MQTT 客户端连接成功。您可以通过再次单击客户端来断开客户端连接。

MQTTBox 指南:功能、演示和使用技巧

订阅主题

建立连接后,您可以开始订阅消息。因为 MQTT 协议使用的是发布/订阅模式,所以我们需要在连接后订阅一个 Topic。然后,Topic 上会有消息接收来自 EMQX Cloud Serverless 的消息。

在 MQTTBox 的客户端详情页面中,默认有两个用于发送和订阅的输入框。如果存在大量订阅或不同的已发布内容,则可以添加多个框。单击顶部菜单栏中的 Add Publisher 和 Add Subscriber 按钮以添加和管理各种发布者/订阅者。

我们首先在右侧的黄色框中输入 Topic: testtopic/mqttbox。选择 QoS 级别后,单击 Subscribe 按钮以订阅相关 Topic。

发布 MQTT 消息

然后,我们在蓝色框中输入 Topic to be published。在这里,我们输入刚刚订阅的 testtopic/mqttbox,并选择 QoS 级别作为支持 String/JSON/XML/Characters 的默认负载类型。在有效负载框中输入 JSON 部分后,单击 Publish 按钮。

此时,我们可以看到右侧订阅框中发布的消息。到目前为止,我们已经创建了一个 MQTT 客户端,并成功测试了连接、发布和订阅等功能。

MQTTBox 指南:功能、演示和使用技巧

TLS/SSL 连接

除了常规连接外,MQTTBox 还支持 TLS/SSL 连接。

如果是双向认证,您可以在配置页面选择 CA 证书文件、客户端证书和客户端密钥文件,然后选择连接。请在连接前确认 TLS/SSL 连接端口并对其进行修改。

MQTTBox 指南:功能、演示和使用技巧

发现 MQTTBox 的高级功能

MQTT 负载测试

对于 MQTTBox 中的 MQTT 负载测试,通常采用简单的 WebSocket 连接,因为不支持 CA 证书。此方法适用于不需要高级加密和安全验证的方案,例如基本性能和功能测试。

  1. 打开 MQTTBox 并选择或创建 MQTT 客户端。
  2. 配置负载测试 :
    • Load Test Name: Enter a name like serverless-test.
    • Protocol: Choose the WebSocket protocol.
    • 主机 :输入服务器地址和端口,例如 broker.emqx.io:8083/mqtt。
    • 负载测试类型 :选择 Publish (发布 )。
    • # of Messages to Publish(要发布的消息数):设置消息数,如 20。
    • Run Time (seconds) (运行时间(秒)):设置测试持续时间,例如 5 秒。
    • 超时(秒): 设置超时时间,例如 30 秒。
    • # of Instances to Run(要运行的实例数):选择实例数,例如 2。
    • 主题 :指定 MQTT 主题,例如 testtopic/load。
    • QoS:选择 QoS 级别。
    • Add Payload:输入有效负载,例如 hello。
  3. 启动负载测试 :确认设置并开始测试。
  4. 监控测试: 观察消息传输和系统响应。
  5. 分析结果 :在测试后查看和分析数据,以了解指定负载下的性能。

MQTTBox 指南:功能、演示和使用技巧 MQTTBox 指南:功能、演示和使用技巧 MQTTBox 指南:功能、演示和使用技巧

MQTTBox 中的 MQTT 负载测试功能旨在评估 MQTT 代理或客户端在不同负载条件下的性能和可靠性。该工具允许用户通过在设定的时间段内发送指定数量的消息来模拟实际使用场景。它有助于识别潜在的瓶颈,了解容量限制,并确保 MQTT 实施的稳定性和效率。在使用 MQTT 进行关键数据交换且必须保持一致性能的环境中,它非常有用。

关于 MQTTBox 的常见问题解答

问:MQTTBox 是否支持多个同时连接?
答:MQTTBox 允许用户同时创建和管理多个 MQTT 客户端连接,使其成为测试和管理不同 MQTT 环境的多功能工具。

问:MQTTBox 是否可以同时使用 MQTT 和 MQTT over WebSocket 协议进行连接?
答:是的,MQTTBox 支持 MQTT 和 MQTT over WebSocket 协议,它允许通过标准 TCP、TCP/TLS(安全连接)以及 WebSocket 安全 (WSS) 进行连接。

问: MQTTBox 是否兼容各种作系统?
答:是的,MQTTBox 是一个跨平台工具,兼容 Chrome OS、Linux、macOS 和 Windows,可供广大用户使用。

问:MQTTBox 能否用于 MQTT 负载测试?
答:是的,MQTTBox 包含简单的负载测试功能,使用户能够测试代理的负载并通过图表可视化结果,这有助于评估 MQTT 代理的性能。

问: MQTTBox 是免费工具吗?
答:是的,MQTTBox 是一个免费工具。用户可以免费下载并使用它来连接、测试和管理 MQTT 客户端。

- 本文内容来自网络,如有侵权,请联系本站处理。

2023-12   阅读(3)   评论(0)
 标签: 创客 MQTT 物联网

涨知识
UART

UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。

评论:
相关文章
适合学习物联网的几款盒子

本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。


MicroPython umqtt库的使用

umqtt 是 MicroPython 的一个轻量级 MQTT 客户端库,使得在微控制器上使用 MQTT 协议变得简单易行。本文将介绍 umqtt 的实用方法,帮助您更好地在项目中应用这一技术。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。


小鹏物联网 MicroPython 智能浇花方案

相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。


ESP32 使用 SmartConfig

本文将介绍如何将 ESP-Touch 协议用于基于 ESP32 的物联网项目/设备,使用 ESP-Touch,您将不再需要对 Wi-Fi 凭据进行硬编码,因为您可以随时轻松更改它。


ESP-NOW2MQTT:打造物联网轻量级通信方案

ESP-NOW2MQTT库提供了一种轻量级、高效的通信方案,使电池供电的ESP32设备能够快速、稳定地与MQTT服务器通信。


富有创意的micro:bit机器人和物联网项目合集

本文将向您展示一些关于2023年机器人和物联网的最有趣和创新的micro:bit项目。


Arduino UNO R4 WiFi 官方介绍文档

本文档作为UNO R4 WiFi的技术概览,您将找到一系列资源和指南链接,帮助您开始下一个项目。


使用 Raspberry Pi Pico W 和 MicroPython 开发物联网应用

当我们提及物联网(IoT, Internet of Things)开发,可能首先想到的是Arduino或是ESP8266这样的微控制器开发板。然而,Raspberry Pi的微控制器开发板——Raspberry Pi Pico W,也是一个很好的选择。


ESP32-S3-BOX

ESP-BOX 是乐鑫科技推出的面向 AIoT、边缘 AI 和 IIoT 应用的开发平台。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。

小鹏AIoT服务

为讲师、学员提供专属的物联网教学环境。