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
「MQTT完全に理解した」から一歩踏み出してみた / Learning MQTT beyond...
Search
Shingo Fukui
July 19, 2019
Technology
0
1.1k
「MQTT完全に理解した」から一歩踏み出してみた / Learning MQTT beyond copy-paste habit
IoTLT vol.53の発表資料
タイトル:「MQTT完全に理解した」から一歩踏み出してみた
Shingo Fukui
July 19, 2019
Tweet
Share
More Decks by Shingo Fukui
See All by Shingo Fukui
IoTのリモートプレゼンで使い易い俯瞰カメラを模索 / Overhead camera settings for IoT presentation
magicpocket
0
880
カメラ切替器ATEM Miniをobnizで操作してみた / Controlling ATEM Mini with obniz
magicpocket
0
660
obnizOSプラグインを試してみた / obnizOS Plugin
magicpocket
0
800
CactusphereでAzure Sphereを体験 / First impression of Cactusphere and Azure Sphere
magicpocket
0
450
M5Stackファミリーで赤外線学習リモコンを作った話 / Making IR learning remote control with M5Stack family
magicpocket
0
1.6k
重症先延ばし案件を片付けた話 / got done long procrastinated projects
magicpocket
0
840
本「Jetson Nano超入門」の見取り図 / Contents map of Jetson Nano book
magicpocket
0
440
本「NoodlとNode-REDではじめるフローベースドプロトタイピング」の見取り図 / contents map of Noodl and Node-Red book
magicpocket
0
500
「IoT入門」の見取り図 / Contents Map for IoT
magicpocket
0
830
Other Decks in Technology
See All in Technology
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
2
470
Lessons from CVE-2025-22869: Memory Debugging and OSS Vulnerability Reporting
vvatanabe
2
110
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
6
790
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
130
知られざるprops命名の慣習 アクション編
uhyo
11
2.8k
エキサイトブログの トップページを 段階的にリプレイスする
zsp2088dev
0
140
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
290
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
30
11k
Flutterでキャッチしないエラーはどこに行く
taiju59
0
120
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
300
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
230
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Docker and Python
trallard
45
3.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Embracing the Ebb and Flow
colly
87
4.8k
Automating Front-end Workflow
addyosmani
1370
200k
Building Adaptive Systems
keathley
43
2.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Transcript
COPYRIGHT ©2019 SHINGO FUKUI ʮMQTT શʹཧղͨ͠ʯ͔Β Ұา౿Έग़ͯ͠Έͨ 20197݄19 IoTറΓͷษڧձ! IoTLT
vol.53 @LINE Ҫ ᚸޗ
COPYRIGHT ©2019 SHINGO FUKUI ࣗݾհ Ҫᚸޗ @SilkAndTikit ιϑτΣΞΤϯδχΞʢJavaScript, Java, ,
Lisp, Cʣ IoTΤϯδχΞʹసதɹ 2 IoTϋϯζΦϯ։࠵ ࣗಈਫΓػ৬ਓ https://iot-gym.connpass.com ຊͷ༁
COPYRIGHT ©2019 SHINGO FUKUI ए͍ਓʹΑ͘આڭ͍ͯͨ͠ 3 QiitaͷίϐϖͰΓաͯͨ͝͠Β͠ͳ͍Αɻ ͪΌΜͱجຊͷΈΛֶͳͪ͘Όɻ
COPYRIGHT ©2019 SHINGO FUKUI ͦΕͳͷʹɺ ɹMQTTͷίʔυΛίϐϖͯ͠ࡁ·͍ͤͯͨʂ 4
COPYRIGHT ©2019 SHINGO FUKUI MQTT Broker ίϐϖͰMQTTͷجຊΘ͔ͬͨ 5 MQTT Client
ϓϩτίϧ͕ܰྔͰIoTʹ͍͍ͯΔ ొਓ Broker ͱ Client Publish / Subscribe ܕ௨৴ MQTT Client Topic A Topic B "Hello" Publisher Subscriber Publish "Hello" to B
COPYRIGHT ©2019 SHINGO FUKUI ίϐϖ͚ͩͩͱ ɹΘ͔Βͳ͍͜ͱ͕৭ʑग़͖ͯͨ ͲͷBrokerɺͲͷClientιϑτΛ͏͔ʁ ϒϥβͰMQTT௨৴͢Δํ๏ʁ ར༻ऀΛݶఆ͢Δํ๏ʁ Node-RedͰMQTTΛར༻͢Δํ๏ʁ
6 ͦ͜ͰɺجຊΛֶΜͰΈͨ ͍͔ͭ͘հ
COPYRIGHT ©2019 SHINGO FUKUI MQTTͷ௨৴ͷछྨ 7 TCPଓɹmqtt://αʔόΞυϨε:1883/ Client Broker TCP
COPYRIGHT ©2019 SHINGO FUKUI MQTTͷ௨৴ͷछྨ 8 TCPଓɹmqtt://αʔόΞυϨε:1883/ Client WebSocketଓɹws://αʔόΞυϨε:9001/ ϒϥβ
JavaScript Broker Broker WebSocket TCP
COPYRIGHT ©2019 SHINGO FUKUI ҉߸Խͳ͠ MQTTͷ௨৴ͷछྨ 9 TCPଓɹmqtt://αʔόΞυϨε:1883/ Client WebSocketଓɹws://αʔόΞυϨε:9001/
ϒϥβ JavaScript Broker Broker WebSocket TCP
COPYRIGHT ©2019 SHINGO FUKUI ҉߸Խͳ͠ MQTTͷ௨৴ͷछྨ 10 TCPଓɹmqtt://αʔόΞυϨε:1883/ Client WebSocketଓɹws://αʔόΞυϨε:9001/
ϒϥβ JavaScript Broker Broker TLS҉߸Խ Client WebSocketଓɹwss://αʔόΞυϨε:443/ ϒϥβ JavaScript Broker Broker WebSocket + TLS TCP+TLS TCPଓɹmqtts://αʔόΞυϨε:8883/ WebSocket TCP
COPYRIGHT ©2019 SHINGO FUKUI ར༻ऀೝূͷछྨ ೝূͳ͠ʢanonymousʣ ID, PASSWORDͰೝূ ʢClientূ໌ॻͰೝূʣ 11
COPYRIGHT ©2019 SHINGO FUKUI ௨৴ͷछྨͷશύλʔϯ 2 x 2 x 2
= 8ύλʔϯ 12 TCP WebSocket ҉߸Խͳ͠ TLS Clientೝূͳ͠ ID, PASSWORD X X ɿClientূ໌ॻলུ
COPYRIGHT ©2019 SHINGO FUKUI ࣮ݧͷਐΊํ: 1εςοϓͣͭෳࡶԽ 13 MQTT.js mosquitto mosquitto
TCP TCP Client Broker ID,PW MQTT.js ID,PW TCP mosquitto MQTT.js mosquitto WebSocket WebSocket WebSocket TLS MQTT.js TLS TCP+TLS mosquitto 1. 2. 3. 4. 5.
COPYRIGHT ©2019 SHINGO FUKUI Node-RedͰMQTT Clientͱ͍͍ͯͨ͠ BrokerΛNode-RedͰಈ͔͍ͨ͠ 14
COPYRIGHT ©2019 SHINGO FUKUI PublishϊʔυɺSubscribeϊʔυΛ͏ Clientͱ͍͍ͯͨ͠ 15 MQTT Broker subscribe
publish
COPYRIGHT ©2019 SHINGO FUKUI PublishϊʔυɺSubscribeϊʔυΛ͏ Clientͱ͍͍ͯͨ͠ 16 MQTT Broker subscribe
publish Node-RedͱBrokerΛηοτͰఏڙ͢Δ ΫϥυαʔϏε͋Δ
COPYRIGHT ©2019 SHINGO FUKUI Node-RedͰBrokerΛಈ͔͍ͨ͠ 17 node.jsͰॻ͔ΕͨMQTT Broker ʮMoscaʯ͕ϊʔυͱͯ͠ಈ͘ ʮύϨοτͷཧʯͰnode-red-contrib-mqtt-brokerΛՃ͢Δ
TCP , WebSocket྆ରԠɻID,PASSWORD? TLSʁ Node-RedαʔόʔͷMQTTϙʔτ͕ղ์͞Ε͍ͯΕ֎෦ػثͱ௨৴Ͱ͖Δ subscribe publish Broker
COPYRIGHT ©2019 SHINGO FUKUI جຊΛֶͿ͜ͱେࣄʂ 18
COPYRIGHT ©2019 SHINGO FUKUI ݁ɿ͜Ε͔ΒઆڭΛଓ͚Δ 19 ϝϯλʔ QiitaͷίϐϖͰΓաͯͨ͝͠Β͠ͳ͍Αɻ ͪΌΜͱجຊͷΈΛֶͳͪ͘Όɻ