QT5 5的mqtt安裝和使用

2021-10-20 20:20:51 字數 2123 閱讀 3705

由於專案原因,要使用qt的mqtt模組,但之前使用的是qt5.5.1版本,而qt5.10之前不支援mqtt,因此需要編譯的方式去安裝子模組,參考qt以編譯方式安裝mqtt進行安裝。

如果在qt中使用,在pro檔案中加上:

qt += qmqtt

如果在vs中整合qt使用該模組,則需要在專案屬性中包含目錄加入mqtt的目錄

還要在附加依賴項中加入qt5qmqtt.lib

#include "qmqtt.h"

qmqtt::client *client = new qmqtt::client(qhostaddress::localhost, 1883);//連線127.0.0.1:1883

client->setclientid("clientid");//客戶端id

client->setusername("user");//使用者名稱

client->setpassword("password");//密碼

client->connecttohost();//連線伺服器

此時可以進行測試。

mqtt (message queue telemetry transport),其主要提供了訂閱/發布兩種訊息模式,更為簡約、輕量,易於使用,特別適合於受限環境(頻寬低、網路延遲高、網路通訊不穩定)的訊息分發,屬於物聯網(internet of thing)的乙個標準傳輸協議。

mqtt是應用層的協議。該協議支援所有平台,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器的通訊協議。

圖示如下:

具體講解以及和socket區別可以參考這篇部落格:socket和mqtt

mqtt的使用包括訂閱和接收等命令,具體如下**所示:

//連線

connect(m_client, &qmqtt::client::connected, this, [this]() );

//斷開連線

connect(m_client, &qmqtt::client::disconnected, this, [this]() );

//接收訊息

connect(m_client, &qmqtt::client::received, this, [this](const qmqtt::message& message) );

//訂閱

connect(m_client, &qmqtt::client::subscribed, this, [this](const qstring& topic, const quint8 qos) );

//取消訂閱

connect(m_client, &qmqtt::client::unsubscribed, this, [this](const qstring& topic) );

//發布

connect(m_client, &qmqtt::client::published, this, [this](const qmqtt::message& message, quint16 msgid) );

//錯誤

connect(m_client, &qmqtt::client::error, this, [this](const qmqtt::clienterror error) );

上述**使用qt的槽和函式進行繫結,當發生相應的事件時,執行函式。

發布和訂閱的命令如下所示:

qstring m_pub_topic = "pub";// pub topic

//發布

m_client->publish(qmqtt::message(1,m_pub_topic,qstring("send").toutf8()));

//訂閱

m_client->subscribe(m_pub_topic);

發布和訂閱是以topic進行的,根據對應的topic進行發布和訂閱。

MQTT安裝和php使用mosquitto的例項

解壓 tar zxfv mosquitto 1.6.7.tar.gz mv mosquitto 1.6.7 mosquitto 進入目錄 cd mosquitto 編譯 安裝 make make install 可以看到最後幾行,說明在 etc 下建立了配置檔案和密碼檔案,後面可以使用,也可以就使用...

Qt 5 5增加了新的GL模組,並改進了跨平台支援

距離qt 5.4發布僅僅六個月,qt 5.5就修復了將近1500個已知缺陷,並增加了新的特性。另外,除了可以確保及時為windows 10做好準備外,它還改進了linux及os x相容性。qt 5.5引入的新功能包括 此外,qt 5.5還停用了一些被新模組所取代的模組,包括被qtwebengine取...

MQTT初體驗mosquitto的安裝和使用

一 簡單介紹 二 環境介紹 2 mqtt版本 mosquitto 1.4.5 三 環境準備 1 資源獲取 wget 解壓 tar zxfv mosquitto 1.4.9.tar.gz 2 linux環境準備 ares.h sudo yum install libc ares dev uuid.h ...