物联网通用协议MQTT

MQTT是一种轻量级的发布/订阅消息协议,广泛应用于物联网(IoT)设备间的数据通信。它设计时考虑了低带宽、高延迟的网络环境,支持QoS级别确保消息可靠性,并允许动态创建主题,降低了运维成本。MQTT协议包括发布者、代理服务器和订阅者三种角色,以及多种消息类型如CONNECT、PUBLISH、SUBSCRIBE等,确保了高效、可靠的数据交换。
摘要由CSDN通过智能技术生成

MQTT协议

MQTT协议(Message QueuingTelemetry Transport)

MQTT特点

·精简,不添加可有可无的功能;
·发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;
·允许用户动态创建主题,零运维成本;
把传输量降到最低以提高传输效率;
·把低带宽、高延迟、不稳定的网络等因素考虑在内;
·支持连续的会话控制;
·理解客户端计算能力可能很低;
·提供服务质量管理;
假设数据不可知,不强求传输数据的类型与格式灵活性

协议原理

  • 三种身份
    • 发布者(publish)
    • 代理 (Broker)(服务器)
    • 订阅者(Subscribe)、
  • 请添加图片描述

MQTT消息内容

  • 主题(Topic)
  • 负载(payload)

MQTT消息类型

.CONNECT-连接服务端
CONNACK-确认连接请求
· PUBLISH-发布消息
·PUBACK-发布确认(Q0S1)
· PUBREC-发布收到(Q0S2)
· PUBREL一发布释放(Q0S2)
·PUBCOMP-发布完成(QOS2)

MQTT的QOS

·QoS 0:
。“最多一次”,消息发布完全依赖底层TCP/IP网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。
· QoS 1:
。“至少一次”,确保消息可以到达,但消息可能会重复。QoS 2:
.“只有一次”,确保消息只到达一次。例如,这个等级可用在·系统中,这里如果消息重复或丢失会导致不正确的收费。

MQTT消息类型

·SUBSCRIBE-订阅主题
·SUBACK-订阅确认
·UNSUBSCRIBE -取消订阅
·UNSUBACK-取消订阅确认
·PINGREQ-心跳请求
· PINGRESP-心跳响应
·DISCONNECT -断开连接

MQTT报文格式

| Fixed header | 固定报头﹐所有控制报文都包含|
Variable header | 可变报头﹐部分控制报文包含
Payload | 有效载荷﹐部分控制报文包含
项目 | Value项目 | Value
-------- | -----
电脑 | $1600
手机 | $12
导管 | $1

| Fixed header | 固定报头﹐所有控制报文都包含 |
|Variable header | 可变报头﹐部分控制报文包含 |
| Payload | 有效载荷﹐部分控制报文包含 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值