QT 使用 mqtt协议,部署mosquitto做为mqtt的服务器

第一步:下载mqtt服务器,并部署

这里我选择的mqtt服务器是mosquitto,当然你们也可以用其他的,话不多说,开始!
1.进入mosquitto下载的地址:https://mosquitto.org/download/
在这里插入图片描述
下载完成之后,无脑下一步安装即可。(当然安装路径可以自行修改,自行判断)
2.下载完后配置启动
安装完毕之后,在安装的路径下可以看到该配置文件
在这里插入图片描述
接下来我们开始配置:打开mosquitto.conf
2.1修改监听端口:找到

#listener

取消前面的# 然后指定端口号

listener 9900

2.2设置用户名密码

  • 是否开启匿名用户登录

#allow_anonymous
默认是true,修改为false,不开启匿名用户登录
allow_anonymous false

2.3配置并指定pwfile.example文件路劲,配置用户信息存放位置。

#password_file
修改为:(最好配置绝对路径)
password_file E:\mqtt\pwfile.example

2.4添加用户名密码
打开cmd,切换到之前安装mosquitto的路径下
在这里插入图片描述
运行命令:创建账户:admin的账户
e:/mqtt/pwfile.example是之前配置文件里的路径

mosquitto_passwd.exe -c e:/mqtt/pwfile.example admin

连续输出两次密码,创建成功!
打开文件,可以看到相关的信息
在这里插入图片描述

添加用户:atian的账户(不用加-c,-c是覆盖之前的内容)

mosquitto_passwd.exe e:/mqtt/pwfile.example atian

2.5启动服务
在这里插入图片描述右键启动。
ok完成,接下来开始测试!

3.测试
打开两个cmd窗口,进入到对应安装的目录下,也可以直接配置到环境变量里。
在这里插入图片描述
订阅sensor主题:
mosquitto_sub.exe -h 127.0.0.1 -p 9900 -u admin -P 123456 -v -t topic

发布sensor主题:
mosquitto_pub.exe -h 127.0.0.1 -p 9900 -u admin -P 123456 -t topic -m “hello,mosquitto”

两个窗口运行,上面的测试。(先订阅再发布)

测试成功!
在这里插入图片描述
完成了。

第二步:下载并且编译MQTT

我用的qt版本是5.14.2,找qt版本一致的去下载。
下载地址:https://github.com/qt/qtmqtt/tree/5.14.2
在这里插入图片描述
下载解压后会得到以下这些文件
在这里插入图片描述
接下用qt打开src路径这个,运行编译
在这里插入图片描述
选择MinGW编译器
在这里插入图片描述
然后先执行qmake,再 “构建” 就会得到编译后的文件了

注意:有些小伙伴会遇到找不到qmqttglobal.h之类的头文件什么的,不要慌,这是编译器找不到这些个头文件。
解决方法:在安装qt的路径下加上下载下来的mqtt的头文件,就像下图所示:
在这里插入图片描述
构建完成之后,就得到了以下这些文件
在这里插入图片描述
重要的是lib下的libQt5Mqtt.a,Qt5Mqtt.dll。把他们放到一个lib文件夹里。
在这里插入图片描述
头文件也要拿从下载的src\mqtt里拿出头文件,放到一个include文件夹里。
在这里插入图片描述
好了,已经完成了大半了。
接下来创建自己的mqtt项目,导入之前的lib,include就可以使用了。
在这里插入图片描述
在这里插入图片描述
接下来直接导入,就可以使用了
在这里插入图片描述
使用文档非常全!
使用文档:https://doc.qt.io/qt-6/qmqttclient.html

使用示例:

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值