Mosquitto 資料一覧

Mosquittoインストール手順(Ubuntu 16.04)

2016/11/11更新

対応バージョン: 1.4.8

MosquittoをUbuntu 16.04にインストールして簡単なPub/Sub通信を行ってみる。

インストール

Broker(mosquitto)とPublisher/Subscriber(mosquitto-clients)をインストールする。

% sudo apt install mosquitto mosquitto-clients

インストールが終わるとBrokerは自動的に起動する。

% systemctl status mosquitto
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; bad; vendor preset: enabled)
   Active: active (running) since 金 2016-11-11 01:15:22 JST; 1min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/mosquitto.service
           └─10706 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Pub/Sub通信

SubscriberをBrokerに接続しておき、Publisherからメッセージを送信してSubscriberが受信できることを確認する。ここではQoS = 0(デフォルト)、トピック名を「test」とする。

Subscriber接続

mosquitto_subを使用する。-d(デバッグモード)と-t(トピック)を指定してBrokerに接続し、Publisherからのメッセージを待ち受ける。

% mosquitto_sub -d -t test
Client mosqsub/11226-zero sending CONNECT
Client mosqsub/11226-zero received CONNACK
Client mosqsub/11226-zero sending SUBSCRIBE (Mid: 1, Topic: test, QoS: 0)
Client mosqsub/11226-zero received SUBACK
Subscribed (mid: 1): 0
Publisher接続 & メッセージ送信

mosquitto_pubを使用する。-d(デバッグモード)と-t(トピック)を指定したうえでBrokerに-m(メッセージ)を送信する。

% mosquitto_pub -d -t test -m "hello"
Client mosqpub/11242-zero sending CONNECT
Client mosqpub/11242-zero received CONNACK
Client mosqpub/11242-zero sending PUBLISH (d0, q0, r0, m1, 'test', ... (5 bytes))
Client mosqpub/11242-zero sending DISCONNECT

待ち受けていたSubscriber側で以下の出力が得られればOKである。

Client mosqsub/11226-zero received PUBLISH (d0, q0, r0, m0, 'test', ... (5 bytes))
hello

Subscriber側は60秒おきにBrokerの生存確認を行うのでその際に以下が出力される。

Client mosqsub/11226-zero sending PINGREQ
Client mosqsub/11226-zero received PINGRESP

待ち受け状態のmosquitto_subはCtrl + cで終了させる。

関連資料・記事

参考サイト