Qt移植mqtt库

环境说明

Qt版本:5.9 Mingw32
操作系统:win10

移植过程

1、从github下载qtmqtt源代码:https://github.com/emqtt/qmqtt
在这里插入图片描述
2、解压文件,复制src->mqtt下的所有头文件(所有文件复制也可以)。在Qt的安装目录下的对应位置新建QtMqtt文件夹,将复制的文件粘贴在该文件夹下。
在这里插入图片描述
3、进入src目录,使用Qt打开工程(src.pro)
在这里插入图片描述
4、编译工程后会在工程所在的磁盘的根目录下生成bin、lib、include和mkspecs四个文件夹。
在这里插入图片描述

5、新建一个工程,将生成的文件夹中的include和lib文件复制到工程中
在这里插入图片描述
6、添加工程中include文件夹下的qmqttDepengd文件和lib文件夹下的libqmqttd.a
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、添加头文件qmqtt.h,编译过程中会出现部分头文件找不到,将这些找不到的头文件的<>改成""即可。
在这里插入图片描述

8、测试代码,尝试连接EMQ。

    QHostAddress host("127.0.0.1");
    QByteArray password = "";
    quint16 port = 1883;
    //client->set
    client->setKeepAlive(120);
    client->setHost(host);//设置EMQ代理服务器IP
    client->setPort(port);//设置EMQ代理服务器端口号
    client->setClientId("esp32");//设置一个客户端ID
    client->setUsername("test1");//设置一个客户端用户名
    client->setPassword(password);//设置一个客户端密码![在这里插入图片描述](https://img-blog.csdnimg.cn/20201002135908550.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0NzkwNjY0,size_16,color_FFFFFF,t_70#pic_center)

    client->cleanSession();//清除缓存
    client->setVersion(QMQTT::MQTTVersion::V3_1_1);//设置mqtt版本
    client->connectToHost();//连接EMQ代理服务器

登录EMQ,登陆方式127.0.0.0:18083(127.0.0.0用你的IP代替),如果EMQ安装在自己的电脑上可以通过localhost:18083进行登录。登陆后便可以看到是否已经连接成功。
在这里插入图片描述
MQTT入门建议使用EMQ,参考官方文档,在自己的电脑上安装一个EMQ,可以实现局域网下的MQTT通信。如果想实现MQTT的远程通信,可以在阿里云、腾讯与或华为云租一个云服务器。(注:我用的是阿里云的云服务器ECS,通过学生认证后一个月只需要9.8元)

猜你喜欢

转载自blog.csdn.net/qq_34790664/article/details/108901330