MQTT (一) 配置服务器和Qt库

安装服务器

配置安装看ubuntu安装MQTT服务器 + windows安装MQTT客户端,主要是三个安装命令:

1
2
3
4
5
6
#安装服务端
sudo apt-get install mosquitto
#安装客户端 (订阅sub 与 发布pub)
sudo apt-get install mosqutitto-client
#安装调试器
sudo apt-get install mosquitto-dbg

  • 订阅话题test: mosquitto_sub -t test
  • 发布消息到话题test: mosquitto_pub -t test -m “hello world”

编译Qt库QtMqtt

Qt现在支持MQTT了, 但是很坑的是还需要自己编译,我用的是Qt5.14,从网上找了好几个版本都编译出问题,看了不知道多少博客,最后终于编译成功了。

Github官方仓库下载5.14.0,解压到F:\MyCpp\qtmqtt-5.14.0,打开后编译,结果会报错,这是因为头文件的问题。在qtmqtt-5.14.0\src\mqtt\mqtt.pro中添加一行 INCLUDEPATH += F:\MyCpp\qtmqtt-5.14.0 ,然后qmake, 编译。应该就成功了。

新建的测试程序MQTT_Client,然后将qtmqtt-5.14.0\src\mqtt文件夹中的所有头文件放到一个文件夹QtMqtt,然后放到程序的根目录。到编译生成的文件夹,将libinclude文件夹也放到MQTT_Client根目录,其中的文件Qt5Mqtt.dll.debug可以删除。

编辑MQTT_Client.pro,添加下面内容:

1
2
3
4
5
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD/include

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt

现在程序就可以用QtMqtt了,但是最好能让mqtt跟Qt自身库一样使用,也就是在pro文件中添加QT += mqtt即可,这样才叫优雅。参考如何让第三方库和Qt自身库一样使用

参考:
搭建MQTT服务器及测试
Qt官方MQTT库的配置