公式のQt QtのMQTTのQtの開発MQTT(A)

アウトライン

Qtの開発プログラムMQTTは1は、両方が同様の方法を用いて、QtのMQTTインターフェイスを求めて開発された第三者(EMQ)、およびそれぞれのソースが提供され、公式QtのMQTTパッケージに基づいており、2つの方法があります。公式の使用MQTTによって提供されるので、最初はまず、Qtのベースのパッケージを導入するところ。

2017年公式QtはMQTTのパッケージを提供してきましたが、正式に標準ライブラリのQtの内部に追加していませんが、あなたは自分自身をコンパイルするソースコードをダウンロードする必要があります。

Qtの公式文書記述住所:https://doc.qt.io/QtMQTT/qtmqtt-index.html

ダウンロード

githubの上の公式Qtのソースコード、住所:https://github.com/qt/qtmqtt
ここに画像を挿入説明
これはMQTT 5.0プロトコルのバージョンに基づいて、最新のものです。まずソースコードをダウンロードしてください。

コンパイル

、次のファイルをダウンロードソースコードを取得し、直接プロジェクトファイルを開くコンパイル準備ができて
ここに画像を挿入説明
、私はビルド環境にここにいるです:Qt5.12.3 + vs2017

コンパイラのソースコードの必要性は、それ以外の場合はエラーになり、このPerlをインストールすることに注意してください。perl 不是内部或外部命令,也不是可运行的程序。

perlのダウンロードします。https://www.perl.org/get.html
ネットワークのダウンロード速度が遅く役員で、私は、ネットワークディスクにアップロードし、ここからダウンロードすることができます:

リンクします。https://pan.baidu.com/s/1p5YOo-FU-ZLJUtuZSN0Rjg抽出コード:i0dm

自動的にインストールするPerlの環境変数を作成した後、この時間は、再び(リリースモード)QtMqttソースコンパイルし、次のファイルがコンパイルさ:
ここに画像を挿入説明

binディレクトリには、我々は、ライブラリファイルをしたいものです。
ここに画像を挿入説明

そして、あなたはQtのプロジェクトを所有するために展開MQTTことができます。

Qtのプロジェクトに展開

二つの方法でそれを使用するために、QtのMQTTライブラリでコンパイルされた、1は、プロジェクトに直接外部ライブラリとヘッダファイルをインポートすることで、モジュールの形でQtのインストールディレクトリを展開する意志がある、第2の利点は、後で必要MQTTライブラリを直接呼び出すことができ、1つの操作のみをしなければならないということである、すべての外部ライブラリをインポートする必要はありません。ここではまず最初にすべて見ての、説明には二つの方法があります。

外部ライブラリをインポートします

Qtのプロジェクトを作成
して、ちょうど次の4つのファイルをコピーしたフォルダのlibディレクトリを生成するソースコードをコンパイルします。
ここに画像を挿入説明ここに画像を挿入説明

在新建工程目录下创建lib文件夹,将拷贝的文件粘贴进去:
ここに画像を挿入説明
然后在qtmqtt源码目录下(qtmqtt\src\mqtt)的所有.h头文件拷贝,在新建工程目录下创建include文件夹,将拷贝的文件粘贴进去:
ここに画像を挿入説明

打开新建工程的pro文件,添加:
ここに画像を挿入説明
再添加库文件引用:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqttd

添加include文件的引用:

INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include

ok, 这样就可以调用Qt Mqtt的库文件了,直接可以包含头文件来使用了。#include "QtMqtt/QMqttClient"

为了统一演示,先介绍完第二种方法后再来看demo。

部署到Qt安装目录

再来看第二种方法,如何将QtMqtt的库直接部署到Qt安装目录中,这样只需要部署一次,以后在任何工程中引用都不需要再额外导入库了,相比第一种来说更方便些。

首先,将qtmqtt源码目录下(qtmqtt\src\mqtt)的所有.h头文件拷贝,Qt安装目录下的include文件夹中创建一个mqtt目录,将拷贝的文件粘贴进去:
ここに画像を挿入説明ここに画像を挿入説明
然后,将源码编译生成目录下的lib中以下6个文件拷贝
ここに画像を挿入説明
并粘贴到Qt安装目录下的lib文件夹中去:
ここに画像を挿入説明

接下来将源码编译生成的两个库文件拷贝到Qt安装目录的bin中:
ここに画像を挿入説明
ここに画像を挿入説明

最后再拷贝模块配置文件到Qt安装目录中
ここに画像を挿入説明
ここに画像を挿入説明

ok,配置完毕,这种方式配置在新建工程中引用只需要引入模块就可以直接使用了

QT += mqtt

包含头文件

#include <QtMqtt/QtMqtt>

所以推荐使用第二种方式进行配置。

接下来看看Demo。

Demo演示

为了方便演示,我们直接使用Qt Mqtt源码中自带的示例来编译运行。
ここに画像を挿入説明ここに画像を挿入説明
这个示例Qt官方有详细介绍的,https://doc.qt.io/QtMQTT/qtmqtt-simpleclient-example.html
将该示例打开,有个地方需要改一下,打开Pro文件
ここに画像を挿入説明
将以上两行注释掉,要不然会有依赖,无法独立运行。

我们直接编译运行该示例:
broker.hivemq.com
ここに画像を挿入説明
在官方文档中介绍,可以直接连接以下两个服务器地址:
ここに画像を挿入説明

:テストの後、我々は第二の直接アドレステストを入力するように、第1のアドレスは、接続されていないbroker.hivemq.com
ここに画像を挿入説明
、アドレスを入力して、サーバーに接続することができた後、リンクをクリックして、状態は2が接続されていると言いました。
次に、あなたが情報を受け取ることができますが、クリックのリリースで、このテーマに加入することを示すために、ボタンをサブスクライブをクリックしてください:
ここに画像を挿入説明
同じテーマへの長い加入して、複数のコンピュータ上でテストすることができ、それが一端にメッセージを送信し、もう一方の端には、適切なを受け取ることができます情報。

公式Qtは非常に詳細な提供の文書で説明、我々はインターフェイスを使用するように参照することができ、クラスの主な用途ですQMqttClient

この時点で、Qtはすべて終了したプレゼンテーションを使用して公式MQTTパッケージモジュールを提供し、次はどのようにMQTTパッケージに基づいて第三者をご紹介します。

公開された254元の記事 ウォンの賞賛484 ビュー500 000 +

おすすめ

転載: blog.csdn.net/luoyayun361/article/details/104671603