QT搭建mqtt环境

QT搭建mqtt环境

  • 1 mqtt简介
  • 2 下载
    • 2.1 压缩包
    • 2.2 git clone
  • 3 编译代码
  • 4 mqtt部署到qt
  • 5 测试

1 mqtt简介

MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,最初由IBM开发,现已成为OASIS标准。MQTT协议被广泛应用于物联网设备之间的通信和传输数据。

MQTT协议具有以下特点:

轻量级:MQTT协议设计为轻量级协议,适用于带宽较低、网络连接不稳定的设备之间的通信。

基于发布/订阅模式:MQTT协议采用发布/订阅模式,消息发布者不需要知道谁会接收消息,只需要将消息发布到一个主题(Topic)上,所有订阅该主题的客户端都可以收到该消息。

可靠性:MQTT协议支持多种消息传输质量等级,包括最多一次(At most once)、至少一次(At least once)和恰好一次(Exactly once)。

可扩展性:MQTT协议可以通过扩展机制来支持更复杂的通信场景。

安全性:MQTT协议支持基于TLS/SSL的安全传输,并且可以使用用户名/密码进行认证授权。

MQTT协议的应用场景包括但不限于:物联网设备间的消息传输、移动应用程序推送通知、即时通讯等。

2 下载

因为mqtt不在标准库里面,需要到官方下载
https://github.com/qt/qtmqtt

**但是,如果直接使用download zip下载压缩包,编译的时候会报找不到文件的错误**如下图,具体原因(解决方法:“D:\qt\Qt5.10.0\5.10.0\mingw53_32\include;在include目录下建立一个QtMqtt的文件夹,将mqtt源码的头文件拷贝过去。”),所以推荐gti clone下载

2.1 压缩包

选择适合自己编译版本的mqtt库,我的是5.14的
QT搭建mqtt环境_第1张图片

QT搭建mqtt环境_第2张图片

2.2 git clone

//clone
git clone "https://codereview.qt-project.org/qt/qtmqtt"
//进入目录
cd qtmqtt
//查看分支
git branch -a
//切换成自己相应的分支,我的是5.14
git checkout 5.14
//查看当前分支,看看有没有成功切换
git branch

3 编译代码

用你自己的需要配置的编译器(release版本)来编译,我这里使用是的msvc2017 32位
QT搭建mqtt环境_第3张图片
QT搭建mqtt环境_第4张图片
perl报错:
QT搭建mqtt环境_第5张图片
下载perlhttps://www.perl.org/get.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编译后生成的文件
QT搭建mqtt环境_第6张图片

4 mqtt部署到qt

  1. 将qtmqtt/src/mqtt拷贝到D:\qt\5.14.2\msvc2017\include,并删除mqtt目录下的所有非头文件
    QT搭建mqtt环境_第7张图片
  2. 将mqtt编译出来的lib目录下的2个dll、2个prl拷贝、2个lib(或者.a)到D:\qt\5.14.2\msvc2017\lib下:
    QT搭建mqtt环境_第8张图片
  3. 将mqtt编译出来的bin目录下的2个dll拷贝到D:\qt\5.14.2\msvc2017\bin
    QT搭建mqtt环境_第9张图片
  4. 将mqtt编译出来的mkspecs\modules下的pri文件拷贝到D:\qt\5.14.2\msvc2017\mkspecs\modules
    QT搭建mqtt环境_第10张图片

5 测试

  1. pro文件中加入QT += mqtt
  2. 新建一个项目,引入#include
  3. 运行看看有没有报错
  4. 使用mqtt服务器验证

源码0积分下载

你可能感兴趣的:(QT中级,qt,mqtt)