MQTT--Qt5编写MQTT-client客户端

2023-11-09

库的下载地址:https://github.com/emqtt/qmqtt 
好不容易编译成功,于是写下经验。


编译环境:

  • 桌面环境:Windows10
  • Qt5版本:这里写图片描述

开始

1、下载库文件:https://github.com/emqtt/qmqtt

2、解压出来

这里写图片描述

3、进入src文件下双击src.pro

这里写图片描述

4、配置文件

这里写图片描述

5、点击build完成

这里写图片描述

6、重点!!! 
- 此时,在根目录下就会生成两个文件夹:include和lib 
- 根目录的意思是:你在哪里打开的就到那个盘的顶目录里找。 
- 比如,我在桌面打开src.pro并且编译的,那么我就得到C ://盘的下面找。以此类推!

这里写图片描述

7、将生成的include文件整个拷贝到刚刚解压出来并且已经编译过的文件目录src/mqtt/中

这里写图片描述

8、新建一个工程

这里写图片描述

9、然后将前面放了include文件的mqtt文件夹整个拷贝到新建的项目工程的文件夹中

这里写图片描述

10、再将src编译出来的在xx根目录的lib文件夹也拷贝到到这个工程下面来 
这里写图片描述

11、然后debug编译一下(一定记得先debug编译一下,因为等下好把dll文件放到生成的debug文件中)将lib文件夹中的两个动态链接库:qmqtt.dll, qmqttd.dll拷贝到新建工程的Debug文件夹中。

这里写图片描述

12、 在QtCreator的工程中添加之前从根目录一直加进来的include文件中的qmqttDepends文件,然再添加那个qmqtt.h头文件。最后添加那两个库文件。 
这里写图片描述

这里写图片描述

这里写图片描述

至此配置完成,接下来就是编写代码进行测试。

13、编写测试代码

(1)在工程pro文件中添加network。

(2)mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "mqtt/qmqtt.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
  •  

(3)mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    QHostAddress host(QString("127.0.0.1"));
    quint16 port = 1883;

    QMQTT::Client * client = new QMQTT::Client();
    client->setHost(host);
    client->setPort(port);
    client->connectToHost();
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

编译通过了就算测试通过了

从Qt5.10开始,官方开始支持MQTT,类名为QtMqtt,5.10之前的版本,可以到地址https://github.com/qt/qtmqtt下下载源码自己编译。

但是安装5.10.1和5.11.1的版本,都没有找到mqtt的类,不知道啥原因

 

from:https://blog.csdn.net/qq_28877125/article/details/78357510

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MQTT--Qt5编写MQTT-client客户端 的相关文章

  • ESP8266_MQTT协议

    1 了解下MQTT协议 虽然上一篇用起来了MQTT 但是并不十分了解 基本就局限于 发布主题是发送数据 订阅主题是接收数据 今天就再好好了解一下吧 分享下网页版的 MQTT协议中文版 链接 Introduction MQTT协议中文版 1
  • 【自用】无法通过ESP32创建HomeAssistant实体问题解决(MQTT对ESP32创建实体请求无应答)

    一 问题描述 1 使用 MQTTX 测试客户端能够创建实体 当通过 MQTTX 发送注册实体请求的时候 实体能够在 MQTT 服务器中注册成功 2 使用 ESP32 无法创建实体 在ESP32中通过 publish 函数发送注册请求的时候
  • 使用 PubSubclient 在 esp8266 和 arduino 之间进行 mqtt

    我正在使用 WiFiEsp 库将 ESP8266 与 arduino 结合使用 我想与 arduino 建立 MQTT 连接 所以我使用 PubSubclient 库 我收到错误 正在尝试 MQTT 连接 失败 rc 2 5 秒后重试 我的
  • 如何在 Eclipse PAHO Java MQTT 客户端和 Mosquitto 代理之间创建 PSK 连接?

    我正在尝试在 mosquitto mqtt 代理和使用 Eclipse Paho 客户端库的 Java 编写的应用程序之间配置预共享密钥加密连接 我已成功在两者之间建立了连接 不使用加密 而是使用 SSL 其中服务器证书经过身份验证 但没有
  • 如何使用 libmosquitto 进行编译

    我正在尝试编译 libmosquitto 网站 底部 上提供的代码示例 http mosquitto org man libmosquitto 3 html 我使用 Ubuntu 12 04 并且安装了 libmosquitto1 和 li
  • mosquitto 中的地址已在使用错误

    我已经在我的 ubuntu 机器上安装了 mosquitto 服务器和客户端软件包 当我运行命令 mosquitto 来运行 mosquitto 服务器时 我收到错误 错误 地址已在使用中 为什么我会收到此错误 我该如何解决这个问题 我遇到
  • 用于测试的 MQTT 代理

    尝试创建一个订阅 MQTT 代理并处理数据的 Python 脚本 然而 MQTT 代理到目前为止还没有收到任何数据 这使得测试变得困难 我发现以下脚本可以订阅主题并打印出有效负载 但我似乎无法连接到测试代理 import paho mqtt
  • Paho MqttAndroidClient.connect 总是失败

    我想从 Android 发布消息service到本地服务器 这是我的代码的一部分 以最简单的形式基于片段here https stackoverflow com questions 24791118 android paho mqtt se
  • golang mqtt 发布和订阅

    有谁知道我可以在哪里获得一些在无限循环中发布和订阅的示例 MQTT 客户端 Go golang 代码 我正在与在 MacO 上运行的 Mosquitto 代理进行消息传递 更详细地 从网络获取消息 主题 根据该消息计算一些内容 将计算结果发
  • 在 Android 中使用 MQTT 的基本步骤

    我是 Android 新手 希望使用 MQTT 作为来自服务器的 Android 推送通知程序 我读过有关 MQTT 的内容 但不太了解 如果有人使用过这个库 请告诉我我必须做什么才能开始使用它 我有一个 Java 服务器 在 Window
  • 如何测试“Mosquitto”服务器?

    我是新来的Mosquitto and MQTT 我下载了Mosquitto服务器库 但我不知道如何测试它 有什么办法可以测试一下Mosquitto server 在单独的终端窗口中执行以下操作 启动代理 mosquitto 启动命令行订阅者
  • 如何通过互联网使用 MQTT?

    目前 我正在成功运行一个 mosquitto 代理 订阅主题并与本地网络中的客户端发布消息 如何与位于不同 IP 地址的另一个本地网络进行通信 我应该设置 2 个 mosquitto 经纪人 每个本地网络一个吗 其他本地网络中的 PC 需要
  • Cumulocity smarREST 响应模板

    我正在尝试设置 Cumulocity smartREST 响应模板以提供应用程序存储的设备对象的信息 我认为这是不可能的 但我想确认一下 因为文档很简短而且不清楚 我之前已经成功实现了测量发布模板 但我现在正在尝试执行库存获取 我已经在设备
  • java.io.EOFException 与 paho

    我想对蚊子进行压力测试 所以我创建了一些代码 如下所示 for int i 0 i lt 800 i final int j i Thread t new Thread new Runnable Override public void r
  • 将 Reactjs 连接到 Myqtthub

    您好 我对所有物联网事物都很陌生 我希望能够使用 mqtt 从 Arduino 发送和接收数据https myqtthub com https myqtthub com作为我们的经纪人 我使用以下代码进行连接 import React Co
  • 如何M2MQTT自动重连

    我正在尝试使用此协议 并且已经有 2 个客户端 一个用于发布 另一个用于订阅 和一个正在工作的经纪人 我的问题是我想在订阅客户端中实现重新连接功能 因为 wifi 信号不稳定并且不想每次都手动重新启动客户端 我该如何实现这一点 您可以使用
  • React Native 上的 MQTT?

    将 MQTT 添加到我的反应原生项目时 我很难找到正确的方法 该项目需要在 iOS 和 Android 上运行 因此理想情况下 MQTT 可以在 javascript 端处理 我意识到移动节点和经典节点的网络巢穴是不同的 所以我开始沿着分叉
  • 如何在 Android 的这个特定用例中实现 MQTT?

    我的用例 登录到我的应用程序的用户应该能够向在另一台 Android 设备上登录到该应用程序的自己发送消息 如果用户拥有多个设备 那么一旦他打开该消息 其他设备上的通知必然会消失 Doubts 如何跨设备向特定用户发送数据 我了解如何使用
  • 以编程方式设置 mosquitto 中的访问控制限制

    我正在开发一个将使用 mqtt 的应用程序 我将使用 python 库 我一直倾向于使用 mosquitto 但找不到以编程方式为其设置访问控制限制的方法 我正在编写的应用程序需要能够区分用户 并且只允许他们订阅某些主题 当前的解决方案看起
  • OPC-UA 的替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 作为访问由各种 PLC 组成的系统的过程数据的解决方案 是否有 OPC UA 的合适替代方案 独立于平

随机推荐

  • 学c语言的第一步,编译器的使用

    学习c语言在不同的平台 有不同的编译器 其中windows平台有visual studio的IDE codeblocks eclipsec c 和QT编译器 而在Linux平台有vi vim codeblocks eclipsec c 和Q
  • python dfs算法_2020蓝桥杯python组备战方法

    在蓝桥杯的程序设计比赛里新增加了python组 这是一个全新的组别 目前蓝桥杯官网已经开通了python的练习平台 链接http dasai lanqiao cn 如何准备2020年蓝桥杯python程序设计呢 我分为四个部分讲解 了解这四
  • python 深度学习 解决遇到的报错问题4

    目录 一 DLL load failed while importing imaging 找不到指定的模块 二 Cartopy安装失败 三 simplejson errors JSONDecodeError Expecting value
  • 三星gearvr控制器及手柄全部输入

    OVRInput Unified Input API OVRInput exposes a unified input API for multiple controller types It may be used to query vi
  • MySQL学习:50道经典题目(含参考答案)(更新中)

    50道经典MySQL练习题 参考博客 SQL经典50题练习 sql习题 不高冷面包人的博客 CSDN博客c 1 创建数据表 学生表 CREATE TABLE IF NOT EXISTS student student id INT 10 N
  • vant引入组件报错_在Vue中elementui组件库的基本使用

    今天我们来聊聊elemen ui组件库 Element 一套为开发者 设计师和产品经理准备的基于 Vue 2 0 的桌面端组件库 最近我做的项目几乎都是管理系统 所以 为了节省时间 开始使用 element ui 一个简单的管理系统来说 这
  • 将字符串和日期互相转换

    将字符串转换为日期 import datetime datestr 1993 01 01 print type datastr date datetime datetime strptime datestr Y m d print date
  • 沁恒CH32V307以及CH32VF103中断只能进一次的解决方法

    文章背景 笔者最近使用沁恒CH32V307处理器进行应用开发 基于RT Thread实时操作系统和LWIP做TCP和CAN的透传 因为官方BSP并没有适配RT Thread的CAN驱动 暂时将RT Thread作为普通实时系统使用 先不对C
  • qt读写CSV文件

    最近的要用到CSV格式的数据 所以这篇文章讲述一下QT读取CSV文件数据 xls文件是Excel电子表格的文件格式 而csv是一种比较通用的文件格式 xls文件只能用Excel才能打开 而csv文件可以用Excel 记事本 文本编辑器打开
  • vue 基础教程(四) 表单控件绑定 购物车 表单修饰符

    1 vue 表单控件绑定 v model 再来一个最简单的内容 div div
  • YOLOV5学习笔记(九)——损失函数

    1 Yolov5损失函数分析 2 bbox 回归损失 v5 使用的是 CIoU Loss 后续又优化出EIOU Loss如下所示 论文 Focal and efficient IOU loss for accurate bounding b
  • 启动dbforge studio for mysql的调试功能

    1 安装dbforge studio for mysql 2 使用dbforge studio for mysql 并以root身份连接数据库后编写一个存储过程 3 右击存储过程选择Debug 然后选择Step Into 4 打断点就可以调
  • Python中defaultdict与lambda表达式的配合使用

    环境 Python 3 defaultdict是collections模块下的一个类 这个类是dict的一个子类 重写了一个方法并增加了一个事件变量 在实例化的时候 第一个参数提供给default factory的初始化函数 这个参数可以是
  • python爬取肯德基KFC全国门店2021-01-11

    python爬取肯德基KFC全国门店 改进版 之前 参考两位网友的代码 爬取全国KFC门店 发现有些许问题 在参考网友代码的基础上 进行改进 最终爬取了全国KFC门店 思路如下 第一步 通过KFC门网页 获取所在KFC下的城市列表 存为列表
  • 通过集成FastJsonHttpMessageConverter将返回报文统一加密处理

    在编写接口中 为了安全起见 会将报文进行加密处理 如果每个返回报文都在controller处进行加密 当加密方式发生变化或多渠道接入返回不同密文时 改动较为繁琐 通过集成FastJsonHttpMessageConverter将返回报文可统
  • 网络线缆连接器和线槽

    一 信息插座 1 信息插座简介 信息插座是终端 工作站 与水平干线子系统连接的接口 在水平干线子系统中双绞线的两 端是直接压接到配线架和信息插座中的 不需要跳线 2 信息插座的配置 综合布线系统的设计 应该根据实际情况确定 所需信息插座个数
  • Pycharm配置优化

    优化python第三方库 优化界面 连接远程服务器 注意路径问题
  • 【华为OD统一考试B卷

    题目描述 3020年 空间通信集团的员工人数突破20亿人 即将遇到现有工号不够用的窘境 现在 请你负责调研新工号系统 继承历史传统 新的工号系统由小写英文字母 a z 和数字 0 9 两部分构成 新工号由一段英文字母开头 之后跟随一段数字
  • 一起学Docker:CMD与ENTRYPOINT的区别

    CMD CMD指令为启动的容器指定默认要运行的程序 程序运行结束 容器也就结束 CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖 类似于 RUN 指令 用于运行程序 但二者运行的时间点不同 CMD 在do
  • MQTT--Qt5编写MQTT-client客户端

    库的下载地址 https github com emqtt qmqtt 好不容易编译成功 于是写下经验 编译环境 桌面环境 Windows10 Qt5版本 开始 1 下载库文件 https github com emqtt qmqtt 2