SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Tervezz IoT architektúrát,
avagy élet egy HTTP nélküli világban
Balássy György
Gyorgy.Balassy@logmein.com
1
Alapprobléma
InternetThing Alkalmazás
Adat
Parancs
2
Alapprobléma
InternetThing Thing
Adat
Parancs
3
Adatgyűjtés
HTTPThing Webszerver
POST
GET
4
HyperText Transfer Protocol
Szöveges1  költséges
Hardver igény
Kliens-szerver
Visszahívás nehézkes2
1: HTTP/2 bináris
2: Websocket
Ismerjük
Egyszerű fejlesztés
Egyszerű hibakeresés
Egyszerű üzemeltetés
Mindenhol támogatott
5
Más protokoll?
XMPP (Extensible Messaging and Presence Protocol, 1999.)
MQTT (Message Queue Telemetry Transport, 1999.)
AMQP (Advanced Message Queueing Protocol, 2012.)
Egyszerűbb
Kisebb hardver igény
Nyílt szabvány  implementáció van minden platformra
Broker szolgáltatások:
- Perzisztencia
- Last will
- Quality of Service (QoS)
6
Adatméret csökkentése: Protobuf
Protocol Buffers (Google, 2008.)
Interfész leíró nyelv
Akár RPC-re is
Bináris
Előre-visszafele kompatibilis
Nem önleíró
C++, Java, Python fordítók + közösség
7
Protobuf séma minta: polyline.proto
message Point {
required int32 x = 1;
required int32 y = 2;
optional string label = 3;
}
message Line {
required Point start = 1;
required Point end = 2;
optional string label = 3;
}
message Polyline {
repeated Point point = 1;
optional string label = 2;
}
8
Protobuf folyamat
.proto
.cpp
.h
protoc
9
Publish-subscribe
Publisher Broker Subscriber
Subscriber
10
Szabály alapú cselekvés
Publisher
Subscriber
(Rule 1)
Broker
Subscriber
(Rule 2)
E-mail
SMS
11
Visszacsatolás
Publisher
Subscriber
(Rule 1)
Broker
Subscriber
(Rule 2)
SMS
12
Mire van szükségünk?
Cloud
(MQTT broker)
Device
(MQTT client)
App
(MQTT client)
Device
(MQTT client)
App
(MQTT client)
13
Demo
Node.js app
(mosca)
Node.js app
(mqtt.js)
Node.js app
(mqtt.js)
14
15
http://speakerscore.com/iot2
Köszönöm a figyelmet!
https://github.com/balassy/mqtt-demo

Weitere ähnliche Inhalte

Andere mochten auch

TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?György Balássy
 
Jusztin Tamás: A közoktatás digitalizálása
Jusztin Tamás: A közoktatás digitalizálásaJusztin Tamás: A közoktatás digitalizálása
Jusztin Tamás: A közoktatás digitalizálásaMeetOFF
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with AzureShahed Chowdhuri
 
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...György Balássy
 
That’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersThat’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersGyörgy Balássy
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0joescars
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
Xamariners: PRISM for Xamarin.Forms
Xamariners: PRISM for Xamarin.FormsXamariners: PRISM for Xamarin.Forms
Xamariners: PRISM for Xamarin.FormsXamariners
 

Andere mochten auch (14)

TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
 
About myself
About myselfAbout myself
About myself
 
Jusztin Tamás: A közoktatás digitalizálása
Jusztin Tamás: A közoktatás digitalizálásaJusztin Tamás: A közoktatás digitalizálása
Jusztin Tamás: A közoktatás digitalizálása
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
TypeScript Today
TypeScript TodayTypeScript Today
TypeScript Today
 
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...
Az ASP.NET és a biztonság - avagy bízhatunk-e egy 10 éves platformban (Ethica...
 
That’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersThat’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developers
 
ASP.NET Server Core-on
ASP.NET Server Core-onASP.NET Server Core-on
ASP.NET Server Core-on
 
.NOT, avagy .NET vNext
.NOT, avagy .NET vNext.NOT, avagy .NET vNext
.NOT, avagy .NET vNext
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + Mobile
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
Xamariners: PRISM for Xamarin.Forms
Xamariners: PRISM for Xamarin.FormsXamariners: PRISM for Xamarin.Forms
Xamariners: PRISM for Xamarin.Forms
 

Ähnlich wie Tervezz IoT architektúrát, avagy élet egy HTTP nélküli világban

Virtualizáció az EGISben
Virtualizáció az EGISbenVirtualizáció az EGISben
Virtualizáció az EGISbengazdagf
 
GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19Mihály Mészáros
 
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatOSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatF L
 
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatOSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatF L
 
StreamProxy - University of Pannonia
StreamProxy - University of PannoniaStreamProxy - University of Pannonia
StreamProxy - University of PannoniaBálint Szekeres
 
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Mihály Mészáros
 
WebSocket bemutatás
WebSocket bemutatásWebSocket bemutatás
WebSocket bemutatásKristof Jozsa
 
Windows Szerver kiadások.
Windows Szerver kiadások.Windows Szerver kiadások.
Windows Szerver kiadások.Attila Nagy
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokMárton Kodok
 
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikációtlof
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projektFerenc Szalai
 
IPTV rendszerek diplomamunka prezentáció
IPTV rendszerek diplomamunka prezentációIPTV rendszerek diplomamunka prezentáció
IPTV rendszerek diplomamunka prezentációDávid Károly
 

Ähnlich wie Tervezz IoT architektúrát, avagy élet egy HTTP nélküli világban (18)

Virtualizáció az EGISben
Virtualizáció az EGISbenVirtualizáció az EGISben
Virtualizáció az EGISben
 
Voip
VoipVoip
Voip
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
Mi az a queue?
Mi az a queue?Mi az a queue?
Mi az a queue?
 
GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19
 
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatOSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
 
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti ÖnkormányzatOSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
OSF.hu - Önkormányzat FLOSS alapokon – Törökbálinti Önkormányzat
 
Hogyan méretezzünk tűzfalat?
Hogyan méretezzünk tűzfalat?Hogyan méretezzünk tűzfalat?
Hogyan méretezzünk tűzfalat?
 
StreamProxy - University of Pannonia
StreamProxy - University of PannoniaStreamProxy - University of Pannonia
StreamProxy - University of Pannonia
 
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
Nyílt forráskódú VideoKonferencia mindenkinek! (A GÉANT4 JRA4 T4 és T5 eredmé...
 
WebSocket bemutatás
WebSocket bemutatásWebSocket bemutatás
WebSocket bemutatás
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
Windows Szerver kiadások.
Windows Szerver kiadások.Windows Szerver kiadások.
Windows Szerver kiadások.
 
Netacademy magyar
Netacademy magyarNetacademy magyar
Netacademy magyar
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatások
 
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikáció
 
Grid Underground projekt
Grid Underground projektGrid Underground projekt
Grid Underground projekt
 
IPTV rendszerek diplomamunka prezentáció
IPTV rendszerek diplomamunka prezentációIPTV rendszerek diplomamunka prezentáció
IPTV rendszerek diplomamunka prezentáció
 

Tervezz IoT architektúrát, avagy élet egy HTTP nélküli világban

Hinweis der Redaktion

  1. Overhead: formátum: text  méret  sebesség
  2. MQTT (Message Queue Telemetry Transport, 1999) Designed for: - Small code footprint - Limited network bandwidth Publish-subscribe Pl. Facebook Messenger AMQP (Advanced Message Queueing Protocol, 2012) Application layer protocol for Message-oriented middleware XMPP: Extensible Messaging and Presence Protocol Jabber, 1999 Szöveges, XML alapú Nincs QoS Nincs end-to-end titkosítás QoS: At most once (0) At least once (1) Exactly once (2).
  3. Előnyök: Tetszőleges számú publisher és subscriber lehet Csak egyirányú kommunikáció, fire and forget (ACK helyett QoS) Nem csak adat, hanem parancs kommunikációra is alkalmas
  4. Lazán csatolt rendszer
  5. Biztosan a klasszikus webes megoldás az optimális? Nem jobb a publisher-subscriber modell? Melyik létező megoldást válasszuk?