《IoT MQTT详解》
分享人: 李强
文档修订历史
版本号
文档修订历史
V1
日期
操作*
描述
2017.7.4
A 完成文档的编写
*C-创建 A-添加 M-修改 D-删除
目录
1. MQTT协议介绍
2. MQTT消息通信模式
3. MQTT消息类型
4. 持久性会话&心跳
5. MQTT Broker解决方案
6. MQTT Client解决方案
7. MQTT vs. HTTP
8. IoT领域的其它协议
1
MQTT协议介绍
1. 什么是MQTT协议
MQTT的优势:
• 可靠传输:可以保证消息可靠安全的传输
• 易于集成:易于与各种企业应用简单集成
• 消息推送:支持消息的实时通知、丰富的推送内容、支持消息过滤
• 低带宽、低能耗、低成本:MQTT协议保证了应用对带宽的占用小、对CPU资源的消耗少
1
MQTT协议介绍
Broker
• 接收各个客户端的连接请求
• 接收各个客户端发布的消息
• 处理各个客户端的订阅/取消订阅的请求
• 推送与订阅相匹配的消息到适合的客户端
客户端
• 连接到Broker
• 发布消息以供其它客户端订阅
• 订阅其它客户端的消息
• 取消订阅
• 与Broker断开连接
1
MQTT协议介绍
2. MQTT协议的特征
• 使用了发布/订阅的消息通信模式,提供了一对多的消息分发和应用之间的解耦
• 消息传输无需知道消息负载的内容
• 消息通信提供了三种等级的QoS服务质量
“最多一次”,尽可能提供最大的努力分发消息。消息可能会丢失
“至少一次”,保证消息可以到达,但是消息有可能重复
“只有一次”,保证消息只到达一次
• 很小的传输消耗和协议数据交换,最大限度地减少网络流量
• 异常连接断开发生时,能通知到相关的各方
1
MQTT协议介绍
3. QoS服务质量
1
MQTT协议介绍
4. MQTT协议的历史
• MQTT是IBM公司的Andy Stanford-Clark(安迪•斯坦福•克拉克)和Arcom公司的Arlen
Nipper(阿伦•尼珀)于1999年创建的协议,其目标是创建一个支持低电量、低带宽消耗的
通信协议,主要用于通过卫星通信连接石油管道
• 这些目标到目前仍然是MQTT的核心,但是MQTT的焦点已经从专有的嵌入式系统转移到了
物联网IoT
• MQTT大约发布13年后,IBM宣布MQTT应该被OASIS标准化,就像AMQP、SAML、
DocBook标准化那样
• 整个标准化历时约1年,在2014年10月29日MQTT正式成为OASIS的官方标准,发布了最新
的MQTT协议标准3.1.1版