• 极智开发 | 带你实践 MQTT 协议


    欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

      大家好,我是极智视界,本文带你实践 MQTT 协议。

      MQTT 协议是最受欢迎的物联网协议,已经广泛应用于车联网、智能家居、即时聊天应用和工业互联网等领域。目前通过 MQTT 协议连接的设备已经过亿,这些都得益于 MQTT 协议为设备提供了稳定、可靠、易用的通信基础。MQTT 是一个客户端服务端架构的发布 / 订阅模式的消息传输协议,它的设计思想轻巧、开发简单且规范、易于实现,这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如 机器与机器的通信 (M2M) 以及物联网环境 (loT)。这里带你实践一下 MQTT 协议,主要包括两个实践:(1) 把自己的 pc 当做 MQTT Client;(2) 在自己的 pc 上搭建 MQTT Broker。

    1 自己 pc 机当做 MQTT Client

      这个实践是这样的:自己的 pc 机 (单台机器或多台机器) 当做 MQTT Client,然也物联公用服务器作为 MQTT Broker,从而实践单 / 多 pc 机的 MQTT 通讯。示意如下:

      首先下载安装免费的 MQTT 客户端软件 MQTT.fx,下载地址:http://mqttfx.org

      通过 MQTT.fx 客户端,让我们的 pc 机器成为 MQTT Client 端。

      下面开始。

    • 建立新的 MQTT 连接;

    • 进行 MQTT 连接配置,配置完点击 ok 确认;

    • 点击 Connect 连接,绿色按钮说明已成功连接 然也物联公用 MQTT Broker,若要断开连接,点击 Disconnect 按钮;

    • 订阅主题,点击 Subscribe -> 输入主题名字 -> Subscribe;

    • 发布主题,点击 Publish -> 输入主题名字 -> 输入发布的消息 -> Publish;

    • 然后怎么知道发布的消息有没有收到呢,回到订阅 Subscribe 来看;

      以上完成了单 pc 机器作为 MQTT Client,然也物联服务器作为 MQTT Broker,并进行通讯。自己发自己收都是在一台 pc 机器上完成,这有点无聊。 当然也可以多台 pc 机器作为 MQTT Client,比如你可以拿一台笔记本同样连接到 然也物联 MQTT Broker,然后对我们的主题 test_0 进行发布主题 Publish,在原来那台 pc 机器上的也能订阅到。这个操作方法和上面介绍的类似,就不多说了。


    2 自己 pc 机上搭建 MQTT Broker

      这个实践是这样的:自己的 pc 机当做 MQTT Broker,同样把自己的 pc 机当做 MQTT Client,或把另一台笔记本电脑当做 MQTT Client,从而实践单 / 多 pc 机的 MQTT 通讯。示意如下:

      这里搭建 MQTT Broker 的机器主要还是指 Windows,这里用 Mosquitto 进行 MQTT Broker 的搭建。首先 Mosquitto 的下载地址:https://mosquitto.org/

      安装成功后,进入到安装路径下,然后 右键 -> 在此处打开 Powershell,然后:

    ./mosquitto.exe -h     # 可以查看相应的帮助
    
    # 开启 MQTT 服务,监听地址是 127.0.0.1,端口是 10086
    ./mosquitto.exe -p 10086
    
    • 1
    • 2
    • 3
    • 4

      以上就完成了在我们的 pc 机器上搭建 MQTT Broker (监听地址是 127.0.0.1,端口是 10086),然后即可在 pc 机器上进行 MQTT 通讯互联,MQTT 的通讯可以使用 MQTT.fx,操作方法和第一节的一致,唯一不同的就是把然也物联替换成我们这边构建的 MQTT Broker。这样就大功告成,既可以进行单机通讯 也可以进行 多机通讯。


      好了,以上分享了 MQTT 协议实践。希望我的分享能对你的学习有一点帮助。


     【公众号传送】

    《极智开发 | 带你实践 MQTT 协议》


    在这里插入图片描述

    扫描下方二维码即可关注我的微信公众号【极智视界】,获取我的更多经验分享,让我们用极致+极客的心态来迎接AI !

  • 相关阅读:
    基于xlsx.js的导入导出插件 lay-excel , 操作更方便 功能更强大
    基于Java毕业设计药品管理系统源码+系统+mysql+lw文档+部署软件
    【已解决】org.springframework.boot:type=Admin,name=SpringApplication异常
    SQL中的group by使用注意事项
    from PIL import Image,文字成图,ImageFont import jieba分词,input优雅python绘制图片
    【垃圾回收概述及算法】
    #DAYU200#Ability入门
    外部工具/外网无法连接mysql本地数据库
    copilot使用问题
    java excel、word、PPT转换成pdf预览
  • 原文地址:https://blog.csdn.net/weixin_42405819/article/details/125351220