tervezz iot architektúrát, avagy élet egy http nélküli világban

Post on 20-Jul-2015

59 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tervezz IoT architektúrát,

avagy élet egy HTTP nélküli világban

Balássy György

Gyorgy.Ba lassy@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áris2: 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

.hprotoc

9

Publish-subscribe

Publisher Broker Subscriber

Subscriber

10

Szabály alapú cselekvés

PublisherSubscriber

(Rule 1)Broker

Subscriber(Rule 2)

E-mail

SMS

11

Visszacsatolás

PublisherSubscriber

(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

top related