Skip to content
This repository has been archived by the owner on May 16, 2022. It is now read-only.
/ mqtt-example Public archive

MQTT from Paho and Sango(MQTT as a Service) example.

Notifications You must be signed in to change notification settings

hosomi/mqtt-example

Repository files navigation

MQTT for Paho and Sango

Paho から MQTT ブローカーサービス(Sango Lite プラン) を利用し Pub/Sub できるところまでを確認します。
MQTT ブローカー を自身でセットアップせずに Pub/Sub を無料で試せます(制限はあります)。

MQTT(Message Queueing Telemetry Transpor :エムキュウティティー) についてはこちらを参照してください。
その他の情報については参考情報を合わせて確認してください。


example

  1. Sango ライト(Lite) プラン(無料) に登録します。(github アカウントがあれば登録はすぐです。)
  2. 当ソースをクローンまたはダウンロードします。
  3. 登録した Sango ライト(Lite) プランの情報を config.yml に設定します。(Sango の ダッシュボードに MQTT の接続情報等が記載されています。)
  4. publish / subscribe の順で起動します。

config.yaml

MQTT 接続情報の例:
MQTT 接続情報の例

src/main/resources/conf/config.yaml:
(自身の登録情報を設定してください下記はサンプルです。)

broker:
  tcp: "tcp://lite.mqtt.shiguredo.jp:1883"
  username: "hosomi@github"
  password: "MQTT 接続情報のパスワードの鍵アイコンクリック後表示された値を設定"

publish:
  topic: "hosomi@github/1"
  qos: 0
  clientId: "Publisher"

subscribe:
  topic: "hosomi@github/1"
  qos: 0
  clientId: "Subscriber"

トピックは # の場合、前方一致になり今回の場合、正しく動作しませんので # 以外のトピックを設定してください。
詳しくは参考情報で解説されていますので参照してください。

qos はライト(Lite) プランは 0 のみ利用できます。

pub/sub

プロジェクトのフォルダ直下で下記コマンドをそれぞれ実行。

publish:

gradlew -q publish

subscribe:

gradlew -q subscribe

publish は 1 回実行毎にメッセージを1回送信します。
subscribe は 応答待ち状態で待機します。

それぞれ実行した場合はコンソールに下記が表示されれば正常に実行されています。

publish(ログ):

[main] INFO mqtt.publish.MqttPublisher - Connecting to broker: tcp://lite.mqtt.shiguredo.jp:1883
[main] INFO mqtt.publish.MqttPublisher - Connected and publishing message: qos -> 0, message -> Message from Mqtt Publish Sample
[main] INFO mqtt.publish.MqttPublisher - Message published and Disconneting broker
[main] INFO mqtt.publish.MqttPublisher - Disconnected

subscribe(ログ):

[main] INFO mqtt.subscribe.MqttSubscriber - Connecting to broker: tcp://lite.mqtt.shiguredo.jp:1883
[main] INFO mqtt.subscribe.MqttSubscriber - Connected and subscribing message: qos -> 0, topic -> hosomi@github/1(設定していたトピック名)
[main] INFO mqtt.subscribe.MqttSubscriber - Please press any key if you would disconnect to broker.
[MQTT Call: Subscriber] INFO mqtt.subscribe.MqttSubscriber - Message arrived
[MQTT Call: Subscriber] INFO mqtt.subscribe.MqttSubscriber - Topic:
[MQTT Call: Subscriber] INFO mqtt.subscribe.MqttSubscriber - Message: Message from Mqtt Publish Sample

pub/sub が正常に行われていれば、Sango の ダッシュボードからメッセージ数等を確認できます。

Sango ダッシュボードのステータス:
Sango ダッシュボードのステータス

subscribe を起動せず publish を行うとメッセージがたまりますが、ライト(Lite)プランの制限は 5 メッセージしか保存できません。


参考情報

About

MQTT from Paho and Sango(MQTT as a Service) example.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages