手把手教你入门AIoT(6)
本课程会深入浅出地介绍 MQTT 协议的各种特性,对每个协议特性都辅以具体代码进行讲解,并通过一个 IoT+AI 项目实战来具体展现 MQTT 在移动端、Web 端的使用,MQTT Broker 的架设等场景。
内容如下:
1.MQTT协议简介
2.MQTT的基础概念
3.建议到MQTT Broker的链接(1)
4.建议到MQTT Broker的链接(2)
5.订阅和发布模型
6.订阅一个主题
7.QoS0和QoS1是什么
8.QoS2和QoS的最佳实践
9.Retained消息和LWT
10.Keep Alive和链接保活
11.实践课IoT+AI之发布端
12.实践课IoT+AI之Web订阅端
13.搭建MQTT Broker和安全实践
在前面的课程中我们多次提到了 QoS(Quality of Service)的概念,CONNECT、PUBLISH、SUBSCRIBE 中都有 QoS 的标识,那么 MQTT 提供的 QoS 是什么呢?本节课核心内容:
MQTT 中的 QoS 等级
QoS0
QoS1
代码实践
MQTT 中的 QoS 等级
作为最初用来在网络带宽窄、信号不稳定的环境下传输数据的协议,MQTT 设计了一套保证消息稳定传输的机制,包括消息应答、存储和重传。在这套机制下,提供了三种不同层次 QoS:
QoS0,At most once,至多一次;
QoS1,At least once,至少一次;
QoS2,Exactly once,确保只有一次。
什么意思呢,QoS 是消息的发送方(Sender)和接受方(Receiver)之间达成的一个协议:
QoS0 代表,Sender 发送的一条消息,Receiver 最多能收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,也就算了;
QoS1 代表,Sender 发送的一条消息,Receiver 至少能收到一次,也就是说 Sender 向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,但是因为重传的原因,Receiver 有可能会收到重复的消息;
QoS2 代表,Sender 发送的一条消息,Receiver 确保能收到而且只收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,同时保证 Receiver 不会因为消息重传而收到重复的消息。