qt使用MQTT协议连接阿里云demo

qt使用Mqtt协议连接阿里云。

在配置好qt关于MQTT的环境之后,主要就是根据MQTT的连接参数进行连接即可。

环境配置推荐链接QT编译并部署QtMqtt相关环境+跑测demo【超详细教程】_mqtt qt开发教程-CSDN博客

连接核心代码,主要就是根据阿里云的MQTT相关参数进行配置实现连接。

复制代码
void MqttClient::mqtt_init() {
    // 定义参数
    QString productKey = "yours";
    QString deviceName = "yours";
    QString deviceSecret = "yours";
    

    QMap<QString, QString> params;
    params.insert("productKey", productKey);
    params.insert("deviceName", deviceName);
    params.insert("clientId", clientId);
    QString timestamp = QString::number(QDateTime::currentMSecsSinceEpoch());
    params.insert("timestamp", timestamp);

    // 生成 MQTT Broker 地址
    QString host_url = QString("iot-06z00ies461746g.mqtt.iothub.aliyuncs.com");

   
    QString client_id_str = "yours";

    // 生成用户名
    QString user_name = QString("%1&%2").arg(deviceName).arg(productKey);

    // 生成密码
   // QString password = sign(params, deviceSecret);
    QString password = "yours";
    // 设置 MQTT 客户端参数
    client->setHostname(host_url); // 设置主机名
    client->setPort(1883);         // 设置端口号
    client->setClientId(client_id_str); // 设置客户端 ID
    client->setUsername(user_name);     // 设置用户名
    client->setPassword(password.toUtf8()); // 设置密码

    qDebug() << "Connecting to MQTT broker:" << host_url;
    qDebug() << "Client ID:" << client_id_str;
    qDebug() << "Username:" << user_name;
    qDebug() << "Password:" << password;

    // 连接到 MQTT Broker
    client->connectToHost();
}
相关推荐
九转成圣6 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio7 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython7 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫7 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch7 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI7 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0017 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2347 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃7 小时前
某量JS逆向
开发语言·javascript·ecmascript
思茂信息7 小时前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求