MQTTをmosquittoで試しました

 1.概要

IoTデバイス向け通信方式としてMQTTが広く利用されています。Queueと聞くと待ち行列で駅に人が到着するモデルが浮かびます。また、汎用機のジョブ管理(JES2等)のジョブキューや出力キュー、オンライントランザクション処理のインプットキュー等の方が私にはわかりやすく感じます。ネットで調べると、MQTTのmosquittoが簡単で一般的とのことなので、試してみました。その内容を記述します。

2.詳細

参考資料のdocker-hubの記述に従って実施します。

(1) 1個めのterminalを起動

まず、ディレクトリを作成
mkdir ~/mosquitto/config
cd ~/mosquitto/config
vi mosquitto.conf

エディットする中身は下記内容です
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

起動
docker run -it -p 1883:1883 -v "$PWD/mosquitto/config:/mosquitto/config" eclipse-mosquitto

下記メッセージが表示されるとOKです。
Status: Downloaded newer image for eclipse-mosquitto:latest

操作方法はdocker-hubに記載はありません。別の参考資料を参照します。

(2) 2個めのterminalを起動

docker ps
containerIDを確認して、
docker exec -it <containerID> sh
mosquitto_sub -h localhost -t test 
これで受信できる状態になりました

(3) 3個めのterminalを起動

docker ps
containerIDを確認して、
docker exec -it <containerID> sh
mosquitto_pub -h localhost -t test -m "send message"
ここで(2)のterminalにsend messageが表示されると完了です。

参考

eclipse-mosquitto
https://hub.docker.com/_/eclipse-mosquitto

MQTTブローカーのセットアップ
https://qiita.com/hsgucci/items/be9665bafe6e449377c9

コメント

このブログの人気の投稿

LinuxMint 22.3にdosbox-xを導入してWindows95/98のGameを動かしました

ubuntu 26.04 LTSのリリース発表があり、Daily Build版を導入しました

ubuntu desktop 26.04 LTSをKVM環境にDaily Build版を導入しました