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
ryosk7
January 09, 2025
Programming
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PicoRubyでMQTTサポートの実装をしている話
Roppongi.rb #26 登壇資料
ryosk7
January 09, 2025
More Decks by ryosk7
See All by ryosk7
Extreme MQTT on PicoRuby
ryosk7
1
280
Campfireから学ぶ、37signalsのRails設計入門
ryosk7
0
68
実践「Clean Coder」
ryosk7
1
28
実運用を目指す、PicoRuby と MQTT
ryosk7
1
600
PicoRubyでMQTTサポートの実装をしている話 (3)
ryosk7
0
210
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
940
Gitを理解した話
ryosk7
9
1.2k
Kaigi on Rails 2024 その後
ryosk7
0
140
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
1.7k
Other Decks in Programming
See All in Programming
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
Oxlintはいいぞ(続)
yug1224
1
540
高専キャリア LT 発表内容
crysta1221
6
5.5k
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
270
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
KATA
mclloyd
PRO
35
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
760
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Language of Interfaces
destraynor
162
27k
Un-Boring Meetings
codingconduct
0
410
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に出ます
前夜祭で登壇します!
なんとか形にします。 。(まだ時間はある)
おわり