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
0
200
PicoRubyでMQTTサポートの実装をしている話
Roppongi.rb #26 登壇資料
ryosk7
January 09, 2025
Tweet
Share
More Decks by ryosk7
See All by ryosk7
PicoRubyでMQTTサポートの実装をしている話 (3)
ryosk7
0
70
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
330
Gitを理解した話
ryosk7
9
1k
Kaigi on Rails 2024 その後
ryosk7
0
49
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
800
【月刊MEMTUS】2024ハッカソン登壇後アプデ内容
ryosk7
0
100
非課税で110万円のクーポンと交換, NEMTUS Hackathon 2024
ryosk7
0
99
技術書典からバックレなくて良かった話
ryosk7
1
210
Rails7.0でTrilogyを試す
ryosk7
0
300
Other Decks in Programming
See All in Programming
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
810
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
110
単体テストの始め方/作り方
toms74209200
0
440
Using AI Tools Around Software Development
inouehi
0
1.2k
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6k
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
120
「兵法」から見る質とスピード
ickx
0
270
GoのWebAssembly活用パターン紹介
syumai
3
10k
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
130
XSLTで作るBrainfuck処理系
makki_d
0
200
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.8k
Scaling GitHub
holman
459
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Building Adaptive Systems
keathley
43
2.6k
Being A Developer After 40
akosma
90
590k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
920
The Pragmatic Product Professional
lauravandoore
35
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Facilitating Awesome Meetings
lara
54
6.4k
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に出ます
前夜祭で登壇します!
なんとか形にします。 。(まだ時間はある)
おわり