Slide 1

Slide 1 text

PicoRubyでMQTTサポートの実装をしている話 ryosk7

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

今日会社の新年会で表彰されました。 うれしい!

Slide 4

Slide 4 text

それでは本題

Slide 5

Slide 5 text

PicoRubyとは PicoRuby は、ワンチップ マイクロコントローラ向けの最小の Ruby 実装です。 主にRaspberry Pi Picoをサポートしています。

Slide 6

Slide 6 text

去年8月にWiFiサポートが入りました

Slide 7

Slide 7 text

これでPicoRubyはIoTを作れるようになった(神)

Slide 8

Slide 8 text

と、いうことで

Slide 9

Slide 9 text

HTTP接続してみた!

Slide 10

Slide 10 text

みづらいと思うので、次のスライドへ

Slide 11

Slide 11 text

できること IPアドレス検索 (DNS Resolver) Get、Put、PostといったHTTPリクエスト

Slide 12

Slide 12 text

これでスマートロックを作ろうと思っています。 BLEを使ったスマートロック(モドキ)は作りました。

Slide 13

Slide 13 text

ただ、実際にやってみるとメモリ不足に。

Slide 14

Slide 14 text

HTTPプロトコルはヘッダー情報が大きい。 だいたい200~800バイト。

Slide 15

Slide 15 text

そこで、MQTT。

Slide 16

Slide 16 text

MQTT MQTT (Message Queuing Telemetry Transport) は、軽量で効率的な通信プロトコル。 リソースが限られたデバイス同士の通信で使用される。

Slide 17

Slide 17 text

MQTTのしくみ (1)

Slide 18

Slide 18 text

MQTTのしくみ (2) ヘッダーサイズは2~10バイト。 HTTPは200~800バイトだったので、かなり小さい。

Slide 19

Slide 19 text

MQTTのしくみ (3) パブリッシュ(Publish): メッセージを送信する側が特定の「トピック」にデー タを送る。 サブスクライブ(Subscribe): トピックを購読している側がそのメッセージを受 け取る。 ブローカー(中央のサーバー): メッセージを中継する。

Slide 20

Slide 20 text

PicoRubyで実装中。 。 。

Slide 21

Slide 21 text

Connectionさせるところまでできた! あとは、Keep Aliveさせるところを実装してPRを投げるつもり。

Slide 22

Slide 22 text

東京RubyKaigiに出ます

Slide 23

Slide 23 text

前夜祭で登壇します!

Slide 24

Slide 24 text

なんとか形にします。 。(まだ時間はある)

Slide 25

Slide 25 text

おわり