26
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacとRaspberryPiにMosquitto入れてみた

Last updated at Posted at 2018-02-26

はじめに

仕事でMQTTを使うことになり、手軽にMQTTが扱えるらしいMosquittoについて調べました。
既に様々な方が同様のMosquittoの導入記事をまとめていますが、Macとラズパイで微妙に導入方法が違ったりで、私自身が多少迷ったので、備忘録もかねて記事にします。
MQTTとは何かについては、ここでは触れませんので、ぐぐって見てください。

Mosquittoのインストール

Macの場合

Homebrewを使ってインストールできます。

brew install mosquitto

以下のパスにソフトがそれぞれインストールされます。

  • mosquitto(ブローカー):/usr/local/opt/mosquitto/sbin
  • mosquitto_sub(購読用):/usr/local/opt/mosquitto/bin
  • mosquitto_pub(配信用):/usr/local/opt/mosquitto/bin

これらのパスは、環境変数のPathに追加しておきます。

RaspberryPiの場合

ラズパイというかLinuxの場合ですが、以下のコマンドでMosquittoをインストールできます。

# Mosquitto(Broker)をインストールします。
sudo apt-get install mosquitto

# Mosquittoクライアントをインストールします。
sudo apt-get install mosquitto-clients

ブローカーの起動

ブローカーは、MQTT通信を仲介するサーバーです。一般的には、AWS IoT等のクラウドサービスを利用すると思いますが、あくまで動作確認のため、ここでは、MacまたはRaspberryPiで起動します。どちらで起動しても良いです。1つあれば良いので、両方同時に起動する必要はありません。
また、次の動作確認のステップで必要になるので、ブローカー端末のIPアドレスをメモに控えておいてください。

Macの場合

以下のコマンドでMosquittoのブローカーを起動します。

mosquitto

RaspberryPiの場合

以下のコマンドでMosquittoのブローカーを起動します。

sudo service mosquitto status

動作確認

上記の手順でMosquittoをインストールすると、一緒に購読用と配信用の簡易クライアントもインストールされます。簡易クライアントで動作を確認します。
説明のため、以下のようにします。

  • ブローカーのIPアドレス:192.168.11.18
  • トピック名:tp1/test
  • 配信メッセージ:Hello

購読用端末のターミナルを開いて、以下のコマンドでトピックを購読します。
購読用端末はブローカーと同じ端末でも問題ありません。

mosquitto_sub -h 192.168.11.18 -t tp1/test

配信用端末のターミナルを開いて、以下のコマンドでトピックにメッセージを配信します。
配信用端末はブローカーと同じ端末でも問題ありません。

mosquitto_pub -h 192.168.11.18 -t tp1/test -m Hello

これで購読側のターミナルにHelloというメッセージが表示されれば成功です。

まとめ

Mosquittoを使ってお手軽にMQTTの動作環境を作ることができました。

26
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?