MQTT中文站
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
      • Node-RED 安装部署
      • Node-RED 用户指南
      • Node-RED 创建节点
      • Node-RED 示例教程
      • Node-RED 开发流程
      • Node-RED 接口参考
      • Node-RED 配置模板
      • Node-RED 常见问题
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册

MQTT 协议初学者指南

2 年前 • MQTT 入门

什么是MQTT?

MQTT(消息队列遥测传输)是一种轻量级的发布/订阅消息传输协议,专为M2M(机器对机器)遥测在低带宽环境中设计。该协议由Andy Stanford-Clark(IBM)和Arlen Nipper于1999年为了通过卫星连接油管遥测系统而设计。最初是私有协议,2010年发布为免版税,2014年成为OASIS标准。

MQTT原名为“消息队列遥测传输”,现在简称为MQ遥测传输。随着物联网(IoT)部署的增加,它正迅速成为主要协议之一。

MQTT版本

  • MQTT v3.1.0
  • MQTT v3.1.1 – 目前普遍使用
  • MQTT v5 – 目前使用有限
  • MQTT-SN – 见后面的说明

MQTT最初设计于1999年,多年来一直在TCP/IP网络上使用。目前普遍使用的是MQTTv3.1.1版本。v3.1.0和v3.1.1版本之间的区别很小,GitHub上有一个页面详细介绍了这些主要区别。

最新的MQTT版本(v5),于2018年1月获批准。如果你想了解为什么没有v4版本,可以参考这里。

更多信息可参阅 MQTT v5.0的新功能概览。

MQTT-SN简介

MQTT-SN约在2013年制定,设计用于UDP、ZigBee等传输方式。目前MQTT-SN的普及程度不高,其规范多年未变,但随着物联网部署的开始,这一状况预计将改变。

MQTT客户端

MQTT客户端不像电子邮件地址、电话号码等拥有地址,因此你不需要为客户端分配地址,就像大多数消息系统一样。

对于MQTTv3.1.1,Eclipse Paho项目提供了几乎所有编程语言和主要操作系统(Linux、Windows、Mac)的客户端软件。

目前,Paho客户端v1.5.1已支持MQTTv5.0。

MQTT代理或服务器

最初的术语是代理,但现在已标准化为服务器。目前有许多MQTT代理可用于测试和实际应用。最受欢迎的自托管代理之一是Mosquitto,还有商业代理如HiveMQ。Mosquitto是一个免费的开源MQTT代理,可在Windows和Linux上运行。此外,Eclipse提供了一个免费的公共MQTT代理和COAP服务器,供测试使用。

MQTT通过WebSockets

WebSockets允许将MQTT数据直接传送到Web浏览器。这很重要,因为Web浏览器可能成为显示MQTT数据的默认界面。JavaScript MQTT客户端提供了对Web浏览器的MQTT websocket支持。

MQTT安全性

MQTT支持多种认证和数据安全机制。需要注意的是,这些安全机制是在MQTT代理上配置的,客户端必须遵守所配置的机制。

MQTT课程

针对初学者的逐步指南——MQTT 3.1.1基础课程

常见问题

如果你熟悉Web和电子邮件,可能会发现MQTT与它们非常不同。以下是一些我遇到的问题,也在其他网站和论坛上看到的问题,可能会有所帮助:

Q: MQTT通常使用哪个端口?
A: 标准端口是1883。

Q: 能否在没有代理的情况下使用MQTT?
A

: 不可以,MQTT是基于代理的。

Q: MQTT如何处理多个客户端?
A: MQTT服务器可以同时处理成千上万的客户端。

Q: MQTT是否支持广播消息?
A: 是的,通过发布/订阅模型,MQTT支持广播。

打赏赞(2)微海报分享
mqtt 科技新闻

Eclipse Paho Android Service:将MQTT集成到Android开发中

MQTT CLI 完全兼容 MQTT 5.0 和 MQTT 3.1.1 的命令行界面

猜你喜欢

改善基础设施:HiveMQ如何推动智能城市发展

改善基础设施:HiveMQ如何推动智能城市发展

08/07
2024
为什么企业选择全托管HiveMQ云进行MQTT部署

为什么企业选择全托管HiveMQ云进行MQTT部署

07/01
2024
MQTT 赋能工业 PLC 数据采集与应用

MQTT 赋能工业 PLC 数据采集与应用

06/30
2024

回复

抢沙发咯
  • 解决方案
    • 智能家居
    • 汽车与出行
    • 工业制造
    • 能源电力
    • 石油石化
    • 交通物流
    • 零售
  • 学习
    • MQTT 规范
    • MQTT 教程
    • MQTT 软件
    • MQTT 客户端库
    • MQTT 服务器
    • 工具和应用程序
  • 关于我们
    • 了解创科慧仁
    • 加入创科慧仁
    • 投资者关系
    • 新闻动态
    • 合作伙伴
    • 联系我们
  • 友情链接
    • Modbus中文网
    • 跳动符号官网
    • 物联网世界
    • RFID世界网
    • 深圳物联网协会
    • isoftstone软通动力
    • 中国发展战略学研究会
    • B.P商业伙伴
  • 在线客服
  • 全国客户服务热线
    4006909885
  • 官方公众号
  • 联系邮箱
    contact@mqtt.cn
Copyright © 2025 MQTT中文站. All rights reserved.Designed by nicetheme. 京ICP备20029519号
在线客服

微信咨询

微信咨询

4006909885

服务热线 7*24小时

电话咨询
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册
string(5) "2.0.0"