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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ryosk7
July 19, 2025
Technology
1
130
実運用を目指す、PicoRuby と MQTT
PicoRuby Overflow Kaigi 登壇資料
https://naniwarb.github.io/picorubyoverflowkaigi/
ryosk7
July 19, 2025
Tweet
Share
More Decks by ryosk7
See All by ryosk7
Campfireから学ぶ、37signalsのRails設計入門
ryosk7
0
42
実践「Clean Coder」
ryosk7
1
12
PicoRubyでMQTTサポートの実装をしている話 (3)
ryosk7
0
150
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
500
PicoRubyでMQTTサポートの実装をしている話
ryosk7
0
590
Gitを理解した話
ryosk7
9
1.1k
Kaigi on Rails 2024 その後
ryosk7
0
110
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
1.6k
【月刊MEMTUS】2024ハッカソン登壇後アプデ内容
ryosk7
0
140
Other Decks in Technology
See All in Technology
OSSで構築するIT基盤管理実践事例: NetBox・Snipe-IT・FreeRADIUS+PrivacyIDEA / Practical Case Studies of IT Infrastructure Management Using OSS
nttcom
0
200
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
110
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
チームメンバー迷わないIaC設計
hayama17
5
3.8k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.9k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
14k
Security Diaries of an Open Source IAM
ahus1
0
200
OpenClawで回す組織運営
jacopen
2
310
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
150
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
880
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
74
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Test your architecture with Archunit
thirion
1
2.2k
Being A Developer After 40
akosma
91
590k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
130
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for humans not robots
tammielis
254
26k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
࣮ӡ༻Λࢦ͢ɺ1JDP3VCZͱ.255 1JDP3VCZ0WFS fl PXձٞ 3ZPTVLF6DIJEB !SZPTL
3ZPTVLF6DIJEB !SZPTL SPQQPOHJSCΦʔΨφΠβʔ ࠷ۙձࣾࣙΊ·ͨ͠ 3VCZͱΒͯ͠·͢ ΈࠐΈษڧதͰ͢
1JDP3VCZͰ.255Λ࣮͍ͯ͠·͢ʂ
લ·ͰϏϧυΤϥʔͰಈ͔ͳͯ͘ɺ ͍ͭ࠷ۙ·ͨಈ͖·ͨ͠ ࢿྉ͕ࡶͰ͢
.255࣮ͷϞνϕʔγϣϯ
ݱࡏʮΪʔΫϋε৽॓ʯ ͱ͍͏γΣΞϋεʹॅΜͰ͍ΔͷͰ͕͢ɺ
γΣΞϋεͷݰؔ εϚʔτϩοΫͰཧ͞Ε͍ͯ·͢ɻ
ॅਓͷग़ೖΓ͕ଟ͍ͨΊɺ ͜Μͳ͕ൃੜ͍ͯ͠·ͨ͠ɻ
None
εϚʔτͰͳ͍ͬʂ
ͦΜͳཧ༝͔Βੜ·Εͨ εϚʔτϩοΫϓϩδΣΫτ
աڈʹճɺ ৭ʑͳॴͰਐḿΛ͓ͳ͍ͯ͠͠·ͨ͠
աڈʹճɺ ৭ʑͳॴͰਐḿΛ͓ͳ͍ͯ͠͠·ͨ͠
ࠓճͦͷूେΛ͓ͳ͠͠·͢
.255ͱ
.255ͱ
•ܰྔ: ࠷খ2όΠτ͔Β௨৴Մೳ •ํ: σόΠεؒͰ૬ޓ௨৴ •Pub/Sub: ඇಉظϝοηʔδϯά •QoS: ৴࣭อূʢ0, 1, 2ʣ
ͳͥ1JDP3VCZ .255ͳͷ͔
.PTRVJUUP ϒϩʔΧʔ "QQMF)PNF,JU
•MQTT over WebSocketͤͯ͞ɺઐ༻ϖʔδ͔Β։͚ΒΕΔΑ͏ʹ͢Δ •QRίʔυͰ։͘Α͏ʹ͢Δ •κφͷྗΛ͍࣋ͬͯΔਓ։͚ΒΕΔΑ͏ʹ͢Δ(?) কདྷతʹ
࣮ࡍʹͰ͖ͨՌ
None
None
ͱΓ͋͑ͣಈͧ͘ʂʂ͍ͬͯ͏ͷͰ͖ͨ
• MQTT 3.1.1 • QoS 0 Pub/Sub • Raspberry Pi
Pico WͰಈ࡞֬ೝࡁΈ • ruby-mqttʹ͍ۙAPI QJDPSVCZNRUU
͔͜͜Βɺؒͷ5SZ&SSPSͷͳ͠
ίʔϧόοΫͱ͍͏୯ޠʹनΘΕ͍ͯͨ
ϝοηʔδΛड͚औͬͨΒ zίʔϧόοΫz͍ͨ͠
ίʔϧόοΫ͢ΔίʔυΛ ύέοτΩϡʔΠϯάγεςϜͰཧ͍ͯͨ͠
ϝϞϦރׇ͕සൟʹى͜Γɺɺ
ϝϞϦׂΓ͕ͯෳࡶͳͨΊɺ Ͳ͕͜ݪҼ͔Θ͔Βͳ͍ͱ͍͏ʑ͕͋ͬͨ
ίϯύΠϧ͞Εͨ3VCZίʔυΛϝϞϦʹอଘ͠ɺ ίʔϧόοΫͰ࣮ߦ͢ΔෳࡶͳΈͩͬͨɻ 👉͜Ε͕ϝϞϦϦʔΫͱෆ҆ఆੑͷओཁݪҼ
ݻఆόοϑΝ ϙʔϦϯάํࣜʹͯ͠ɺ ϝϞϦރׇͷͳ͍.255͕ͨ͠
ݱࡏSVCZNRUU"1*ʹ߹Θͤͯɺ ͜Μͳײ͡ʹ͔͚Δ
None
ݱࡏͷQJDPSVCZNRUUɺ ࣗલ.255Ͱͳ͘ɺ
QJDPSVCZOFUʹґଘͤ͞ɺ QJDPTELͷMXJQͱNRUUΛར༻͍ͯ͠Δ
.JDSP1ZUIPOઌഐQJDPTELΛͬͯͳͦ͞͏ ͩͬͨͷͰɺํͱ͍͍ͯ͠ͷ͔Α͘Θ͔ͬͯͳ͍
࠷ޙʹɺɺ
044ʹػೳՃͷ13Λग़ͨ͠ͷ͕ɺ࣮ॳΊͯ
ΊͪΌΊͪΌϨϏϡʔͯ͘͠Εͨ !IBTVNJLJO͞Μɺ͋Γ͕ͱ͏͍͟͝·͢🙌 ·͓ͩΘͬͯͳ͍
• QoS 1ͱ2ͷαϙʔτ • MQTT 5.0ͷαϙʔτ • MQTT over WebSocket
• Over-the-Air (OTA) for callback কདྷతʹΓ͍ͨ͜ͱ
͓ΘΓ