当前位置: 首页 > ai >正文

自学嵌入式第37天:MQTT协议

一、MQTT(消息队列遥测传输协议Message Queuing Telemetry Transport)

        1.MQTT是应用层的协议,是一种基于发布/订阅模式的“轻量级”通讯协议,建构于TCP/IP协议上,可以以极少的代码和有限的带宽为连接远程设备提供实时可靠的消息服务;

        2.组成:

        MQTT是一个二进制流协议;

        含固定头和可变头和Payload负载;

        固定头两个字节:第一个字节的高四位写MQTT控制报文的类型(0-15个动作)、低四位用于指定控制报文类型的标志位、第二个字节是剩余长度(可变报头的长度+有效载荷的长度);

        部分控制报文包含一个最少二字节的可变报头:报文标识符MSB+报文标识符LSB;

        部分控制报文含有有效载荷,有效载荷就是应用信息;

        3.心跳包机制:

        在固定头中标有本次传输目的,心跳包也是一种;

        用于确保传输路径是否通畅;

        如果规定时间内没有数据接收自动发送;

        4.QoS:服务质量

        为0时,只发不用回复收到确认;

        为1时,会回复收到确认;

        为2时,服务器会回复收到确认给发送方,再发送数据给接收方时也会报给发送方,在结束时也会报给发送方;

 

http://www.xdnf.cn/news/20360.html

相关文章:

  • 布隆过滤器:快速判断某个元素是否存在
  • 【Leetcode】高频SQL基础题--1164.指定日期的产品价格
  • 【Linux手册】管道通信:从内核底层原理到使用方法
  • 实现滚动到页面指定位置
  • Lenovo联想YOGA Pro 16 IAH10 2025款笔记本电脑(83L0)开箱状态预装OEM原厂Win11系统
  • Android开发-常用布局
  • Environments
  • Python跳过可迭代对象前部元素完全指南:从基础到高并发系统实战
  • Rust 登堂 之 Drop 释放资源(十一)
  • 延迟 队列
  • MySQL索引和B+Tree的关系
  • 家长沉迷游戏刷剧对儿童学习体验的影响:儿童教育心理学视角分析
  • 如何在Python中使用正则表达式替换特定格式的文本?
  • 软考中级习题与解答——第三章_操作系统(1)
  • Jenkins与Kubernetes集成部署流水线
  • 【数据结构基础习题】-1- 数据结构基本操作
  • 大模型架构演进全景:从Transformer到下一代智能系统的技术路径(MoE、Mamba/SSM、混合架构)
  • Python操作MySQL的两种姿势:原生SQL与ORM框架SQLAlchemy详解
  • CesiumJS详解:打造专业级Web 3D地球仪与地图的JavaScript库
  • 计算机视觉(十一):边缘检测Canny
  • 【Java基础|第三十六篇】JDK1.8中的新特性
  • Nginx主配置文件
  • STM32 JLINK下载失败解决方案
  • 1.12 Memory Profiler Package - Summary
  • CentOS7 Hive2.3.8 安装图文教程
  • 四、神经网络的学习(中)
  • 安卓学习 之 图片控件和图片按钮
  • 2025年金融专业人士职业认证发展路径分析
  • 实现自己的AI视频监控系统-第四章-基于langchain的AI大模型与智能体应用1
  • 18.4 查看订单