Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 1
Eclipse DemoCampsNovember 2013
Grenoble
Projets Eclipsepour l'IoT, le M2M et le SOHO
Didier DonsezUniversité de Grenoble
LIG / [email protected]
From Processing.org
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 3
Qui connaitles acronymes
IoT, M2M et SOHO?
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 4
RememberAverage skill level of
the end-user
Number ofcomputers
Number ofhuman end-users
time
loga
rithm
ic s
cale
White collar
Desperated
Housewife
Baby
Senior
Teen Kid
PhDEngineer
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 6
The Internet of (chatty) Things (IoT)
InstrumentationCommunicationMediationDecisionRe-actionExploration
phones
robot
RFID / NFC
SCADA
sensor nodes
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 725/11/2013 7
Big Picture of IoT Applications
Smart Office & HomeSOHO
Smart Building Smart city Geographicscale
Networkcategories
WAN
MAN
LAN
WLAN
WSN
PAN
BAN
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 8
Big Picture of IoT Applications
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 9
25/11/13
EnvironnementPhysique
Extract Transform Load
Infrastructure IT
Action
An
al
ys
e
Les Services Machine-à-Machine (M2M):Nouvelle vague du "e-business" :
Services à valeur ajoutée basés sur les dispositifs enfouies Intégration sécurisée et résiliente
des environnements physiques / opérationnelset des infrastructures IT
● Support "temps réel" (just-in-time) à la prise de décision● Intégration avec les applications IT● Création de nouveaux services à valeur ajoutée● Création de nouveaux modèles économiques
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 10
Présent : Solutions M2M ad-hoc
● Centré Domaine– Dédié (voir « fermé ») à un secteur d'activité– Un équipement → Un usage
● Faible mutualisationdes infrastructures matérielles et logicielles
● Solutions multi-acteurs/opérateurs difficiles● Perte d'opportunités inter-secteurs
→ Intergiciels, Méthodes Logicielles, … communes (indépendant de domaines)
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 11
Patrons d'architecture IoT
● Evénementiel– Publish – Subscribe
● QoS (determinist, reliable, elastic, ...)
● Médiation– ECA (Event Condition Action)– CEP (Complex Event Processing)– EST (Event Stream Processing)
● ETL (Extract – Transform - Load)
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 12
Publish-Subscribe Pattern
PubSubBroker
PubSubBroker
Publishertopic="s11/hum"
Publishertopic="s11/hum"
Subscriberevent.topics=
{"#/location"}
Subscriberevent.topics=
{"#/location"}
Publishertopic="s12/temp"
Publishertopic="s12/temp"
Publishertopic=
"s13/wind"
Publishertopic=
"s13/wind"
Subscriberevent.topics={"#/temp","#/hum"}
Subscriberevent.topics={"#/temp","#/hum"}
Subscriberevent.topics=
{"s11/#","s13/#"}
Subscriberevent.topics=
{"s11/#","s13/#"}
Subscriberevent.topics=
{"s14/#"}
Subscriberevent.topics=
{"s14/#"}
E2
E2
E3
E3
E1E1
E1
E4
E4
E4
Publishertopic=
"s10/geiger/pps"
Publishertopic=
"s10/geiger/pps"
E6
Event/DataProducters
Event/DataConsumers
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 13
Market of PubSub Brokers
Into the JVM • OSGi Event Admin• OSGi Wire Admin• OSGi Monitor Admin
Distributed• CORBA Data Distribution Service (DDS)• JMS• AMPQ• MQTT• STOMP• XMPP• ROS (Robot Operating System)• UPnP GENA• PubNub (PaaS)• PubSubHubbub• Siena• ...
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 14
MQ Telemetry Transport (MQTT)http://mqtt.org/
● Protocole léger de type Publish-Subscribe pour M2M et IoT– Hiérarchie de « topics » : /buildingF/sensors/s11/#
● Support de connectivité (TPC/IP) intermittente ou couteuse– Satellite, WSN, ...
● Faible overhead par paquet (2 octets)● 3 niveaux de QoS pour livraison (fire-and-forget, fire-and-confirm)● Sécurité par certificat (SSL/TLS)● Nombreuses implémentations de clients et de serveurs concises
– C, C++, Arduino, Java, Python, JS (Node.JS), Lua, …– 80 KB pour l’implémentation de référence (IBM)
● Proposé à la standardisation OASIS● Projets : Mosquitto, Eclipse Paho (m2m.eclipse.org), Cloud providers of MQTT ...
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 15
Eclipse Projects
● Fondation Eclipse– Projets open-source– IDE (JDT, PDE, CDT)– RCP– Equinox– P2– Marketplace (2^11 plugins)
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 16
Eclipse Projects
● 4 Projets et Working Group– Eclipse M2M (Benjamin Cabé)
● Paho (mqtt clients) , soon Mosquitto (mqtt servers),● Minihi (platform), Koneki (IDE for LUA)
– Eclipse Kura● Low-level bundles for M2M gateways● for Admin, Configuration and Deployment
– Equinox Concierge (Jan Rellemeyer)● OSGi R5 platform● small-footprint and optimized for embedded devices and CDC 1.1
JVM
– Eclipse Smart Home (2014)● OpenHAB (Kai Kreuzer)
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 17
Eclipse Working Group M2Mm2m.eclipse.org
Technologies : MQTT, M3DA, OMA DM, REST, OSGi, ...
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 18
OpenHABhttps://code.google.com/p/openhab
● open Home Automation Bus (openHAB)● Universal integration platform
for home automation things● Based on OSGi Java (Equinox OSGi)● Event bus (OSGi Event Admin)● DSL for ECA Rules and HCI
– Using Eclispe Xtext and Xtend● Bindings with many SOHO protocols (enOcean, ZigBee, Hue ...)
● Now part of Eclipse Smart Home project– EPL licence
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 19
OpenHAB Demohttp://demo.openhab.org:8080/greent
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 20
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 21
OpenHAB Event Bus
OSGiEvent Admin
Bindingsare delivered
as OSGibundles
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 22
OpenHAB IDE
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 23
Model : Items and Groups
● Items
– Are SOHO-specific sensors & actuators● Switch, Dimmer, RollerShutter, Color, Contact, Number, Text
– Sensors emit « state » events– Actuators receive « command » events– Bound to protocols (enOcean, Serial, Hue, ModBus, MQTT ...)
● Groups
– of Items– of Group– Logical, Physical, Device class, ...– can be active (command and state)
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 24
DSL for Items and Groups
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 25
DSL for HCI
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 26
DSL for HCI
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 27
DSL for ECA Rules
Xtend
Condition
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 28
Demo Smart Doll HouseOpenHAB + Arduino + MQTT
http://air.imag.fr/index.php/SDH
http://localhost:8080/openhab.app?sitemap=demohttp://localhost:8080/greent/?sitemap=demo
25/11/13 D. Donsez & T. Calmant, Cohorte demo 29
Demo Smart Doll House
MosquittoServer
Python-based
MosquittoServer
Python-based
MQTT WebReport
Node.js(Node RED)
OpenHABBob's home
MoquetteServer
Java--Based MQTT Server
MoquetteServer
Java--Based MQTT Server
OpenHABAlice's home
OpenHABDidier's home
OpenHABThomas's home
TemperatureEnergy Consumption
hearbeat...
Rule to generate/collect valuesfor
temperature,energy comsumption, …
MQTT ConnectionPort 1883
MQTTStorageNode.js
(Node RED)
MongoDB
MQTT ConnectionPort 1883
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 30
Node REDMashup for IoT stream processing
http://localhost:1880
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 31
Q Q && A A
25/11/13 D. Donsez, Projets Eclipse pour l'IoT, le M2M, le SOHO 32
BonusBonusTrackTrack