Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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).