Slide 1

Slide 1 text

MQTT 入門 2019/3/27 @kamontia 1

Slide 2

Slide 2 text

自己紹介 2 Name Tatsuya Kamohara Work 車載AUTOSAR Classic&Adaptive OTA(Over the Air) Hobby ダーツ レーティング7付近(3投に1投真ん中くらい) Other 子供が生まれました(11ヶ月)

Slide 3

Slide 3 text

MQTT聞いたことある人? 3

Slide 4

Slide 4 text

ペイロード(送りたいデータ)が 小さいときに有効なプロトコル 4

Slide 5

Slide 5 text

それだけ知ってもらえれば もう大丈夫です Facebook Messenger でも使われているらしい 5

Slide 6

Slide 6 text

MQTTって ペイロードに対するオーバーヘッドが少ない 最小ヘッダサイズ:2バイト (HTTP GET: 26バイト) 結果的に消費電力効果も非常に大きい 6 MQTTの通信は本当に軽いのか? https://www.ydc.co.jp/column/0002/20170630.html

Slide 7

Slide 7 text

MQTTって Message Queuing Telemetry Transport メッセージ指向: 1 対 N(Pub/Sub) 7 Publisher Broker Subscriber Subscriber Subscriber TOPIC≒ ・ home/living/light1 ・ home/bedroom/light1 TOPICに対して メッセージを発行 TOPIC単位でサブスクライブして メッセージを購読 PublisherはBrokerだけを意識すればいい SubscriberはBrokerだけを意識すればいい Brokerが頑張ってくれるので 疎結合を維持しやすい

Slide 8

Slide 8 text

MQTTの仕様 概要がわかりやすく載っています(すみません) http://devcenter.magellanic- clouds.com/learning/mqtt-spec.html ・ TOPIC は正規表現が使えて、1回の送信でより効率的 にマッチするSubscriberに送信できる ・ QoSも規定されている ・ Subscriberが意図しない 8

Slide 9

Slide 9 text

9 2017年 GoogleHomeを購入したボク

Slide 10

Slide 10 text

家電操作に使ってみた(REST) • アーキテクチャ 10 和室の電気消して OFF RESTサーバ BAD ・ サーバとして待ち受けるのでルータの設定が必要 → 万人に向かない、ルータ変わるとめんどい ・ トリガー側が全ての宛先情報を持っておかなければならない ・ TOPICの概念が無いので設計の配置が柔軟にできない RasberryPI と赤外線送受信もジュール

Slide 11

Slide 11 text

11 2019年 MQTTなんかいいじゃんと思ったボク

Slide 12

Slide 12 text

家電操作に使ってみた(MQTT) • アーキテクチャ 12 和室の電気消して Publisher Broker(home/light) Subscriber API Call OFF RasberryPI と赤外線送受信もジュール BrokerはOSSで公開されている SaaSとしても提供されており、今回は無償のBeebotteを利用 Subscriberが1台だと有り難みが少ないが 数十台~数万台になると威力を発揮

Slide 13

Slide 13 text

13 Thank you