我是靠谱客的博主 微笑钥匙,最近开发中收集的这篇文章主要介绍MQTT | Windows + mosquitto搭建MQTT Broker(本地服务器)与MQTTX客户端联调一、前言二、mosquitto三、MQTTX四、订阅-发送五、细节补充5.1、mosquitto无法正常启动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、前言
  • 二、mosquitto
    • 2.1、安装
    • 2.2、修改mosquitto.conf配置文件
      • 2.2.1、listener
      • 2.2.2、allow_anonymous
      • 2.2.3、password_file
      • 2.2.4、创建用户和密码
    • 2.3、启动MQTT Broker(本地服务器)
  • 三、MQTTX
    • 3.1、创建MQTT客户端1
    • 3.2、创建MQTT客户端2
  • 四、订阅-发送
    • 4.1、MQTT客户端1订阅主题hello_world
    • 4.2、MQTT客户端2发布主题hello_world
    • 4.3、订阅-发送消息
  • 五、细节补充
  • 5.1、mosquitto无法正常启动

一、前言


当我们调试本地嵌入式MQTT客户端时,在本地电脑上搭建MQTT Broker(本地服务器)可以方便地调试MQTT通讯。
在这里插入图片描述
为了测试MQTT Broker是否正常运行,在本地电脑通过MQTTX软件分别创建MQTT客户端1与MQTT客户端2。接着MQTT客户端1发布主题hello_world,MQTT客户端2订阅主题hello_world。

二、mosquitto


2.1、安装

下载mosquitto软件:https://mosquitto.org/download/
在这里插入图片描述
下载对应的版本,现在的windows电脑应该都是64位的吧?
在这里插入图片描述
请记住软件安装的目录,后面要找到文件夹的路径,修改一些文件。我的电脑是C:Program Filesmosquitto
在这里插入图片描述
安装结束后,以上就是mosquitto文件夹里面的内容。

2.2、修改mosquitto.conf配置文件

在这里插入图片描述

2.2.1、listener

在这里插入图片描述
监听的Port口改为1883

2.2.2、allow_anonymous

在这里插入图片描述
将其修改为allow_anonymous false,这里是不允许匿名登录,如果允许匿名登录,那么修改为allow_anonymous true!!!

我建议设为true,这样MQTT客户端连接MQTT服务器时不需要验证用户名与密码。本地调试我认为完全没有必要弄用户名与密码

2.2.3、password_file

在这里插入图片描述
将其修改为password_file pwfile.example,这里是设置账户密码文件位置,默认是根目录下的pwfile.example
allow_anonymous设为true的话,其实就不用管这个参数了!!!!

2.2.4、创建用户和密码

在这里插入图片描述
用管理员模式打开powershell,否则无法修改密码.
在这里插入图片描述
进入软件安装的文件夹,然后运行命令:

./mosquitto_passwd -c pwfile.example admin

在这里插入图片描述
会提示输入两次密码。
在这里插入图片描述
实际上,第2.2.2章节的allow_anonymous设为true时,就不用管这个用户与密码了!!不用管2.2.3与2.2.4章节了!!!

2.3、启动MQTT Broker(本地服务器)

在这里插入图片描述
打开mosquitto安装的文件夹,我的文件夹位置是:C:Program Filesmosquitto
在这里插入图片描述
在文件夹里,鼠标右键点击“在终端中打开”。
在这里插入图片描述
执行命令:

.mosquitto -c .mosquitto.conf -v

指令的含义是以mosquitto.conf作为配置文件运行,同时开启详细的日志模式。
在这里插入图片描述
按下回车后,从终端反馈的信息可以看到,mosquitto version 2.0.14正在运行,分别在ipv6与ipv4上的socket端口1883上开启了监听。MQTT broker(本地服务器)开启成功!!!!

三、MQTTX


3.1、创建MQTT客户端1

在这里插入图片描述
在这里插入图片描述
点击右上角的连接。
在这里插入图片描述
切换回Powershell之后,看到有新客户端(mqttx_9651aed2)连接的信息。

3.2、创建MQTT客户端2

在这里插入图片描述
客户端1与客户端2其他参数一样,除了名称和Client ID不能一样。
在这里插入图片描述
创建完客户端2后,MQTTX有两个客户端。切换到power_shell查看一些MQTT Broker的内容。
在这里插入图片描述
从服务器的打印的日志了解到有两个客户端连接上了MQTT服务器。

四、订阅-发送

4.1、MQTT客户端1订阅主题hello_world

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MQTT客户端订阅主题之后,mosquitto服务器会打印出如上图所示4条日志信息。

4.2、MQTT客户端2发布主题hello_world

在这里插入图片描述
在这里插入图片描述

4.3、订阅-发送消息

在这里插入图片描述
当MQTT客户端2发布主题hello_world,内容“ni,hal!!!”之后,MQTT客户端1马上有消息提醒!!
在这里插入图片描述
从上图可以看到,当回到MQTT客户端1窗口,可以看到收到了主题hello_world的消息。
在这里插入图片描述
实际上,MQTT Broker(服务器)的日志也能显示对应的发送与接收的一些内容。比如主题是hello_world,但主题的内容是看不到的。

五、细节补充


5.1、mosquitto无法正常启动

在这里插入图片描述
从上图的信息可以推断,端口被进程占用了,mosquitto在后台已经开启了。
在这里插入图片描述
在任务管理器里找到mosquitto.exe,接着结束任务即可。

最后

以上就是微笑钥匙为你收集整理的MQTT | Windows + mosquitto搭建MQTT Broker(本地服务器)与MQTTX客户端联调一、前言二、mosquitto三、MQTTX四、订阅-发送五、细节补充5.1、mosquitto无法正常启动的全部内容,希望文章能够帮你解决MQTT | Windows + mosquitto搭建MQTT Broker(本地服务器)与MQTTX客户端联调一、前言二、mosquitto三、MQTTX四、订阅-发送五、细节补充5.1、mosquitto无法正常启动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部