Vous êtes sur la page 1sur 79

01/11/2021

Internet
of
Things

S.Lyazid Internet Of Things M1. RM


01/11/2021

Objet connecté
 Capteur

 Information collectée et injectée dans un réseau via internet

 Actionneur
 Vibrer pour un message entrant
 Afficher à l’écran d’une Télé un courriel (mél), etc.
 Allumer un climatiseur pour réguler la température
 Arrêter la cuisinière
 Empêcher la voiture de démarrer

S.Lyazid Internet Of Things M1. RM


01/11/2021

RFID: Principe de base


TAG ou TRANSPONDEUR (TRANSmitter/resPONDER)
Émettre sur distance allant de centimètres à des mètres.

PASSIF Durée de vie illimitée


Converti le champ électromagnétique émis par
PUCE l’émetteur via la requête en électricité pour
emmètre une réponse (harvesting )
+

ANTENNE ACTIF utilise une batterie


Peut recevoir et stocker des données
+ Semi actif (utilise la batterie pour stocker et
harvesting pour émettre.

Appliqué dans la gestion des stocks, traçabilité, injectés sous la peau des
animaux et maintenant,
TAGUER LES HUMAINS.
S.Lyazid Internet Of Things M1. RM
01/11/2021

IoT: Historique

Nombres important d’objets de faible puissance vs peu d’objets de


puissance plus élevé.

 Internet vs Web

 IoT: une évolution réelle d’Internet

 RFID: Massachusetts Institute of


Technology (MIT), 1999

S.Lyazid Internet Of Things M1. RM


01/11/2021

IoT: Historique

Mark Weiser 1990 ( mort le 27 avril 1999)


Introduit le terme : Ubiquitous Computing
(UbiComp) /informatique omniprésente
UbiComp : Ensemble de dispositifs informatiques autonomes,
transparent coopèrent en mettant les produits TIC au service de
l’utilisateur ~IoT

UbiComp : Alcaniz (2005): Une intégration de microprocesseur


dans les objets de notre quotidien (vêtement, nourriture, etc. )

S.Lyazid Internet Of Things M1. RM


01/11/2021

UbiComp & AmI

 AmI:Ambient Intelligent
s'appuie sur l'informatique omniprésente et est caractérisée par des
systèmes et des technologies (Zelkha & Epstein 1998) qui sont:

 Embedded: ensemble de composant interconnecté en réseau dans


l’environnement
 Context aware: peuvent reconnaître l’individu et le contexte dont il se trouve
 Personalized: Peuvent être adaptés aux besoin de l’utilisateur
 Adaptive: ils peuvent changer en réponse à vous
 Anticipatory: ils peuvent anticiper vos désirs sans médiation consciente.

S.Lyazid Internet Of Things M1. RM


01/11/2021

Objet connecté: 7

Définition : Jon Collins*. Juin 2013

 Identité
 Interactivité
 Shadowing
 Sensibilité
 Autonomie
* Chef. Inter Orbis: Analyser et documenter l'impact de la technologie sur les entreprises, la société et la culture.

S.Lyazid Internet Of Things M1. RM


01/11/2021

8
Domaines d’application IoT

Améliorer la qualité de vie du citoyen via


les objets communicants

 Domotique
Déclencher à distance des appareils connectés
 Optimiser les dépenses

 Ville Intelligente
 Collecter des données dans les stationnements
 Réguler les circulations (surtout voiture de secours)
 Stationnement et éclairage
 Sécurisé au mieux les quartier sensibles

" Il ne faut pas juste que les villes soient intelligentes, il faut qu'elles stimulent l'intelligence des
citoyens." François Hollande – Forum Innovation – Singapour mars 2017.

S.Lyazid Internet Of Things M1. RM


01/11/2021

Domaines d’application IoT

 Véhicule
 IoT révolutionne le secteur de l’automobile
 Prévenir le malaise du conducteur
 Prévenir les risques d’accidents liés au pannes
 Partage d’informations entre véhicule

 Géo localisation: GPS, Beacons,


 Proposer à des personnes des services selon leur
proximité des espaces et leur profile
 Détecter des piétons cacher par des objets (véhicule, arbre, etc.)
 Prédire le comportement des animaux et des personnes

S.Lyazid Internet Of Things M1. RM


01/11/2021

10
Intelligence Ambiante

Réseaux de capteurs
sans fils

Artefacts/Accessoires
Intelligents

Robots deUbiquitaire
Robotique service
(Compagnons)
(Ubirobots)
Plateformes et Terminaux
Intelligents Plateformes applicatives
Intégrées au Web
S.Lyazid Internet Of Things M1. RM
01/11/2021

11

Santé & Industrie


 Santé. 2.0 ? ?
Food And Drug Administration (FDA.USA) autorise Nov. 2017
la pullule connectée. Elle communique via Bluetooth avec un
patch positionné sur la cage thoracique.
Vie privée des patients

 Industrie (4.0) ~5.0


Germany.(Sc. Ingénierie)
 Education
 Etc.
S.Lyazid Internet Of Things M1. RM
01/11/2021

12
Service d’assistance cognitive

Rappels & Aide-


Supervision médical
mémoire
& Assistance aux
soins

Stimulation
intellectuelle
UbiRobot
Gestion des
urgences
Aide à la
mobilité

Utilisation des Activités


réseaux sociaux ménagères

S.Lyazid Internet Of Things M1. RM


01/11/2021

13

Le progrès technique est comme une hache


qu'on aurait mis dans les mains
d'un psychopathe.

Albert Einstein

S.Lyazid Internet Of Things M1. RM


01/11/2021

14

IoT ~ Sécurité
 Défit: Utilisation des donnés ?
 Sécurité (on parle de protéger les puces!)
 Vie privée (e.g. Google Glass )
 FaceBook crée un profile des non-adhérent !
 Où stocker les données?
 Qui va s’en servir ? Et pourquoi?

Contrôle complet sur les excès de vitesse


Capteurs empêchant le démarrage du véhicule
Capteurs d’évitement de collisions
...

S.Lyazid Internet Of Things M1. RM


01/11/2021

15

Télémédecine: Quel avenir


(oct 2017)
 France.
 87 % Français rejettent la Télémédecine pour soigner des maux graves.
 73% des Français rejettent la Télémédecine pour une consultation d’urgence
 60 % des Français refusent de s’appuyer sur la Télémédecine pour surveiller
l’évolution des maladies chronique
 Seulement le renouvellement d’une ordonnance, demander un certificat médical
ou un conseil médical trouvent une plage de 60% de Français favorable à
l’utilisation de la Télémédecine s

S.Lyazid Internet Of Things M1. RM


01/11/2021

16

France : Meilleur endroit pour stocker les données ?

….respecter la législation française,


particulièrement stricte, nous nous assurons que
les données collectées soient stockées chez des
hébergeurs tricolores, dont les équipements cloud
sont installés sur le territoire…",
Laurent Vandebrouck. 2016
Laurent is senior director of business
development for Qualcomm Life in Europe,

Finalement,
Pourquoi pas.

S.Lyazid Internet Of Things M1. RM


01/11/2021

17

Avancés Technologiques:
2017-2020
 Vers les réseaux 5G

«Dans ce contexte, nous nous sommes


intéressés à la nécessité de développer des
concepts et des solutions pour les réseaux
de type maillé du futur»,
professeur Di Yuan, coordinateur du
projet MESH-WISE

 Lancé par TIC des (nations Unies)


 Nouveaux outils mathématiques pour optimiser l'utilisation des
ressources radio, de nouveaux mécanismes réseau pour
améliorer les performances et l'autogestion du système,

S.Lyazid Internet Of Things M1. RM


01/11/2021

18

oTodo (Hub) et Ugo.


Projet Français.
 Une unique application mobile
 Contrôleur universel de tous les objets connectés du quotidien
 Politique économique: Inclure comme offre par les opérateurs télécoms
 Connaissances dans le cloud

Un couplet intelligent, capable d’identifier le personne


S’auto géo-localiser
Il suffit de le tapoter pour deviner ce que vous voulez et l’exécuter
Commande des actions que vous avez préprogrammées.

S.Lyazid Internet Of Things M1. RM


01/11/2021

19

Novembre 2017:

 iPhone X : Reconnaissance faciale


(Calvados ,France, société Eldim )

 Équipé d'un moteur neuronal

 Capable d'appliquer des algorithmes et de réaliser 600


milliards d'opérations par seconde. ( selon Apple)

Et le futur , c’est quoi

S.Lyazid Internet Of Things M1. RM


01/11/2021

20
Paradigmes associés à IoT

Web of Things (WoT)

Internet of Every Thing

Internet of Robotic Things (IoRT)

S.Lyazid Internet Of Things M1. RM


01/11/2021

21

IOE

S.Lyazid Internet Of Things M1. RM


01/11/2021

22

Internet of Things: Définition


 Pas de définition standard!!

Capteurs +
Actionneurs +
objets (physique, statiques, mobile ,virtuel) +
Produits TIC +
Internet +
Cloud +
Gatewaye+

Enduser (humain/robot/Animal) … IO E
Enjeu économique, sécurité, impacte social,
politique, Big Data…
S.Lyazid Internet Of Things M1. RM
01/11/2021

IOE
23

O Entreprise Transport Education

Médical

Immotique

4G
…+++ RFID

IoT: Internet of Thing


IOE:Internet of Evry Thing (IoT & Humain)

S.Lyazid Internet Of Things M1. RM


01/11/2021

24

IoT ~ M2M/ Humain


 M2M: Association
 TIC
 Machine pour servir l’humain(?)
 Sans intervention humaine.
 Machine dotée d’une certaine intelligence

 Protocoles d’IoT
 LoRaWAN
 Sigfox
 ZigBee
 6LoWPAN
 Bluetooth Low-Energy (BLE)

Sigfox se définit comme le premier opérateur


cellulaire bas débit au M2M et à l’Internet des objets
S.Lyazid Internet Of Things M1. RM
01/11/2021

25

IoT ~ Big Data

 Exigences.
Gestion d’un déluge de données collectées à partir (GPS, capteurs
environnementaux, Web, etc. )
 Stockage
 Analyse de données hétérogènes
 Fouilles de données
 Accès en temps réel aux données

 Big Data: Est-ce la réponse?

S.Lyazid Internet Of Things M1. RM


01/11/2021

26

Big Data: Principes

Vélocité
Variété

Véracité

BIG DATA

Domaines d’applications:
Marketing , Gestion des ressources , Sécurité, Amélioration de processus

S.Lyazid Internet Of Things M1. RM


01/11/2021

27

Infrastructure
Traitement de pour un
données traitement
NoSQL massive et
parallèle

Stockage de
données en Triatement en
mémoire type temps réel
Memtables

S.Lyazid Internet Of Things M1. RM


01/11/2021

28

IoT ~ Big Data & Cloud

 2013: ~ 5 milliards données dans le cadre de Big Data,


quant est-il à l’horizon 2020 avec une estimation de
80/200 milliards d’objets connectés.

 Masses de données dans cloud


 Héberger des solutions Big Data
 Gain en latence
 Délivrer l’information au bon moment
 Mais, faudra encore extraire!!

S.Lyazid Internet Of Things M1. RM


01/11/2021

29

Protocoles de communications
 Questions:
 Interopérabilité
 Fusion des données
 Plateforme
 Standardisation des couches de communications
Objectifs:
 Interagir des appareils hétérogènes
 Simplicité
 Fiabilité

Selon le paradigme d’IoT associé au produits du TIC,


pourront-ils à deux prédire et contrôler tout.

S.Lyazid Internet Of Things M1. RM


01/11/2021

30

IoT Contraintes
Energie
Harvesting
Protocoles et Produits TIC
normalisation est facteur crucial
Puissances et capacités de calcule (traitements)
exaflood , ubiquitous devices
collecte, échange d’informations: il est temps
de changer de vision
Sécurité & vie privée
Miniaturisation: poudre, nanotechnologie (nano
machine)
Intelligence : Contexte-aware

S.Lyazid Internet Of Things M1. RM


01/11/2021

31

Interaction des protocoles


ROLE TYPE

protocole de transfert hypertexte (HTTP, Protocole d'application


Hypertext Transfer Protocol)

protocole de contrôle de transmission Protocole de transport


(TCP, Transmission Control Protocol

IP (Internet Protocol). Protocole Internet


Une adresse pour identifier chaque
entité connectée à internet.
Utilisation de plusieurs points (routeurs)
avant d’arriver à destination
liaisons de données et couches physique Protocoles d'accès au
réseau

S.Lyazid Internet Of Things M1. RM


01/11/2021

Organismes de normalisation
32

S.Lyazid Internet Of Things M1. RM


01/11/2021

33

Organismes de normalisation
 Internet Society (ISOC)
 Internet Architecture Board (IAB)
 IETF : Internet Engineering Task Force
 IEEE : Institute of Electrical and Electronics Engineers
 International Organization for Standards (ISO)
 IUT International Telecommunication Union
 OASIS Organization for the Advancement of Structured Information Standards
 EIA :The Electronic Industries Alliance standards
 IIC Industrial Internet Consortium
 W3C (World Wide Web Consortium) : compatibilité des technologies du web
 Electrical Industries Association (EIA)
 Telecommunications Industry Association (TIA)
 International Telecommunications Union – Telecommunications Standardization Sector
(ITU-T)
 ICANN (Internet Corporation for Assigned Names and Number)
 Internet Assigned Numbers Authority (IANA)

S.Lyazid Internet Of Things M1. RM


01/11/2021

34
Enterprise messaging and
message-oriented middleware
 Le Terme messaging décrit
 Divers concepts de système d'exploitation
 Des systèmes de courrier électronique
 Les messages:
 Requêtes, des données ou des événements asynchrones consommés par les
applications d'entreprise, et non par des humains

Notre cas:
 Communiquer entre des applications ou transférer des données d'un
système à un autre.
 Nombreuses solutions existent, mais, selon des contraintes et des exigences
 Les exigences commerciales : Performances, évolutivité, fiabilité
imposent des restrictions, etc.
 Des applications sécurisées existent, mais sont souvent
 Distribuées, utilisent d’autres applications, échanges des
messages, etc.
S.Lyazid Internet Of Things M1. RM
01/11/2021

Enterprise messaging and 35

Message-Oriented Middleware ‘‘MOM’’

 Agit comme un médiateur de message


 entre les expéditeurs et les destinataires de messages
 Envoie/réception de messages utilisant destinations
 Pas de rendez-vous (moment d’envoie et réception n’est
plus une exigence)
 Messagerie Asynchrone
 Expéditeur et Récepteur ne se connaissent à priori
 Transformation de données
 Persistance de messages
 Fiabilité: via un accusé de réception, de plus Aucun
message n’est perdu grâce à la persistance.

S.Lyazid Internet Of Things M1. RM


01/11/2021

36

IoT & les protocoles

 IoT à besoin de protocol


 nombres limité de messages
 léger (messages de taille faible)
 faible consommation en energie
 plusieurs client en une seul connexion
 …
 MQTT (Message Queuing Telemetry Transport) , AMQ
 WebSocket

JMS écrit en Java, l’interopérabilité entre différentes implémentations de


JMS est très difficile voire n’est pas possible, ainsi ne convient pas à IoT.

S.Lyazid Internet Of Things M1. RM


01/11/2021

37

TCP/IP : Le modèle de référence


Données
Application Codage
Dialogue (FTP, SMTP, HTTP,…)

Communication entre périphérique divers


Transport
dans le réseau

Meilleur chemin.
Internet
Paquets seront ordonnés si nécessaire

Accès réseau • Contrôle les périphériques et supports du


• réseau

S.Lyazid Internet Of Things M1. RM


01/11/2021

Domaine JMS:
38

Queue: Point-to-point (PTP)

Un seul consommateur: Client à client (qui ne se connaissent pas à priori)

X Client
Client
Queue
Fournit Client
Consomme
Client

X Client

S.Lyazid Internet Of Things M1. RM


01/11/2021

Domaine JMS:
Topic: Publish and subscribe (pub/sub)
(Clients ne se connaissent pas à priori)

Notification

Client Client
Consomme

Client Topic Client


Fournit
Client Client

Publish Subscribers
Permet d’envoyer des messages à de multiple clients
ayant souscrit à ces messages

S.Lyazid Internet Of Things M1. RM


01/11/2021

40

Modes de transmission:
consommation de messages
 Asynchrone
MessageListener similaire à EventListener.
MessageListener peut obtenir de messages à partir de
Queue ou Topic
 Synchrone
Bloquant avec un appel à la méthode receive.
time out (si pas de messages)

 Session
Fourni un contexte transactionnel

S.Lyazid Internet Of Things M1. RM


01/11/2021

41

JMS:Types de Messages

 TextMessage
 MapMessage
 BytesMessage
 StreamMessage
 ObjectMessage
 Message. Nothing

S.Lyazid Internet Of Things M1. RM


01/11/2021

42
Quelques nouveautés dans JMS 2.0 2013

 Fournisseur JMS doivent implementer PTP & pub/sub


 Le producteur de message peut specifier qu’un message ne doit pas
être remis avant un intervalle de temps prédéfinit
 De nouvelles méthodes d'envoi ont été ajoutées pour permettre à une
application d'envoyer des messages de manière asynchrone
 Les fournisseurs JMS doivent maintenant définir la propriété
JMSXDeliveryCountmessage.
 IBM. A poison message (a corrupted message, or a message in an
unexpected forma is a message that a receiving application cannot
process. You can handle poison messages in your IBM
MessageSight JMS application by using the JMSXDeliveryCount
message property.
 Roll back the message to the topic or queue it came
from

S.Lyazid Internet Of Things M1. RM


01/11/2021

43
API JMS SIMPLIFIEE 2.0

Connexion Factoy

Creates

JMS Producer JMSContext JMSConsumer


Creates Creates
Creates Receives from
Sends to

Destination Message Destination

S.Lyazid Internet Of Things M1. RM


01/11/2021

Objectifs de l’API simplifiée


44

 To reduce the number of objects needed to send and receive messages,


and in particular to combine the JMS Connection, Session objects into a
single object
 Continue to use the concepts of connection and session even though it
doesn’t require the use of Connection or Session objects.
 Use in both Java EE and Java SE applications
 Send and receive the message body directly without the need to use
javax.jms.Message objects
 Remove where possible the need to catch JMSException on method calls

Developers who are familiar with the classic API, or


who prefer it, may continue to use the classic API.

S.Lyazid Internet Of Things M1. RM


01/11/2021

45

QoS: mode JMS

 JMSDeliveryMode :
Message persistant vs non-persistant.
 Le mode non-persistent est plus performant

 JMSExpiration:
Définit par le Pub/Sender

 JMSPriority
Permet de délivrer les messages dans l’ordre

S.Lyazid Internet Of Things M1. RM


01/11/2021

46
TextMessage :Exemple
Création et consommation de messages

Publisher
TextMessage message = session. createTextMessage ();
message.setText(msg_text);
producer.send(message);

Consumer
Message m = consumer.receive();
if (m instanceof TextMessage)
{
TextMessage message = (TextMessage) m;
System.out.println(message.getText());
} else { // Handle error }

S.Lyazid Internet Of Things M1. RM


01/11/2021

47

Standardisée: Tout fournisseur JMS implémente


exactement les mêmes méthodes.

Java Message Service


Standard de messagerie qui permet aux composants d'application basés sur Java Platform
Enterprise Edition (Java EE) de créer, envoyer, recevoir et lire des messages.

Il permet une communication distribuée faiblement couplée, fiable et asynchrone.

AQ

S.Lyazid Internet Of Things M1. RM


01/11/2021

Apache ActiveMQ
48

 Courtier (Broker) de messages


 Communication à distance entre systèmes
 Implémente la spécification JMS (Java Message Service 1.1)
 Open Source
 Message oriented middleware (MOM)
 Apache Software Foundation
 Sert de médiation des messages dans des applications
distribuées,
 Garantir d’atteindre les destinataires prévus
 ActiveMQ est écrit en Java, des API pour de nombreux
langages autres que Java sont fournies:
C / C ++, .NET, Perl, PHP, Python, Ruby et bien d'autres.

S.Lyazid Internet Of Things M1. RM


01/11/2021

Apache ActiveMQ
49

 Offre des supports de communication


 HTTP/S, IP multicast, SSL, TCP, UDP, XMPP
 Intégrez des applications multiplates-formes à l’aide:
Protocole AMQP omniprésent
 Échangez des messages entre applications Web
 Protocole STOMP via Websockets
 Gérez des appareils IoT
 MQTT
 Sécurité et Persistence
 KahaDB, support JDBC
 JAAS login modules

S.Lyazid Internet Of Things M1. RM


01/11/2021

Apache ActiveMQ
50

Intégration des serveurs d’application


 JBoss, Apache Tomcat, Jetty, Apache Geronimo
Broker Clustering (network of broker)
 support plusieurs ActiveMQ et différente topologie
Administration ActiveMQ
 ActiveMQ web console
 JMX (JConsole)

S.Lyazid Internet Of Things M1. RM


01/11/2021

51

HTTP: C’est quoi le problème?

 Aucun, mais n’est pas adéquat pour la


mise en œuvre du paradigme IoT.
 Verbeux
 Demande des ressources
 Consomme beaucoup de mémoire
 half-duplex(une seul direction de transmission)
 Ne supporte pas le mécanisme publish/subscribe
 Ne supporte pas point-to-point
 Supporte le mode pull « chercher l’information » != push « pas
d’initiative

S.Lyazid Internet Of Things M1. RM


01/11/2021

52
Push
Informations transmises à la volée dès qu'elles sont
générées Les applications mobiles , pages web, etc. sont mis
à jour en temps réel

WebSockets
Comet
Long Polling
Real-Time Web
Web Push
Real-Time Notifications
Internet Messaging
…

S.Lyazid Internet Of Things M1. RM


01/11/2021

Push: domaines d’applications 53

bénéficient de la technologie push


1) Services financiers: propagation de paris
2) Jeux-> jeux vidéo multi-joueurs en ligne
3) Gestion en ligne des opérations aéroportuaires
4) Transport et logistique: suivi de la chaîne
d'approvisionnement
5) Alerte: systèmes de notification
6) Réseaux sociaux
7) Surveillance des systèmes
8) E-learning
9) etc.

S.Lyazid Internet Of Things M1. RM


01/11/2021

HTTP & Alternatives 54

simuler le Push côté serveur


 Tentatives
 Polling
 Requêtes. Périodique. synchrone
 Requêtes même si pas de nouveau messages
 Utile si msj régulière
 Beaucoup de connexion
 Long polling
 ~polling, envoie de réponse si msj/timeout (connexion pendant un
temps définie) .
 Défaut. Keep-alive régulier jusqu'à épuisement du temps même
pas de message.
 Streaming
 Ouverture en continue de la connexion.
 Attente de réponse avant envoie d’une nouvelle requête
 Problème de Proxy et Par feu (connexion longue)

S.Lyazid Internet Of Things M1. RM


01/11/2021

55

Web Socket
Temps réel plus efficace
 Economise la bande passante
 Latence: Connexion établie-> messages envoyés dés
qu’ils sont disponibles.
 Comme TCP, supporte le Full-duplex ’même
connexion pour les deux’, bidirectionnel
 Une seule Socket
 basé sur URL, TCP utilise IP
 Une unique requête HTTP pour ouvrir:
 Une connexion WebSocket
 WebSocket sur TLS (Transport Layer Security)
S.Lyazid Internet Of Things M1. RM
01/11/2021

56

Web Socket
 WebSocket est un protocole réseau
(IETF (Internet Engineering Task Force))
 WebScoket offre une API (W3C)
 Ouvrir/fermer connexion
 Envoyer /recevoir des messages
 Il est recommandé d’envoyer autant que possible des données au
format JSON
 Notification des événements exécutés côtés serveur
 Protocoles peuvent être utilisés au dessus du WebSocket
MQTT. e.g
WebSocket consomme de l’énergie, mémoires, et exige une bande passante
Il convient à l’envoi d’informations en temps réel.

S.Lyazid Internet Of Things M1. RM


01/11/2021

57

WebSocket
 Pour vous connecter à une machine distante:
 Créer une WebSocket et fournir URL qui représente le point de terminaison
auquel vous souhaitez vous connecter (EndPoint). vs @ClientEndpoint
 Initiation de la gestion des événements

 Le protocole WebSocket définit deux schémas d'URI:ws et wss


 Le schéma ws (WebSocket) est analogue à un schéma d'URI HTTP.
 Le schéma d'URI wss (WebSocket Secure) représente une connexion
WebSocket via TLS (Transport Layer Security), et utilise le même
mécanisme de sécurité que HTTPS utilise pour sécuriser les connexions
HTTP.

S.Lyazid Internet Of Things M1. RM


01/11/2021

58

WebSocket: Protocol
indépendant de HTTP sauf de la première étape.

CLIENT SERVEUR
Handshake Phase de
Un unique échange de Requête/réponse connexion

Upgrade header

HTTP 101 (Switching Protocol)


Phase
HTTP 101 WebSocket d’échanges
FULL DUPLEX

Échange bidirectionnelle en permanence. Clôture de


connexion
initiée par un
des deux
Fin de connexion

S.Lyazid Internet Of Things M1. RM


01/11/2021

Java : implémentations des WebSocket


59

Grizzly

Framework

Atmosphere Apache Tomcat

S.Lyazid Internet Of Things M1. RM


01/11/2021

60

Protocole indépendant du
langage de programmation vs jms

S.Lyazid Internet Of Things M1. RM


01/11/2021

61

S.Lyazid Internet Of Things M1. RM


01/11/2021

62

MQTT : Caractéristiques

 Développé par IBM en 1999 pour la télémétrie de périphériques


embarqués
 Pub/SUB (Idéal pour IoT)
 Distribuer un même message à plusieurs destinataires en une seule
connexion
 Clients ne se connaissent pas
 Chaque client peut être pub/sub
 Implémenté au dessus de TCP/IP (IP+port)
 Une version est disponible pour les réseaux non TCP/IP: MQTT-S
 Il ne dépend pas du message
 Utilisation:
 réseaux sans fil
 bande passante faible

S.Lyazid Internet Of Things M1. RM


01/11/2021

63

MQTT: Communication
Brocker
Client
(Publischer/subscriber) (MQTT)
CONNECT SUBSCRIBE UNSUBSCRIBE DISCONNECT

CONNACK

PUBLISH PUBACK PUBREC PUBREL PUBCOMP

ACK : acknowledgment
REC : received
REL : release
COMP : complete

S.Lyazid Internet Of Things M1. RM


01/11/2021

64
Structure d’un paquet MQTT
Fixed header, present in all MQTT Control Packets

Variable header, present in some MQTT Control Packets

Payload, present in some MQTT Control Packets

Bit 7 6 5 4 3 2 1 0
byte 1 MQTT Control Packet type Flags specific to each MQTT Control
Packet type

byte 2… Remaining Length

Les paquets contenant un payload :

CONNECT
PUBLISH
SUBSCRIBE
SUBACK
UNSUBSCRIBE
S.Lyazid Internet Of Things M1. RM
01/11/2021

65
Types de paquets
Name Value Direction of flow Description
Reserved 0 Forbidden Reserved
CONNECT 1 Client to Server Client request to connect to Server
CONNACK 2 Server to Client Connect acknowledgment
PUBLISH 3 Client to Server or Publish message
Server to Client
PUBACK 4 Client to Server or Publish acknowledgment
Server to Client
PUBREC 5 Client to Server or Publish received (assured delivery part 1)
Server to Client
PUBREL 6 Client to Server or Publish release (assured delivery part 2)
Server to Client
PUBCOMP 7 Client to Server or Publish complete (assured delivery part 3)
Server to Client
SUBSCRIBE 8 Client to Server Client subscribe request
SUBACK 9 Server to Client Subscribe acknowledgment
UNSUBSCRIBE 10 Client to Server Unsubscribe request
UNSUBACK 11 Server to Client Unsubscribe acknowledgment
PINGREQ 12 Client to Server PING request
PINGRESP 13 Server to Client PING response
DISCONNECT 14 Client to Server Client is disconnecting
Reserved 15 Forbidden Reserved

S.Lyazid Internet Of Things M1. RM


01/11/2021

66
MQTT: Envoie et réception de messages

 Les clients s’inscrivent pour un niveau:


 Spécifique de la hiérarchie d'un thème ou
 Plusieurs niveaux s'ils utilisent un caractère générique.

 QoS (Qualité de Service): contrôle la qualité d’acheminement


du messages par le broker
Une session MQTT se réalise :
Connexion
Authentification
Communication
Terminaison

S.Lyazid Internet Of Things M1. RM


01/11/2021

67

Session MQTT
 Connexion TCP/IP (différent ports peuvent être utilisés)
Créer une nouvelle session ou reprendre une la dernière session
 MOSQUITTO propose les ports suivants:
o 1883 : MQTT, unencrypted
o 8883 : MQTT, encrypted
o 8884 : MQTT, encrypted, client certificate required
o 8080 : MQTT over WebSockets, unencrypted
o 8081 : MQTT over WebSockets, encrypted

Authentification
 Dans MQTT est toujours possible d’utiliser SSL/TLS pour authentifier un client.
Bien que ce protocole n’est pas souhaité étant donné que les appareils ont des
ressources limitées.
 Nom & mps envoyés en claire lors de CONNECT/CONNACK
 Certains BROKCER accepte des clients anonymes

S.Lyazid Internet Of Things M1. RM


01/11/2021

68
Session MQTT
 Communication
 Publication
• Envoie des données vers un sujet (TOPIC). 250Mo
 Abonnement
• SUBSCRIBE/SUBACK
 Désabonnement
• UNSUBSCRIBE/UNSUBACK
 PING
• PINGREQ/PINGRESP.
• Vérifier disponibilité du BROCKER (maintenir une connexion active)
• Pas de coupure par routeur ou passerelle

 Terminaison
 Terminaison brutale
• Envoie de message avant l’arrêt brutale d’un Publisher
• Message indique que faire dans cette situation
 DISCONNECT
. Mettre fin à une connexion
. Seule manière pour se reconnecter au BROCKER et reprendre une session.

S.Lyazid Internet Of Things M1. RM


01/11/2021

69
MQTT : Transmission de messages

 Trois façons de délivrance de messages (QoS):


 Au plus une fois (PUBLISH) QoQ niveau 0
 Message non stocké, aucun accusé de réception.
 Détecteur d’ambiance (une succession de messages, la perte de
message est tolérée)
 Au moins une fois (PUBLISH/PUBACK) QoS niveau 1
• Accusé de réception (publisher/brocker & subscriber/brocker).
• Mécanisme de renvoie si par réception (risque de réception double si
retard)
 Une seule fois (PUBLISH/PUBREC + PUBREL/PUBCOMP.) QoS
niveau 2
• Peu importe le nombre d’envoie, le message sera reçu qu’une seule fois.

S.Lyazid Internet Of Things M1. RM


01/11/2021

70
MQTT : Souscription

 Les Topics sont organisés en arborescence en


utilisant la barre oblique
 Souscription/désabonnement à l’aide des symboles
Wilcard (/,#,+) :
 (/) séparation entre sujets (indique le niveau)
 (+) seul niveau
 (#) plusieurs niveau
 ($) exclure un topic
 Exclure un topic avec le symbole $

S.Lyazid Internet Of Things M1. RM


01/11/2021

71
Topic: Norme

 Au moins un caractère
 Case sensitive
 Espace autorisé: Nom de Topic Names/Topic Filters
 Le "/" crée des noms distincts
"/" valide même seul
 Encodage en UTF-8

S.Lyazid Internet Of Things M1. RM


01/11/2021

72
Exemples.
 Client souscrit : t1/t2/#, reçoit des
messages publiés
t1/t2/MT
t1/t2/t4/h1/j2
t1/t2/t6/moi

 # :Jocker
g1/m/#
Etc.
 t1# :Non valide
 t1/#/t3:Non valide
S.Lyazid Internet Of Things M1. RM
01/11/2021

73
Exemples.
 Client souscrit : t1/+/t2, reçoit des messages
publiés
 t1/g4/t2
t1/k/t2
t1/t2 Pas de message
t1/h/k/t2 Pas de message
t1/n/t2/m Pas de message
 Client souscrit +/t
 h/t
k/t
 Client +/+ et /+
 t1+ :Non valide

S.Lyazid Internet Of Things M1. RM


01/11/2021

74
MQTT & IoT

 Topic, mais pas de standard


 Client peut se connecter/déconnecter de manière
inattendu
 Retained permet de garder le message dans le broker
le message est publié à nouveau
 Interopérabilité (message binaire)
 Authentification minimale
 SSL/TSL protocole lourd

S.Lyazid Internet Of Things M1. RM


01/11/2021

Intégrité des Applications Messages


75

& Control Packets

 Supporter le hash value


 hash algorithms: Vérifie l’intégrité des
données dans le réseau
 VPNs pour connecter Clients/serveurs
 TLS permet de crypter les donnés transitant
dans le réseau
 Pas au Topic quand même

S.Lyazid Internet Of Things M1. RM


01/11/2021

76

Web Socket & MQTT

 MQTT Control Paquets doit utiliser le format


binaire
 Un WebSockt peut contenir de multiples
Paquets
 Client doit inclure “mqtt” dans la liste de
sous protocole
 Le serveur doit répondre de même
…

S.Lyazid Internet Of Things M1. RM


01/11/2021

77

MQTT
standard
OASIS depuis
29 Oct.2014.
aujourd’hui, MQTT s’impose comme
protocole du futur pour IoT
(Amazon (délivrer colis) , suivi stocks, médical, automobile, etc.)

S.Lyazid Internet Of Things M1. RM


01/11/2021

78

IoT/MQTT: plateforme de
prototypages

 Linux (Raspberry)

 Arduino

 ARM mbed

S.Lyazid Internet Of Things M1. RM


01/11/2021

79

Systèmes embarqués:
Enfouie (Embedded)
 Tous les objets deviennent communiquant(objet connecté)
 Capable de percevoir, traiter, communiquer
 Nécessité d’avoir un URI
 N’est pas suffisant (sémantique)
(voir module ontologie et web sémantique: Master 2 TIC)

Avoir des écosystèmes IoE capablent:


De comprendre, apprendre, prédire, s’adapter, agir, décider,…
Ne peut se faire qu’avec l’appuie de :
1-Artificial intelligence (AI) : deep learning, etc.
2-Sémantique
3-Natural Language Processing – NLP
4- Architecture fiables (sécurité, confidentialité, etc.)

S.Lyazid Internet Of Things M1. RM

Vous aimerez peut-être aussi