MQTT 常见问题解答

MQTT 常见问题解答缩略图
本文目录
  1. 1. 什么是MQTT-SN?
  2. 2. MQTT与AMQP
  3. 3. MQTT与RabbitMQ
  4. 4. MQTT与HTTP
  5. 5. MQTT与COAP
  6. 6. MQTT与Zigbee
  7. 7. MQTT与Thread
  8. 8. MQTT通过WebSockets
  9. 9. MQTT 和 Node-Red
  10. 10. 什么是OASIS?

MQTT是什么?
MQTT最初代表MQ Telemetry Transport,但MQTT现在不再是一个首字母缩写,它只是这个协议的名称。

什么是MQTT-SN?

MQTT-SN代表传感器网络用的MQTT。MQTT-SN专为在无线网络上工作而设计,优化用于与通常通过无线网络通信的低功耗传感器一起工作。MQTT-SN与标准MQTT的主要区别在于,MQTT-SN不需要TCP,可以使用串行通信协议,如Zigbee或Thread。其他差异包括MQTT-SN使用主题ID而不是主题名称,允许预定义主题,并为休眠客户端设备提供了保持活动功能。

MQTT与AMQP

MQTT和AMQP都是用于在系统之间发送和接收消息的异步消息协议。主要区别在于,MQTT被高度优化用于IoT用例,因此是一种更小、更简单的协议。AMQP设计用于覆盖更一般的用例,因此具有更多可用的功能,但也更复杂且效率较低。

就功能而言,AMQP在安全选项方面可以被认为胜出,因为它默认包括诸如SASL之类的功能,而在MQTT中,您需要自己添加它。AMQP还提供了在保持向后兼容性的同时扩展协议的能力,而MQTT的更改需要版本更新。AMQP提供了除MQTT的发布/订阅模式之外的几种消息模式。与之相比,MQTT的主要优势在于它更轻量级,因此更适合电池和资源受限的硬件。MQTT还消耗更少的带宽,适用于不稳定的网络。简而言之,MQTT和AMQP之间的主要区别在于AMQP是一种通用消息协议,而MQTT是从头开始设计的一种专门的协议,以适应特定的用例。您是否应该使用MQTT还是AMQP将取决于哪种协议符合项目的要求。

MQTT与RabbitMQ

RabbitMQ是一个开源的消息代理,而MQTT是一种轻量级的发布/订阅网络协议,专为物联网环境中的机器对机器通信而设计。RabbitMQ最初是专为与AMQP一起使用而设计的,但通过插件添加了对MQTT的协议支持,以及其他几种协议,如STOMP和HTTP。因此,RabbitMQ可以用作提供故障转移和群集化等出色功能的通用消息代理,而传递消息所使用的协议可以根据您的用例进行更改。

MQTT与HTTP

HTTP是一种主要用于互联网应用的请求/响应协议。HTTP可以用于IoT用例,但并不是为此而设计。它在处理不稳定连接和处理大量连接设备的IoT环境中传递数据方面存在许多与消息大小和效率相关的缺点。

MQTT与COAP

CoAP类似于HTTP,采用二进制格式的请求/响应模型,以使其更紧凑。MQTT使用发布/订阅模型进行通信。CoAP与MQTT之间最大的区别在于,MQTT侧重于成为一种多对多通信协议,通过代理将消息传递给许多客户端设备,而CoAP主要用于从客户端到服务器的一对一通信。可以将MQTT视为更适用于事件驱动应用程序,而CoAP最适合用于状态传输。

MQTT与Zigbee

Zigbee与MQTT的主要区别在于,Zigbee是一种物理数据层协议,而MQTT是一种应用层协议。Zigbee专注于数据在设备之间实际传输的方式,旨在用作比蓝牙或WiFi等协议更简单的网状网络设备的替代方案。在许多情况下,Zigbee被用作最终将数据转换为MQTT的网关协议,以便将数据传送到云端。

MQTT与Thread

Thread是另一种旨在用于低功耗和低延迟应用的协议,在许多情况下与Zigbee非常相似。因此,将MQTT用于应用层通信,而Thread用于数据传输的下一级。

MQTT通过WebSockets

一些MQTT代理支持WebSockets,允许您使用JavaScript从Web浏览器连接到MQTT代理。

MQTT 和 Node-Red

如果您不想编程,那么Node-Red是一个基于 Flow 的工具,可以轻松创建 MQTT 项目。

什么是OASIS?

OASIS(结构化信息标准推进组织)是负责开发和维护MQTT规范以及许多其他项目的联盟。OASIS成立于1993年,是一个专注于一种名为SGML的标记语言的贸易协会。随着时间的推移,OASIS扩大了范围,现在维护了AMQP、MQTT、SAML和Legal XML等协议。OASIS的成员包括Oracle、Red Hat、通用汽车、IBM、微软、美国律师协会等众多组织。

技术术语(共 6 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
订阅客户端向 Broker 注册感兴趣的主题以接收消息
发布客户端向指定主题发送消息
WebSocket浏览器与 Broker 通过 ws/wss 传输 MQTT 的通道
传感器将物理量转换为电信号的检测装置
网关协议转换/边缘汇聚设备,将设备数据接入 MQTT
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 MQTT 教程 字数 1734 字 · 阅读约 5 分钟 更新 2023-10-27 永久链接 https://www.mqtt.cn/1082.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
相关标签
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复