当今最受欢迎的物联网协议——MQTT

本文目录

  • 当今最受欢迎的物联网协议——MQTT
    • 什么是MQTT
    • MQTT基本原理
    • 连接MQTT服务端
    • MQTTfx使用教程

什么是MQTT

首先让我们了解一下什么是MQTT。

MQTT是一个客户端 服务端架构的发布/订阅模式的消息传输协议。

与HTTP之类的协议相比,MQTT在通过网络传输数据时表现出众,且该协议易于在客户端实现。因此,MQTT成为了当今世界上最受欢迎的物联网协议。它已广泛应用于车联网、智能家居、即时聊天应用和工业互联网等领域。目前通过MQTT协议连接的设备已经过亿,这些都得益于MQTT 协议为设备提供了稳定、可靠、易用的通信基础。

MQTT基本原理

图中汽车,手机和电脑是三个MQTT客户端。MQTT服务端在管理MQTT通讯时使用了“主题”来对信息进行管理的。假设我们需要利用手机和电脑获取汽车的速度,那么我们首先要利用电脑和手机向MQTT服务器订阅主题“汽车速度”。接下来,当汽车客户端向服务端的“汽车速度”主题发布信息后,服务端就会首先检查以下都有哪些客户端订阅了“汽车速度”这一主题的信息,并将收到的“汽车速度”信息转发给订阅了该主题的手机和电脑客户端。

连接MQTT服务端

MQTT客户端连接服务端一共有两步。
1.首先MQTT客户端将会向服务端发送连接请求。该请求实际上是一个包含有连接请求信息的数据包。这个数据包的官方名称为CONNECT。
2.MQTT服务端收到客户端连接请求后,会向客户端发送连接确认。同样的,该确认也是一个数据包。这个数据包官方名称为CONNACK。

CONNECT报文所包含的信息内容。

clientId 客户端ID ,ClientId必须是独立的。

cleanSession 清除会话
当cleanSession 被设置为“true”。服务端不需要客户端确认收到报文,也不会保存任何报文。在这种情况下,即使客户端错过了服务端发来的报文,也没办法让服务端再次发送报文。
当cleanSession 设置为”false”。后续通讯中,客户端会要求服务端保存没有收到的报文。

keepAlive 心跳时间间隔
要求客户端定时给服务端发送信息,确认客户端与服务端的连接情况。

CONNACK报文所包含的信息内容。

returnCode 连接返回码
当服务端收到了客户端的连接请求后,会向客户端发送returnCode(连接返回码),用以说明连接情况。如果客户端与服务端成功连接,则返回数字“0”。如果未能成功连接,连接返回码将会是一个非零的数值。

具体这个数值的含义可以看下面的表:

MQTTfx使用教程

MQTTfx的官网地址是:MQTTfx,这里不建议去官网下载,因为官网是最新版已经开始收费了。
还有一个下载办法是通过太极创客网站的下载页面获取此软件太极创客MQTTfx下载地址
下载之后进入主页面,设置添加文件

Subscribe是订阅,Publish是发布

当今最受欢迎的物联网协议(学习笔记)相关推荐

  1. CoAP协议学习笔记 1.2 一张表了解 CoAP 协议

    1 前言 对于CoAP协议的学习,这份100多页的文档肯定没法背下来.我们只需把协议当作工具书,大体知道主体的内容,在遇到细节问题时再去具体章节找问题. 本篇笔记中先对 CoAP 协议内容做个基础了解 ...

  2. 网络协议学习笔记 · 22

    IPv6 · 流媒体 · 即时通讯 · 缓存 · 网络爬虫 VPN 作用 VPN与代理的区别 实现原理(隧道协议) 网络爬虫 简易实例 robots.txt 无线网络 缓存(Cache) 响应头 请求 ...

  3. 14229汽车诊断协议学习笔记

    14229汽车诊断协议学习笔记 什么是14229协议 诊断服务基本知识 确认的服务 未确认的服务 请求原语格式 响应原语格式 诊断分层结构 诊断服务 诊断会话控制(0x10)服务 ECU 重置(0x1 ...

  4. TCP协议学习笔记:

    TCP协议学习笔记: 网络层的IP协议本身是不可靠的,其可靠性需要上层协议(TCP协议)来保证. 文章目录 TCP协议学习笔记: 协议特点 TCP协议头部结构 TCP连接状态与状态转移 TCP三次握手 ...

  5. AXI 总线协议学习笔记(3)

    引言 上篇文章主要介绍了 AMBA以及AXI协议的基本内容,本文接续前文,继续介绍AXI协议的 原子访问.传输行为和事务顺序等. AXI 总线协议学习笔记(2)https://blog.csdn.ne ...

  6. Servlet和HTTP请求协议-学习笔记02【Servlet_体系结构与urlpartten配置、HTTP请求协议】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  7. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  8. POP3协议学习笔记

    今日得闲,于是将POP3的学习笔记也整理出来! 互联网上的TCP/IP,POP3/SMTP等资料多如牛毛,这里只是自己一点点心得,另外对于各位网络方面的大牛请安静的路过,我可不喜欢在关公面前耍大刀.. ...

  9. CoAP协议学习笔记 1.3 用UDP工具来调试CoAP

    1 前言 CoAP的调试,目前没找到好用的工具,网上说的火狐插件现在也不能用了,多希望手头的TCP/UDP网络调试工具就可以支持. 既然CoAP是基于UDP来组包的,那肯定是可以实现. 所以这篇文章给 ...

最新文章

  1. Java 程序员必备的 15 个框架,前 3 个地位无可动摇!
  2. WI-FI不错,发展可以参考心理态度路子
  3. http://www.openwebx.org/docs/turbine.html
  4. SAP Spartacus Route Alias
  5. Java命令行界面(第18部分):JCLAP
  6. 好程序员web前端分享MVVM框架Vue实现原理
  7. 在java中图片随机播放_java-以相同顺序随机播放多个文件
  8. c语言 二进制输出_推荐收藏!C语言入门基础知识大全
  9. JAVA 中的null
  10. 软件测试基础:自动化测试、安全测试、性能测试
  11. Wildcard Matching
  12. 如何对QQ好友的IP地址进行精准定位
  13. HAR with Python WebDriver and BrowserMob Proxy
  14. python重复命令_python系列的连接和重复操作
  15. MFC控件学习:图片(bmp/png)
  16. 【Leetcode】882. Reachable Nodes In Subdivided Graph 882. 细分图中的可到达结点
  17. 小小的天有大大的梦想
  18. android 微博 4.1sdk,android使用新浪微博最新SDK4.1进行第三方授权登录
  19. 国密算法SM3与SM4简介与应用
  20. [数字图像处理]图像复原--逆滤波

热门文章

  1. wordpress企业站主题制作笔记
  2. 玩游戏蓝牙耳机哪款好?四款好用的蓝牙耳机推荐
  3. stm32中 delay_ms(4000),延时不准确
  4. 【算法题解】 Day1 前缀和
  5. 签字板 JAVA_JS canvas实现画板和签字板功能
  6. 如何用Python发送邮件?
  7. 《底层逻辑:看清这个世界的底牌》读后感
  8. 百面机器学习 -- No.2 特征工程 -- 训练数据不足的情况下会带来什么问题,如何缓解?
  9. python3 中文乱码 UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters
  10. codeup28033_暗黑游戏