Bootstrap

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();
}

;