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

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了极智开发 | 带你实践 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

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


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


 【公众号传送】

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


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

以上是关于极智开发 | 带你实践 MQTT 协议的主要内容,如果未能解决你的问题,请参考以下文章

极智开发 | linux 下 ssh 或 scp 免密连接配置方法

极智开发 | ubuntu源码编译cuda版opencv

极智开发 | docker内安装jupyter notebook的正确姿势

极智开发 | mac安装jupyter notebook的正确姿势

极智开发 | 腾讯云ECS本地开发环境搭建

极智开发 | ubuntu 安装 libtorch