Académique Documents
Professionnel Documents
Culture Documents
Internet
of
Things
Objet connecté
Capteur
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
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
Internet vs Web
IoT: Historique
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:
Objet connecté: 7
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.
8
Domaines d’application IoT
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.
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
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
12
Service d’assistance cognitive
Stimulation
intellectuelle
UbiRobot
Gestion des
urgences
Aide à la
mobilité
13
Albert Einstein
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?
15
16
Finalement,
Pourquoi pas.
17
Avancés Technologiques:
2017-2020
Vers les réseaux 5G
18
19
Novembre 2017:
20
Paradigmes associés à IoT
21
IOE
22
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
Médical
Immotique
4G
…+++ RFID
24
Protocoles d’IoT
LoRaWAN
Sigfox
ZigBee
6LoWPAN
Bluetooth Low-Energy (BLE)
25
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
26
Vélocité
Variété
Véracité
BIG DATA
Domaines d’applications:
Marketing , Gestion des ressources , Sécurité, Amélioration de processus
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
28
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é
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
31
Organismes de normalisation
32
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)
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
36
37
Meilleur chemin.
Internet
Paquets seront ordonnés si nécessaire
Domaine JMS:
38
X Client
Client
Queue
Fournit Client
Consomme
Client
X Client
Domaine JMS:
Topic: Publish and subscribe (pub/sub)
(Clients ne se connaissent pas à priori)
Notification
Client Client
Consomme
Publish Subscribers
Permet d’envoyer des messages à de multiple clients
ayant souscrit à ces messages
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
41
JMS:Types de Messages
TextMessage
MapMessage
BytesMessage
StreamMessage
ObjectMessage
Message. Nothing
42
Quelques nouveautés dans JMS 2.0 2013
43
API JMS SIMPLIFIEE 2.0
Connexion Factoy
Creates
45
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
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 }
47
AQ
Apache ActiveMQ
48
Apache ActiveMQ
49
Apache ActiveMQ
50
51
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
…
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.
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
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
Grizzly
Framework
60
Protocole indépendant du
langage de programmation vs jms
61
62
MQTT : Caractéristiques
63
MQTT: Communication
Brocker
Client
(Publischer/subscriber) (MQTT)
CONNECT SUBSCRIBE UNSUBSCRIBE DISCONNECT
CONNACK
ACK : acknowledgment
REC : received
REL : release
COMP : complete
64
Structure d’un paquet MQTT
Fixed header, present in all 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
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
66
MQTT: Envoie et réception de messages
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
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.
69
MQTT : Transmission de messages
70
MQTT : Souscription
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
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
74
MQTT & IoT
76
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.)
78
IoT/MQTT: plateforme de
prototypages
Linux (Raspberry)
Arduino
ARM mbed
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)