概述
文章目录
- 一、前言
- 二、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无法正常启动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复