工业互联网:常用的MQTT客户端与Broker

背景

作为物联网终端数据上云协议事实上的标准,当涉及到 MQTT (Message Queuing Telemetry Transport)协议时,目前有许多不同的 Broker 和客户端工具可供选择。本文简要罗列下常见的 Broker 和客户端工具,以及可供测试的开放 Broker 地址。

MQTT Broker

  1. Mosquitto
    Mosquitto,一个流行的开源 MQTT Broker ,它轻巧且易于部署。

2023-12-23-Mosquitto.jpg

  1. HiveMQ
    HiveMQ,一个专业的 MQTT Broker ,提供了高度可扩展性和可靠性。

2023-12-23-HiveMQ.jpg

  1. RabbitMQ
    RabbitMQ,虽然它是一个通用的消息队列,但也提供了 MQTT 插件,可以作为 MQTT Broker 使用。

2023-12-23-RabbitMQ.jpg

  1. EMQ X
    EMQX 是一款开源的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。 EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,同时保证毫秒级的低时延。

2023-12-23-EMQX.jpg

  1. BifroMQ
    BifroMQ是一个高性能的分布式 MQTT Broker 消息中间件实现,无缝集成了原生的多租户支持。它旨在支持构建大规模的物联网设备连接和消息系统。它来源与百度物联网团队多年技术积累,并作为百度智能云物联网核心套件 IoT Core 的基础技术,这是一个公有云 ServerlessMQTT 服务。

2023-12-23-BifroMQ.gif

  1. FluxMQ
    FluxMQ FluxMQ 是一款高性能,云原生的物联网接入网关,专为物联网、工业互联网、 IT 运维监控等场景设计并优化,具有极强的弹性伸缩能力,高并发,低延迟。能大幅度的减小物联网系统搭建过程中的复杂度,降低研发和运维成本,是一个物联网平台的基础且重要的组件。

2023-12-23-FluxMQ.jpg

MQTT客户端工具

  1. MQTTBox:MQTTBoxSathya Vikram 个人开发的 MQTT 客户端工具,最初仅在 Chrome 上作为拓展安装使用, 后经重写开源成为桌面端跨平台软件。界面简单直接,支持多个客户端同时在线,但客户端之间的切换、互发消息等交互还是有一些不便。
    下载地址

2023-12-23-MQTTBox.jpg

  1. MQTT.fx: 一个功能强大的跨平台MQTT客户端工具,提供了直观的用户界面和丰富的功能。
    下载地址

2023-12-23-MQTTFX.jpg

  1. MQTT Explorer: MQTT Explorer 是一个全面的 MQTT 客户端,它的一大亮点是提供了 MQTT 主题的结构化展示及动态预览。MQTT Explorer 还支持对接收到的 payload 消息进行差异对比及可视化图表展示。
    下载地址

2023-12-23-MQTTExplorer.jpg

  1. MQTTX:MQTTX 是一个强大的跨平台 MQTT 5.0 桌面和 CLI 客户端,使学习、探索和开发 MQTT 变得快速而简单。
    下载地址

2023-12-23-MQTTX.jpg

  1. HiveMQ MQTT Client: 由HiveMQ提供的专业MQTT客户端库,支持JavaAndroid平台。
    下载地址

  2. Paho: Eclipse Foundation提供的一组MQTT客户端库,支持多种编程语言,包括PythonJavaC/C++
    下载地址

  3. MQTT.js: 一个流行的JavaScript MQTT客户端库,适用于浏览器和Node.js环境。
    下载地址

此外,也有一些其他的 CLIMQTT 客户端,eg: Mosquitto CLI ,下面以 MQTT.js 为例进行命令行操作演示。

# MQTT.js bundles a command to interact with a broker. In order to have it available on your path, you should install MQTT.js globally:`npm install mqtt -g`# Then, on one terminal:`mqtt sub -t 'hello' -h 'test.mosquitto.org' -v`# On another:`mqtt pub -t 'hello' -h 'test.mosquitto.org' -m 'from MQTT.js'`

关于更多的 MQTT 客户端库,可参考:https://github.com/mqtt/mqtt.org/wiki/libraries,其中列举了不同编程语言的可用的 MQTT 客户端连接库,总有一款适合你。

公开的MQTT Broker测试地址

  1. mqtt://test.mosquitto.org
  2. mqtt://broker.emqx.io
  3. mqtt://broker.hivemq.com

以上地址,可以直接通过 MQTT 客户端工具进行连接与订阅/发布测试。

小总结

以上是一些常见的 MQTT Broker 和客户端工具,介绍了常见的 MQTT Broker 包括 MosquittoHiveMQRabbitMQEMQ XBifroMQFluxMQ ,以及 MQTT 客户端工具包括 MQTTBoxMQTT.fxMQTT ExplorerMQTTXHiveMQ MQTT ClientPahoMQTT.js 。此外,还提供了公开的 MQTT Broker 测试地址;选择合适的工具取决于你的具体需求和项目要求。


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/294865.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锐捷ssh配置

配置实例 ssh-Server ssh-Server(config)#enable service ssh-server // 启用ssh服务 ssh-Server(config)#username admin privilege 15 password Test123456 // 设置ssh登陆的账户密码 ssh-Server(config)#line vty 0 4 ssh-Server(config-line)#transport input ssh …

【数据结构和算法】---栈和队列的互相实现

目录 一、用栈实现队列1.1初始化队列1.2模拟入队列1.3模拟出队列1.4取模拟的队列头元素1.5判断队列是否为空 二、用队列实现栈2.1初始化栈2.2模拟出栈2.3模拟入栈2.4取模拟的栈顶元素2.5判读栈是否为空 一、用栈实现队列 具体题目可以参考LeetCode232. 用栈实现队列 首先要想到…

matlab 点云最小二乘拟合空间直线(PCA法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 见:matlab 点云最小二乘拟合空间直线。 二、代码实现 clc;clear; %% ----

IMX6Q平台下双通道LVDS屏幕linux驱动设备树调试笔记

一、 LVDS简单理解 LVDS粗略了解 LVDS Low-Voltage Differential Signaling 低电压差分信号,属于平衡传输信号。这种技术的核心是采用极低的电压摆幅高速差动传输数据,从而有以下特点:低功耗—低误码率—低串扰—低抖动—低辐射 良好的信号…

论文阅读——Flamingo

Flamingo: a Visual Language Model for Few-Shot Learning 模型建模了给定交织的图片或支视频的条件下文本y的最大似然: 1 Visual processing and the Perceiver Resampler Vision Encoder:from pixels to features。 预训练并且冻结的NFNet&#xff…

字符设备驱动开发-注册-设备文件创建

一、字符设备驱动 linux系统中一切皆文件 1、应用层: APP1 APP2 ... fd open("led驱动的文件",O_RDWR); read(fd); write(); close(); 2、内核层: 对灯写一个驱动 led_driver.c driver_open(); driver_read(); driver_write(…

2024年【北京市安全员-C3证】考试试卷及北京市安全员-C3证理论考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年北京市安全员-C3证考试试卷为正在备考北京市安全员-C3证操作证的学员准备的理论考试专题,每个月更新的北京市安全员-C3证理论考试祝您顺利通过北京市安全员-C3证考试。 1、【多选题】SC型施工升降机…

【Proteus仿真】【Arduino单片机】蓝牙遥控小车

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块等。 主要功能: 系统运行后,LCD1602…

单片机第三季-第七课:STM32中断体系

1,NVIC NVIC: Nested Vector Interrupt Control,嵌套向量中断控制器; 68个可屏蔽中断通道。 数据手册得向量表结合起始代码查看: 可以理解为数组里(__Vectors )定义了数据类型为DCD的许多个元素。 下边…

算法与数据结构--散列表与哈希算法

引入 我们知道c的set和unorder_set(map本质上也是set,就是把set的存储对象换成键值对结构体),set底层是红黑树实现的,那么unorder_set是怎么实现的呢?这一节就来讲讲实现unorder_set的哈希表,也…

[每周一更]-(第78期):Nginx负载均衡proxy_pass代理模块常用参数配置

0、负载均衡的策略 使用场景示例 # 定义要包含在负载均衡方案中的服务器。 # 最好使用服务器的私有IP以获得更好的性能和安全性。 http {upstream backend {server 10.1.0.101;server 10.1.0.102;server 10.1.0.103;}server{server_name game1.test.com;listen 80;location / {…

java流浪动物保护系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web 流浪动物保护系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…