环境说明
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元)