Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

Arduino on ESP32 でMQTTの実験をしてみる その2:ローカルネットワーク内で実験してみる

今回はMQTTをローカルネットワーク内で実験してみます。
有名ドコロのブローカーツールmosquittoと周辺ツールを使う感じです。

実際のところ

作業環境

  • macOS 10.12.6
  • Homebrew 1.3.4
  • mosquitto 1.4.14 (build date 2017-09-30 02:42:20+0100)

環境構築

お手軽にbrew経由で。

$ brew install mosquitto

おためし

ブローカーのmosquitto本体を立ち上げ。
デフォルトポートは1883、同一LAN内で動かすためIPアドレスは192.168.XXX.YYYなものを遣います。

$ mosquitto
1507267351: mosquitto version 1.4.14 (build date 2017-09-30 02:42:20+0100) starting
1507267351: Using default config.
1507267351: Opening ipv6 listen socket on port 1883.
1507267351: Opening ipv4 listen socket on port 1883.
...

mosquittoを導入すると、publisher とsubscriber がついてきます。
有難く使わせてもらいましょう。

まずはsubscriber。
これは起動して待つ感じ。
"-h"でホスト名かIPアドレス、"-t"でトピック名指定。"-q"は送信品質です。

$ mosquitto_sub -h localhost -t sensors/temperature -q 1

次にpublisher。
今回使うオプションはsubscriberと同じです。

$ mosquitto_pub -h localhost -t sensors/temperature -m 64 -q 1
$ mosquitto_pub -h localhost -t sensors/temperature -m 250 -q 1

subscriber側で先程の結果をみると……ちゃんと来てますね。

$ mosquitto_sub -h localhost -t sensors/temperature -q 1
64
250

同一ネットワークなら手間なく相互接続可能

同一ネットワークなら、192.168.XXX.YYYな感じでIPアドレスを指定してあげると通信できます。
……なんだかIMみたいですねぇ……

$ mosquitto_sub -h localhost -t sensors/temperature -q 1
10000000000000
10000000000000
Big Brother is Wathicng you
てすとてすと
KAYU_UMA
感染者がいるぞ!

mosquittoの方にも接続してきたIPアドレス(LAN内)がでてきますね。

1507268565: New client connected from 192.168.0.8 as lens_efJHS80zrXXXXXXXXXXXXX (c1, k120).