注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
damiaa的个人空间 https://home.eeworld.com.cn/space-uid-59433.html [收藏] [复制] [分享] [RSS]
日志

【 正点原子瑞芯微RV1126测评】8 mqtt原理与客户端程序分析

已有 268 次阅读2024-3-24 22:22 |个人分类:瑞芯微

正点原子瑞芯微RV1126测评】8 mqtt原理与客户端程序分析
基本概念和特点
MQTT是一种基于发布/订阅模式的轻量级通讯协议,它设计用于在资源受限的环境中,如物联网设备、小型设备、移动应用等,提供可靠的消息服务。
1,MQTT的主要特点:
2,轻量级。MQTT设计用于在有限的带宽和计算能力下运行,因此它具有较小的数据包大小和开销。
3,发布/订阅模式。MQTT允许发布者和订阅者之间进行一对多的消息传递,这有助于简化应用程序之间的耦合。
4,消息代理。MQTT使用消息代理(Broker)来中转消息,确保消息在发布者和订阅者之间可靠地传递。
5支持多种服务质量。MQTT提供至多一次(QoS 0)、至少一次(QoS 1)和只一次(QoS 2)的服务质量级别,以适应不同的网络环境和消息重要程度。
6,支持保留消息和遗嘱消息。MQTT允许保留最新消息,并在客户端异常断开连接时发送遗嘱消息,以通知其他订阅者
7,基于TCP/IP。建立在TCP/IP协议之上,确保了其在各种网络环境中的稳定运行
协议内容
客户端订阅消息
发布消息
客户端服务器端
订阅消息broker代理
发布消息
 
由上图看到:
  1. mqtt必须要由mqtt broker代理服务器,这点是必须的!
  2. 客户端不是点对点通信的,都必须经过broker转发处理。
    引入的概念有
    1,客户端 client
    2,服务器端 broker
    3,客户端和客户端断开与连接
  3. 因为每个服务器可以连很多的客户端,为了不冲突,必须要有clientid
4,客户端用户名和密码
5,客户端发消息出去叫发布消息
6,客户端接收别人的消息叫订阅消息
7,为了控制发布和订阅消息的质量,也就是可不可靠就把消息分为Qos0 QoS1 QoS2
8,设备离线后其他设备要去了解上次这个设备在离线前的情况,就引入了遗嘱消息。
9,当然所有这些都离不开消息,所以消息是蛮重要的。
消息有主题,和消息体
程序分析
MQTTClient.h中定义了我们要使用的结构体和函数的原型。
并且后面还附了个例子(注释掉了)下面来读一读它
板子的消息发布和回调函数处理接收函数部分
发布消息
好,大概情况就这样。谢谢大家

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章