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
コメント
コメントを投稿