SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Android et IoT
Parlez-vous MQTT ?
Speakers
Parce-que les gens veulent savoir
Arnaud Thorel
Architecte Logiciel
athorel@asi.fr
Laurent Yhuel
Expert Technique
lyhuel@asi.fr
Ne nous cherchez pas sur twitter
on est trop vieux pour ces
conneries
Les objets connectés et nous
Présentation de MQTT
Mais au fait pourquoi MQTT plutôt que …
Retour d’expérience
Sommaire
3
Les objets connectés et nous
5
Des usages multiples, et d’autres à créer
Les objets connectés et nous
6
Nombred’objetsconnectésenmilliards
Un marché en évolution
https://www.cnet.com/news/smart-toilets-make-you-a-smart-ass/
IoT Everywhere
7
Les différents types d’objets
Always On
-
Connection permanente
Actions de type contacteur
IoT
8
Reporting Devices
-
Fréquence de réveil sur un
événement
Remontée d’alertes
Listening Devices
-
Fréquence de réveil cyclique
Remontée d’une information
valide dans le temps
Les problématiques auxquelles on doit répondre
Comment assurer une communication « temps réel » ?
Comment maîtriser l’impact « coûts / réseau » ?
Comment gérer les pertes de connexion ?
• micro coupures
• veilles des objets connectés
• …
Comment connaître facilement le statut de son réseau IoT ?
IoT
9
Les objets connectés et nous
Présentation de MQTT
Mais au fait pourquoi MQTT plutôt que …
Retour d’expérience
Sommaire
10
Acteur
Evénement
Le lexique
MQTT
11
Broker
Assure le routage
Gestion des connexions
Gestion des abonnements à des événements
Client
Publisher : Emetteur d’événements
Subscriber : Abonné à des événements
Topic « Titre » de l’événement
Payload Message de l’événement(donnée)
En quelques mots
▪ Protocole d’échange de message - TCP/IP
▪ Fonctionne en mode PUB / SUB sur des topics
▪ Léger et peu gourmand en bande passante
▪ 2 octets – taille d’un ping
▪ Data / Tech Agnostique
▪ Standard OASIS depuis la version 3.1.1 (2015)
MQTT
12
Présentation du mode de communication PUB/SUB
MQTT
13
Broker
on
Le topic
MQTT
14
▪ Information hierarchisée
▪ Wildcards sur la souscription
Délivrabilité des messages - Quality Of Service
MQTT
15
Publisher Broker
QoS 0 pub TCP
pub-ack
QoS 1 pub
Acquittement simple
pub
QoS 2 pub-rel
pub-comp
pub-ack
Acquittement et unicité assurée
Subscriber
Session persistante pour un client (QoS 1 & QoS 2)
MQTT
16
Publisher Broker
pub /events [1]
sub /events
events [1]
disconnect
pub /events [2]
pub /events [3]
pub /events [4]
connect
events [2]
events [3]
events [4]
Subscriber
Mécanisme de Retain
MQTT
17
Publisher Broker
pub /temp [20°]
sub /temp
temp [20°]
disconnect
pub / temp[21°]
pub / temp[22°]
pub / temp[23°]
connect
temp [23°]
sub /temp
Etat du réseau / Mécanisme LWT
Le mécanisme publish/subscribe ne permet pas de connaître l’état des autres nœuds.
• MQTT offre un mécanisme de LastWill / Testament
• Exécuté lorsqu’un nœud perd la connexion.
MQTT
18
Connect
clientId
username
lastWillTopic
lastWillMessage
lastWillRetain
keepAlive
112a4db0-3585-48aa
client-112a
client/status/client-112a
0
1
60
Après la connexion, le client doit envoyer un premier message « 1 » (online) sur le même topic
La souscription sur le topic client/status/+ retourne ainsi le dernier état connu de chaque client
Les sécurités applicables par couches
MQTT - Sécurité
19
Network
Transport
Application
Gestion des droits
d’accès
(topics)
Authentification
Limitation de
la taille des
message
Quotas
Chiffrement
des messages
(end 2 end)
Limitation
bande
passante
Durée de
sessions
SSL/TLS
Clé
publique
Filtrage
IP
DMZ
VPN
Les mécanismes d’authentification
Par défaut un broker MQTT permet un accès anonyme complet.
Support d’autres types d’authentification
▪ Basic Login / Password
▪ OAuth 2.0
▪ TOTP
▪ Auth0
▪ Certificat X509
MQTT - Sécurité
20
Broker
Gestion des rôles et isolation des données
Autorisation en publication et souscription basé sur le topic
Possibilité d’utiliser les wildcards (+, #)
Topics réservés administration / $SYS
Déconnexion automatique en
cas de souscription/publication frauduleuse
MQTT - Sécurité
21
client
A1
Vendor
A
PUB vendors/A/clients/1 SUB vendors/A/clients/#
PUB vendors/A/push/1SUB vendors/A/push/1
Gestion de la connexion au broker
String broker = "tcp://my-server:1883";
String id = "Demo-IoT";
MemoryPersistence persistence = new MemoryPersistence();
// Connection
MqttClient mqttClient = new MqttAsyncClient(broker, id, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
mqttClient.setCallback(this);
mqttClient.connect(connOpts).waitForCompletion(3000);
// Disconnection
mqttClient.disconnect();
Coding - Connexion
22
Gestion des callbacks
public class MyMqttClient extends MqttCallback {
public void connectionLost(Throwable cause) {
// Called when the connection to the server is lost
}
public void deliveryComplete(IMqttDeliveryToken token) {
// Called when delivery for a message has been completed
}
public void messageArrived(String topic, MqttMessage message) {
// Called when a message arrives.
}
}
Coding - Callback
23
Abonnement à un topic
String topic = "vendor/arkea/client/77777798/#";
int qos = 2;
// Subscribe
mqttClient.subscribe(topic, qos);
Coding - Subscribe
24
Envoi d'un message au broker
// Create message
String topic = "vendor/arkea/client/77777798/alarm/appear";
String content = "211";
MqttMessage message = new MqttMessage(content.getBytes());
// Config message
message.setQos(qos);
Message.setRetained(false);
// Publish
mqttClient.publish(topic, message);
Coding - Publish
25
Les objets connectés et nous
Présentation de MQTT
Mais au fait pourquoi MQTT plutôt que …
Retour d’expérience
Sommaire
26
MQTT VS …
27
CoAP XMPP AMQP
Orienté REST
Solution récente
UDP
Orienté
Conversationnel
Fiable (Jabber)
XML
QoS
Taille des
paquets
Orienté Message
Queue
AvantagesFaiblesses
Google Trends
MQTT - What’s up Internet
28
Les grands acteurs proposent des plateformes IoT utilisant MQTT
MQTT is Hype
29
AWS IoT
Azure IoT
Les objets connectés et nous
Présentation de MQTT
Mais au fait pourquoi MQTT plutôt que …
Retour d’expérience
Sommaire
30
Joint venture entre Groupama et Arkéa
Objectif
Offre de téléassistance réactive et préventive 24h/24 et 7j/7
Favoriser le lien social (aidants familiaux ou professionnels)
Concept
Base d’une tablette Android re-designée
4G / Wifi / Ethernet
433 Mhz, 669 Mhz, Zwave (668 Mhz), Bluetooth, NFC
Ouvert à tous types de capteurs
Les attentes
Architecture innovante et modulaire
Expertise Android, NDK, ROM Custom
Supervision et contrôle à distance du parc
Cegedev – Téléassistance à la personne
31
32
33
Une architecture au service du besoin
Besoins fonctionnels
Supporter différents types de capteurs / protocoles
IoT
Orientation marque blanche / multi-offre
Permettre d’installer des applications autorisées
La plateforme doit être fiable
Architecture IoT
34
Besoins techniques
Garantir une continuité de service (même avec un
réseau dégradé)
Temps réel
Limiter les coûts (consommation data)
Mises à jour applicatives et firmware (OTA)
Cegedev – Téléassistance connectée
35
Internal-Broker
S
Y
N
C
MQTT Everywhere
Cegedev – Téléassistance connectée
36
Support
Service après vente
Gestion de parc
Smarts services
Alerte tablette
hors réseaux
Analyse de données
Contrôle à distance
Temps réel
Téléassistance connectée
Réseau social familial
Passerelle IoT
Broker MQTT
Clustérisé
MQTT au centre de notre solution
Cegedev – Une offre multi marque
37
Multi vendeur, Multi Offres => Multi usage
Tablette et montre connectée
EHPAD & Résidences Séniors
Solutions anti-errance &
Alzheimer
Cegedev – Une plateforme évolutive
38
D’autres usages à venir
Système de télésurveillance (avec
levée de doute vidéo et audio) et
domotique
Intervention d'un gardien et des
Forces de l'Ordre
Extension des solutions actuelles
Nouveaux usages
Parlez vous IoT - Présentation du protocole MQTT

Más contenido relacionado

La actualidad más candente

Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis abouaalexis
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Mohammed LAAZIZLI
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017SinGuy
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPNCharif Khrichfa
 
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdf
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdfBAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdf
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdfBayeOusseynouFall
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et VirtualisationMarc Jouve
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détectionManassé Achim kpaya
 
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...Abdallah YACOUBA
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étudeHibaFarhat3
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Charif Khrichfa
 
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...BelgeKilem
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 

La actualidad más candente (20)

Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
 
pfe book 2023 2024.pdf
pfe book 2023 2024.pdfpfe book 2023 2024.pdf
pfe book 2023 2024.pdf
 
Mise en place d’un OpenVPN sous PfSense
Mise en place d’un OpenVPN sous PfSenseMise en place d’un OpenVPN sous PfSense
Mise en place d’un OpenVPN sous PfSense
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
 
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdf
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdfBAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdf
BAYE_O_FALL-SAIDOU_MBODJI-LabUT.pdf
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
Openstack proposition
Openstack propositionOpenstack proposition
Openstack proposition
 
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
Mémoire de fin de cycle présenté en vue de L’Obtention du Diplôme de Master P...
 
rapportfinal
rapportfinalrapportfinal
rapportfinal
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
 
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
 
Rapport pfa
Rapport pfaRapport pfa
Rapport pfa
 

Similar a Parlez vous IoT - Présentation du protocole MQTT

IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationCHAKER ALLAOUI
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeGhassen Chaieb
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaionTarik Sefiri
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018Laurent Guérin
 
MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019Laurent Guérin
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanCorneliu Gaina
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil Ghassen Chaieb
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTFactoVia
 
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Microsoft Technet France
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec GoMickaël Rémond
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievAZUG FR
 
1_Transmission_des_données_et_reseaux_numeriques.pdf
1_Transmission_des_données_et_reseaux_numeriques.pdf1_Transmission_des_données_et_reseaux_numeriques.pdf
1_Transmission_des_données_et_reseaux_numeriques.pdfigrebawa
 
Crouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version françaiseCrouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version françaiseCrouzet
 
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibm
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibmXtrn1 g formation-implementation-du-reseau-sur-systeme-ibm
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibmCERTyou Formation
 
Tenedis: Déployer un socle de Monitoring Unifié
Tenedis: Déployer un socle de Monitoring UnifiéTenedis: Déployer un socle de Monitoring Unifié
Tenedis: Déployer un socle de Monitoring UnifiéElasticsearch
 
Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...Amine Barrak
 

Similar a Parlez vous IoT - Présentation du protocole MQTT (20)

Projet MQTT
Projet MQTTProjet MQTT
Projet MQTT
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaion
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
MQTT avec Mosquitto et Paho - Laurent Guerin - JUG Nantes Nov 2018
 
MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019MQTT avec Mosquitto et Paho - DevFest Brest 2019
MQTT avec Mosquitto et Paho - DevFest Brest 2019
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec Go
 
Survol de Protege GX 2016
Survol de Protege GX  2016 Survol de Protege GX  2016
Survol de Protege GX 2016
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
 
Smartcities 2015 - Modul-it
Smartcities 2015 - Modul-itSmartcities 2015 - Modul-it
Smartcities 2015 - Modul-it
 
1_Transmission_des_données_et_reseaux_numeriques.pdf
1_Transmission_des_données_et_reseaux_numeriques.pdf1_Transmission_des_données_et_reseaux_numeriques.pdf
1_Transmission_des_données_et_reseaux_numeriques.pdf
 
Crouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version françaiseCrouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version française
 
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibm
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibmXtrn1 g formation-implementation-du-reseau-sur-systeme-ibm
Xtrn1 g formation-implementation-du-reseau-sur-systeme-ibm
 
Tenedis: Déployer un socle de Monitoring Unifié
Tenedis: Déployer un socle de Monitoring UnifiéTenedis: Déployer un socle de Monitoring Unifié
Tenedis: Déployer un socle de Monitoring Unifié
 
Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...
 

Último

Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 

Último (8)

Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 

Parlez vous IoT - Présentation du protocole MQTT

  • 2. Speakers Parce-que les gens veulent savoir Arnaud Thorel Architecte Logiciel athorel@asi.fr Laurent Yhuel Expert Technique lyhuel@asi.fr Ne nous cherchez pas sur twitter on est trop vieux pour ces conneries
  • 3. Les objets connectés et nous Présentation de MQTT Mais au fait pourquoi MQTT plutôt que … Retour d’expérience Sommaire 3
  • 4.
  • 5. Les objets connectés et nous 5 Des usages multiples, et d’autres à créer
  • 6. Les objets connectés et nous 6 Nombred’objetsconnectésenmilliards Un marché en évolution
  • 8. Les différents types d’objets Always On - Connection permanente Actions de type contacteur IoT 8 Reporting Devices - Fréquence de réveil sur un événement Remontée d’alertes Listening Devices - Fréquence de réveil cyclique Remontée d’une information valide dans le temps
  • 9. Les problématiques auxquelles on doit répondre Comment assurer une communication « temps réel » ? Comment maîtriser l’impact « coûts / réseau » ? Comment gérer les pertes de connexion ? • micro coupures • veilles des objets connectés • … Comment connaître facilement le statut de son réseau IoT ? IoT 9
  • 10. Les objets connectés et nous Présentation de MQTT Mais au fait pourquoi MQTT plutôt que … Retour d’expérience Sommaire 10
  • 11. Acteur Evénement Le lexique MQTT 11 Broker Assure le routage Gestion des connexions Gestion des abonnements à des événements Client Publisher : Emetteur d’événements Subscriber : Abonné à des événements Topic « Titre » de l’événement Payload Message de l’événement(donnée)
  • 12. En quelques mots ▪ Protocole d’échange de message - TCP/IP ▪ Fonctionne en mode PUB / SUB sur des topics ▪ Léger et peu gourmand en bande passante ▪ 2 octets – taille d’un ping ▪ Data / Tech Agnostique ▪ Standard OASIS depuis la version 3.1.1 (2015) MQTT 12
  • 13. Présentation du mode de communication PUB/SUB MQTT 13 Broker on
  • 14. Le topic MQTT 14 ▪ Information hierarchisée ▪ Wildcards sur la souscription
  • 15. Délivrabilité des messages - Quality Of Service MQTT 15 Publisher Broker QoS 0 pub TCP pub-ack QoS 1 pub Acquittement simple pub QoS 2 pub-rel pub-comp pub-ack Acquittement et unicité assurée
  • 16. Subscriber Session persistante pour un client (QoS 1 & QoS 2) MQTT 16 Publisher Broker pub /events [1] sub /events events [1] disconnect pub /events [2] pub /events [3] pub /events [4] connect events [2] events [3] events [4]
  • 17. Subscriber Mécanisme de Retain MQTT 17 Publisher Broker pub /temp [20°] sub /temp temp [20°] disconnect pub / temp[21°] pub / temp[22°] pub / temp[23°] connect temp [23°] sub /temp
  • 18. Etat du réseau / Mécanisme LWT Le mécanisme publish/subscribe ne permet pas de connaître l’état des autres nœuds. • MQTT offre un mécanisme de LastWill / Testament • Exécuté lorsqu’un nœud perd la connexion. MQTT 18 Connect clientId username lastWillTopic lastWillMessage lastWillRetain keepAlive 112a4db0-3585-48aa client-112a client/status/client-112a 0 1 60 Après la connexion, le client doit envoyer un premier message « 1 » (online) sur le même topic La souscription sur le topic client/status/+ retourne ainsi le dernier état connu de chaque client
  • 19. Les sécurités applicables par couches MQTT - Sécurité 19 Network Transport Application Gestion des droits d’accès (topics) Authentification Limitation de la taille des message Quotas Chiffrement des messages (end 2 end) Limitation bande passante Durée de sessions SSL/TLS Clé publique Filtrage IP DMZ VPN
  • 20. Les mécanismes d’authentification Par défaut un broker MQTT permet un accès anonyme complet. Support d’autres types d’authentification ▪ Basic Login / Password ▪ OAuth 2.0 ▪ TOTP ▪ Auth0 ▪ Certificat X509 MQTT - Sécurité 20
  • 21. Broker Gestion des rôles et isolation des données Autorisation en publication et souscription basé sur le topic Possibilité d’utiliser les wildcards (+, #) Topics réservés administration / $SYS Déconnexion automatique en cas de souscription/publication frauduleuse MQTT - Sécurité 21 client A1 Vendor A PUB vendors/A/clients/1 SUB vendors/A/clients/# PUB vendors/A/push/1SUB vendors/A/push/1
  • 22. Gestion de la connexion au broker String broker = "tcp://my-server:1883"; String id = "Demo-IoT"; MemoryPersistence persistence = new MemoryPersistence(); // Connection MqttClient mqttClient = new MqttAsyncClient(broker, id, persistence); MqttConnectOptions connOpts = new MqttConnectOptions(); mqttClient.setCallback(this); mqttClient.connect(connOpts).waitForCompletion(3000); // Disconnection mqttClient.disconnect(); Coding - Connexion 22
  • 23. Gestion des callbacks public class MyMqttClient extends MqttCallback { public void connectionLost(Throwable cause) { // Called when the connection to the server is lost } public void deliveryComplete(IMqttDeliveryToken token) { // Called when delivery for a message has been completed } public void messageArrived(String topic, MqttMessage message) { // Called when a message arrives. } } Coding - Callback 23
  • 24. Abonnement à un topic String topic = "vendor/arkea/client/77777798/#"; int qos = 2; // Subscribe mqttClient.subscribe(topic, qos); Coding - Subscribe 24
  • 25. Envoi d'un message au broker // Create message String topic = "vendor/arkea/client/77777798/alarm/appear"; String content = "211"; MqttMessage message = new MqttMessage(content.getBytes()); // Config message message.setQos(qos); Message.setRetained(false); // Publish mqttClient.publish(topic, message); Coding - Publish 25
  • 26. Les objets connectés et nous Présentation de MQTT Mais au fait pourquoi MQTT plutôt que … Retour d’expérience Sommaire 26
  • 27. MQTT VS … 27 CoAP XMPP AMQP Orienté REST Solution récente UDP Orienté Conversationnel Fiable (Jabber) XML QoS Taille des paquets Orienté Message Queue AvantagesFaiblesses
  • 28. Google Trends MQTT - What’s up Internet 28
  • 29. Les grands acteurs proposent des plateformes IoT utilisant MQTT MQTT is Hype 29 AWS IoT Azure IoT
  • 30. Les objets connectés et nous Présentation de MQTT Mais au fait pourquoi MQTT plutôt que … Retour d’expérience Sommaire 30
  • 31. Joint venture entre Groupama et Arkéa Objectif Offre de téléassistance réactive et préventive 24h/24 et 7j/7 Favoriser le lien social (aidants familiaux ou professionnels) Concept Base d’une tablette Android re-designée 4G / Wifi / Ethernet 433 Mhz, 669 Mhz, Zwave (668 Mhz), Bluetooth, NFC Ouvert à tous types de capteurs Les attentes Architecture innovante et modulaire Expertise Android, NDK, ROM Custom Supervision et contrôle à distance du parc Cegedev – Téléassistance à la personne 31
  • 32. 32
  • 33. 33
  • 34. Une architecture au service du besoin Besoins fonctionnels Supporter différents types de capteurs / protocoles IoT Orientation marque blanche / multi-offre Permettre d’installer des applications autorisées La plateforme doit être fiable Architecture IoT 34 Besoins techniques Garantir une continuité de service (même avec un réseau dégradé) Temps réel Limiter les coûts (consommation data) Mises à jour applicatives et firmware (OTA)
  • 35. Cegedev – Téléassistance connectée 35 Internal-Broker S Y N C MQTT Everywhere
  • 36. Cegedev – Téléassistance connectée 36 Support Service après vente Gestion de parc Smarts services Alerte tablette hors réseaux Analyse de données Contrôle à distance Temps réel Téléassistance connectée Réseau social familial Passerelle IoT Broker MQTT Clustérisé MQTT au centre de notre solution
  • 37. Cegedev – Une offre multi marque 37
  • 38. Multi vendeur, Multi Offres => Multi usage Tablette et montre connectée EHPAD & Résidences Séniors Solutions anti-errance & Alzheimer Cegedev – Une plateforme évolutive 38 D’autres usages à venir Système de télésurveillance (avec levée de doute vidéo et audio) et domotique Intervention d'un gardien et des Forces de l'Ordre Extension des solutions actuelles Nouveaux usages