工业互联网:常用的MQTT客户端与Broker
背景
作为物联网终端数据上云协议事实上的标准,当涉及到 MQTT (Message Queuing Telemetry Transport)协议时,目前有许多不同的 Broker 和客户端工具可供选择。本文简要罗列下常见的 Broker 和客户端工具,以及可供测试的开放 Broker 地址。
MQTT Broker
- Mosquitto
Mosquitto,一个流行的开源MQTT Broker,它轻巧且易于部署。

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

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

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

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

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

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

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

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

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

-
HiveMQ MQTT Client: 由
HiveMQ提供的专业MQTT客户端库,支持Java和Android平台。
下载地址 -
Paho:
Eclipse Foundation提供的一组MQTT客户端库,支持多种编程语言,包括Python、Java和C/C++。
下载地址 -
MQTT.js: 一个流行的
JavaScript MQTT客户端库,适用于浏览器和Node.js环境。
下载地址
此外,也有一些其他的 CLI 的 MQTT 客户端,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测试地址
- mqtt://test.mosquitto.org
- mqtt://broker.emqx.io
- mqtt://broker.hivemq.com
以上地址,可以直接通过 MQTT 客户端工具进行连接与订阅/发布测试。
小总结
以上是一些常见的 MQTT Broker 和客户端工具,介绍了常见的 MQTT Broker 包括 Mosquitto 、 HiveMQ 、 RabbitMQ 、 EMQ X 、 BifroMQ 和 FluxMQ ,以及 MQTT 客户端工具包括 MQTTBox 、 MQTT.fx 、 MQTT Explorer 、 MQTTX 、 HiveMQ MQTT Client 、 Paho 和 MQTT.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!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!