Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PicoRubyでMQTTサポートの実装をしている話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ryosk7
January 09, 2025
Programming
670
0
Share
PicoRubyでMQTTサポートの実装をしている話
Roppongi.rb #26 登壇資料
ryosk7
January 09, 2025
More Decks by ryosk7
See All by ryosk7
Extreme MQTT on PicoRuby
ryosk7
1
110
Campfireから学ぶ、37signalsのRails設計入門
ryosk7
0
49
実践「Clean Coder」
ryosk7
1
20
実運用を目指す、PicoRuby と MQTT
ryosk7
1
500
PicoRubyでMQTTサポートの実装をしている話 (3)
ryosk7
0
180
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
840
Gitを理解した話
ryosk7
9
1.1k
Kaigi on Rails 2024 その後
ryosk7
0
120
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
1.7k
Other Decks in Programming
See All in Programming
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
920
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
190
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
250
iOS26時代の新規アプリ開発
yuukiw00w
0
200
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.4k
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
240
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
My daily life on Ruby
a_matsuda
3
440
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
160
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
210
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
180
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
310
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
450
It's Worth the Effort
3n
188
29k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
320
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
360
Designing for Timeless Needs
cassininazir
1
230
Transcript
PicoRubyでMQTTサポートの実装をしている話 ryosk7
None
今日会社の新年会で表彰されました。 うれしい!
それでは本題
PicoRubyとは PicoRuby は、ワンチップ マイクロコントローラ向けの最小の Ruby 実装です。 主にRaspberry Pi Picoをサポートしています。
去年8月にWiFiサポートが入りました
これでPicoRubyはIoTを作れるようになった(神)
と、いうことで
HTTP接続してみた!
みづらいと思うので、次のスライドへ
できること IPアドレス検索 (DNS Resolver) Get、Put、PostといったHTTPリクエスト
これでスマートロックを作ろうと思っています。 BLEを使ったスマートロック(モドキ)は作りました。
ただ、実際にやってみるとメモリ不足に。
HTTPプロトコルはヘッダー情報が大きい。 だいたい200~800バイト。
そこで、MQTT。
MQTT MQTT (Message Queuing Telemetry Transport) は、軽量で効率的な通信プロトコル。 リソースが限られたデバイス同士の通信で使用される。
MQTTのしくみ (1)
MQTTのしくみ (2) ヘッダーサイズは2~10バイト。 HTTPは200~800バイトだったので、かなり小さい。
MQTTのしくみ (3) パブリッシュ(Publish): メッセージを送信する側が特定の「トピック」にデー タを送る。 サブスクライブ(Subscribe): トピックを購読している側がそのメッセージを受 け取る。 ブローカー(中央のサーバー): メッセージを中継する。
PicoRubyで実装中。 。 。
Connectionさせるところまでできた! あとは、Keep Aliveさせるところを実装してPRを投げるつもり。
東京RubyKaigiに出ます
前夜祭で登壇します!
なんとか形にします。 。(まだ時間はある)
おわり