2021年8月22日日曜日

Vert.x で MQTT クライアントを実装する

前提

  • OS: Windows 10 Pro
  • Java: openjdk version “11.0.2” 2019-01-15

MQTT プロジェクトのひな形を作成

Vert.x Starter - Create new Eclipse Vert.x applications を使用し、プロジェクトのひな形を作成する。

MQTT ブローカー起動

MQTT パブリッシャー・サブスクライバーの実装

MQTT | Eclipse Vert.x を参考に、自分で publish したトピックを自分で subscribe する MQTT クライアントを実装する。

1 秒周期で publish し、subscribe していることが確認できる。

実行ログ

PS C:\Users\mikoto\project\MiscellaneousStudy\java\Vertx\mqtt> ./mvnw compile exec:java
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< dev.mikoto2000.study.vertx:mqtt >-------------------
[INFO] Building mqtt 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mqtt ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\mikoto\project\MiscellaneousStudy\java\Vertx\mqtt\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ mqtt ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- exec-maven-plugin:3.0.0:java (default-cli) @ mqtt ---
8月 20, 2021 9:19:01 午前 io.vertx.core.impl.BlockedThreadChecker
警告: Thread Thread[vert.x-eventloop-thread-1,5,io.vertx.core.Launcher] has been blocked for 2348 ms, time limit is 2000 ms
8月 20, 2021 9:19:02 午前 io.vertx.mqtt.impl.MqttClientImpl
情報: Connection with localhost:1883 established successfully
connected localhost:1883.
{ topic: temperature, payload: 2021-08-20T09:19:03.505719800 }
{ topic: temperature, payload: 2021-08-20T09:19:04.506401500 }
{ topic: temperature, payload: 2021-08-20T09:19:05.506077900 }
{ topic: temperature, payload: 2021-08-20T09:19:06.505243 }
{ topic: temperature, payload: 2021-08-20T09:19:07.505362700 }
{ topic: temperature, payload: 2021-08-20T09:19:08.505559100 }
...(snip)

以上。

参考資料

0 件のコメント:

コメントを投稿