Introduction à l’internet des
objets (IdO – IoT)
Prérequis
Notions élémentaires sur les réseaux
notions élémentaires sur les circuits
électriques
But
Sensibilisation à l’importance de l’IoT.
Présentation des concepts fondamentaux de l’Internet des Objets.
Compréhension de la chaîne de conception des objets connectés.
2
Sommaire
1- Introduction
2- Le marché de l’IoT
3- Concepts fondamentaux
4- Interactions entre le « monde numérique » et le « monde physique
»
5- Infrastructures pour l’IoT
6- Solutions technologiques
7- Exemples d’application
8- Bibliographie
9- Compléments
3
1- Introduction
Telegarden : juin 1995 (Univ. Of California)
Le concept d’ « objet connecté » n’est pas nouveau. Exemple : Telegarden.
4
Agriculture – art - internet
Nabaztag, lancé par la société Violet en
2005
Ce lapin connecté en Wi-Fi peut déjà lire des mails à haute voix, émettre des signaux visuels
et diffuser de la musique. L’objet est toujours commercialisé aujourd’hui, sous le nom de
Karotz.
5
Pourquoi l’IoT ?
• Evolution naturelle des technologies : lien inévitable entre le monde
numérique et le monde physique,
• Assistance à nos activités professionnelles et personnelles.
6
• Permet une réduction considérable des dépenses dans l’économie
d’aujourd’hui (industrie, santé, sécurité, etc.).
• L’IoT est ici et il évolue rapidement ! Il n’y a pas de temps à perdre.
• 50 milliards d’objets en 2020 (estimation) !
Domaines applicatifs de l’IoT ?
• Ville intelligente : circulation routière intelligente, transports intelligents,
collecte des déchets, cartographies diverses (bruit, énergie, etc.).
• Environnements intelligents : prédiction des séismes, détection d’incendies,
qualité de l’air, etc.
• Sécurité et gestion des urgences : radiations, attentats, explosions.
• Logistique : aller plus loin que les approches actuelles.
7
• Contrôle industriel : mesure, pronostic et prédiction des pannes, dépannage à
distance.
• Santé : suivi des paramètres biologiques à distance.
• Agriculture intelligente, domotique, applications ludiques etc.
Quelques définitions
• Objet connecté : objet possédant la capacité d’échanger des données avec d’autres entités
physiques ou numériques.
• Internet des objets (IdO) : expansion du réseau internet à des objets et/ou des lieux du
monde physique. En anglais, on parle d’IoT : Internet of Things.
« L’Internet des Objets est un réseau de réseaux qui permet, via des systèmes
d’identification électronique normalisés et unifiés, et des dispositifs mobiles sans fil,
d’identifier directement et sans ambiguïté des entités numériques et des objets
physiques et ainsi de pouvoir récupérer, stocker, transférer et traiter, sans discontinuité
entre les mondes physiques et virtuels, les données s’y rattachant. »
Source : L’Internet des objets de Pierre-Jean Benghozi, Sylvain Bureau et Françoise Massit-Folléa (Edition MSH)
8
• M2M : machine to machine, échange d’informations entre deux machines sans intervention
humaine.
2- Le marché de l’IoT
9
Le marché de l’IoT
10
Le marché de l’IoT
Rappel : 1 trillion = 1000 milliards
11
Le marché de l’IoT
Données publiées en mars 2016
12
3- Concepts fondamentaux
Quelques objets connectés
Objets « traditionnels » : ordinateurs, tablettes, smartphones, etc.
Nouveaux objets connectés : appareils électroménagers, instruments de mesure, robots, serrures,
machines-outils, bennes à ordures, drones, jouets, montres, véhicules, etc.
13
Concepts fondamentaux (1)
Jonction entre le monde physique et le monde numérique
Avant l’internet des objetsAujourd’hui
Monde numérique Monde physique
14
Concepts fondamentaux (2)
Acquisition de signaux issus du monde physique (capteurs, transcription de grandeurs physiques
en grandeurs électriques, puis numérisation puis transmission vers des systèmes informatiques
ou d’autres systèmes physiques)
Action sur le monde physique (déclanchement du fonctionnement de dispositifs, chauffage,
extinction de feux, ouverture d’une porte, mise en service d’une machine, régulation d’une
grandeur physique, exécution d’une tâche robotique, etc.) L’ordre peut provenir d’un système
informatique ou d’autres objets physiques connectés.
15
Concepts fondamentaux (3)
La mise en réseau de plusieurs objets connectés apporte de nouvelles fonctionnalités de mesure
de l’environnement et d’actionnement collectif. Par exemple : collaboration entre plusieurs
objets pour exécuter une tâche qu’un objet ne peut réaliser seul. Exemple : relevé des
températures dans une forêt en plusieurs points permet de prévenir les départs d’incendie et
éviter les ca aberrants.
Concepts fondamentaux (4)
Une problématique de sécurité accrue : en effet, le risque dépasse largement le vol de données.
Par exemple, arrêter le fonctionnement d’une usine ou y provoquer des dégâts matériels ou
humains, ouvrir les portes d’une habitation ou d’un magasin pour y effectuer des vols, contrôler
à distance un véhicule terrestre ou volant, bloquer le trafic routier de toute une ville, etc. Il
convient d’être particulièrement vigilant lors de la conception d’un objet connecté.
16
Concepts fondamentaux (5)
Aujourd’hui, la baisse des coût des microcontrôleur ainsi que des puces de communication sans
fil (WiFi, Bluetooth, Zigbee, etc.) permet de mettre une intelligence et des moyens de
communication dans beaucoup d’objets de la vie courante ou professionnels. Exemple, systèmes
fondés sur la puce esp8266 de ESPRESSIF.
Coût : 3 €
17
4- Interactions entre le « monde
numérique » et le « monde
physique »
Monde « numérique » et monde « physique
»
• On désignera par « monde numérique » tous les systèmes manipulant des données numérique ainsi
que les réseaux permettant l’échange des données (calculateurs, microcontrôleurs, serveurs
informatiques, bases de données, réseaux informatiques, protocoles de communication filaires ou
sans fil, etc.).
18
• On désignera par « monde physique » tous les systèmes vivants ou artificiels que nous côtoyons et
qui interagissent entre eux par divers effets physiques (être humains, animaux, végétaux, véhicules,
objets du quotidien, outils, machines diverses, outils de production, etc.). Ces systèmes interagissent
entre eux au moyens de grandeurs physiques (forces, déplacements, variation de température ou de
pression, voix, son, lumière, etc.)
Attention ! Certains objets du « monde numérique » sont bien « physiques » mais ils manipulent
essentiellement des données (un ordinateur par exemple) et on s’intéresse généralement à leur
aptitude à traiter des données.
Enjeu majeur de l’IoT : comment faire
interagir ces deux mondes ?
• Pour cela, il convient de mettre en œuvre des moyens permettant à une grandeur physique de
renseigner un système informatique et, inversement, des moyens permettant à un système
informatique d’agir sur le monde physique (c’est-à-dire : changer son état).
19
Grandeur physique à mesurer Capteur et Transmission Système
(exemple : température
) conditionneur informatique
Système Transmission Action physique (exemple :
informatique tâche robotique)
20
Exemple : allumage et extinction d’une LED
• Une LED (Light Emitting Diode) ou DEL (Diode ElectroLuminescente) est un composant
électronique très utilisé dans les appareils électroniques comme indicateur ou afficheur.
• L’allumage d’une LED s’effectue en appliquant à ses bornes une tension électrique à travers une
résistance de limitation de courant.
21
Exemple : allumage et extinction d’une LED
R R
+5V +5V
LED éteinte LED allumée
(état 0) (état 1)
• Pour réaliser ce fonctionnement à l’aide d’un système informatique, il convient d’utiliser un
dispositif d’entrée/sortie (E/S).
22
Exemple : allumage et extinction d’une LED
R
Système
informatique
Le système informatique pilote l’allumage et l’extinction de la LED
par application de deux niveaux de tension électrique
• Représentation physique des états logiques
• Les états logiques sont matérialisés par des niveaux de tensions 0V et +5V (ou 0V et 3,3V).
23
Exemple : allumage et extinction d’une LED
X(t)
+5V
0 1 0 1
0V
t
• Idée : comment commander l’état de la LED à distance (par exemple via le réseau internet) ?
24
Exemple : allumage et extinction d’une LED
R
Internet
Système
informatique
25
Extension : déclenchement d’un dispositif
quelconque à distance
Internet Système
informatique
Circuit à relais (interupteur
commandé par un niveau logique) 26
• La commande d’une LED à distance ne présente qu’un intérêt limité. Cependant, il est possible
d’étendre ce concept pour déclencher divers dispositifs à distance : éclairage, ventilation,
climatisation, moteur, déverrouillage ou ouverture de sorties de secours, allumage d’un
ordinateur… ou tout dispositif électrique.
27
Interactions : capteurs et actionneurs
• De manière générale, l’IoT met en œuvre deux types
d’éléments pour interagir avec le monde physique : des
capteurs et des actionneurs.
• Les capteurs permettent de recueillir des informations
depuis le monde physique et de les transmettre vers le
système informatique.
• Les actionneurs permettent au système informatique d’agir
sur le monde physique en modifiant son état.
28
Les capteurs
• Ils permettent de traduire une grandeur physique en un signal
électrique. Ce dernier est ensuite numérisé pour être transmis
au système informatique.
• Par exemple : un capteur de température permet de traduire
l’amplitude de la température en une tension électrique. Cette
dernière est numérisée puis transmise.
Il fait 20° C
20 mV 20 Système
Capteur Numérisation informatique
Transmission
29
Les capteurs
Grandeur communément mesurées :
• Systèmes à deux états (0,1), (fermé,ouvert) (éteint,allumé), etc.
• Comptage d’impulsions (tachymètre), cardio-fréquencemètre,
• Température
• Pression
• Luminosité
• Position
• vitesse
Les actionneurs
30
• Ils permettent d’agir dans le monde physique, c’est-à-dire,
changer son état.
• Par exemple : un actionneur peut allumer un appareil à
distance (voir l’exemple donné dans les transparents
précédents).
Les actionneurs
Actionneurs couramment utilisés :
• Allumage d’un éclairage
• Déclenchement d’un avertisseur sonore
• Allumage d’une machine
31
• Génération de mouvements (ex. servomoteur)
• Commande de robots
• Commande de moteurs (à courant continu, pas-à-pas, etc.)
• Contrôle de débits (air, pression, liquides, etc.)
5- Infrastructures pour l’IoT
Infrastructure élémentaire
32
Base de
Réseau de collecte de données donnée
Module Module Module Serveur
IoT3 IoT2 IoT1
Poste d’interrogation et
de contrôle
33
Exploitation du réseau internet
Module WiFi Module
IoT5 IoT4
Base de
donnée
Réseau de collecte de données Internet
Serveur
Module Module Module
IoT3 IoT2 IoT1
Poste d’interrogation et
de contrôle
34
6- Solutions technologiques
35
Solutions technologiques
Caractéristiques générales d’une plateformes pour l’IoT
Capteur Intelligence
Interaction Communication Transmission
Actionneurs Energie
Monde physique Réseau informatique
Caractéristiques générales d’une plateformes pour l’IoT
Traduction d’une Alimentation de la
Capteur grandeur physique en un plateforme Energie en énergie signal
électriqueélectrique. Doit être
adaptée à l’application
36
Solutions technologiques
Modification de l’état de
Actionneurs l’environnementCodage et transmission
Communication
Intelligence
des données, protocoles standards ou dédiés,
communication filaire ou sans fil.
Traitement local des données (simple ou complexe)
Avant de se lancer dans la réalisation d’un objet connecté, il convient de bien choisir la plateforme
technologique à utiliser.
Caractéristiques générales d’une plateformes pour l’IoT
• Quelle puissance de calcul ? (Quels sont les traitements et calculs à effectuer en local ?)
37
Solutions technologiques
• Quelle quantité de mémoire ? (Que doit-on stocker en local ?)
• Quelles interactions avec le monde physique ? (Capteurs - actionneurs)
• Quelle autonomie énergétique ? (durée d’utilisation, accessibilité, usage de batteries, panneaux solaires, etc.)
• Quelles caractéristiques logicielles ? (Programmation simple ou complexe, accès distant, OS, etc.)
• Quels protocoles de communication ? (Protocoles standards ou dédiés, liaison filaire ou sans fil, cryptage, etc.)
• Quel coût ? (Nombre d’objets à réaliser, budget dédié à la partie IoT, degré de fiabilité requis, etc.)
• …
La révolution des systèmes embarqués à faible coût :
Deux approches majeures :
38
Solutions technologiques
• Systèmes construits autour d’un OS embarqué (RASPBERRY PI, BEAGLEBONE, et
plateformes similaires)
• Avantages : ouverts, puissants, langages de programmation multiples,
• Inconvénients : parfois complexes à mettre en œuvre, prise en main longue, réactivité moyenne, coût
relativement élevé, interfaçage plus difficile.
• Systèmes dédiés compacts à logiciel propriétaire (ARDUINO, GENUINO, INTEL GALILEO,
ESP8266 etc.)
• Avantages : Très réactifs, très faible coût, fonctionnement plus robuste (pas de couches logicielles), interfaçage
aisé, prise en main très rapide.
• Inconvénients : moins puissants, langages de programmation plus limités, moins flexibles sur le plan logiciel.
Quelques dignes représentants…
39
Solutions technologiques
BeagleBone
Arduino + shield Raspberry Pi
40
Solutions technologiques
41
Solutions technologiques
42
Solutions technologiques
Les nouveaux… encore plus petits, encore moins chers
Raspberry Pi zero (5$) ESP8266 (Espressif) (2€)
Une application complète : caractéristiques
• Processeur : Tensilica L106, 32 bits
• Horloge processeur : 80 / 160 MHz
• Mémoire RAM : 32 + 80 Ko
43
Solutions technologiques
• Mémoire flash : max. 16 Mo, typique 512 Ko ou 1 Mo
• Alimentation : 3,3 V, ne tolère PAS le 5 V
• Consommation : 10 µA à 170 mA
• Lignes de port GPIO : 17, avec les fonctions I²C, SPI, UART, MLI multiplexées • Port analogique : 1, résolution
de 10 bit, plage 0 à 1 V • Compatible 802.11 : b/g/n/....
• Liaisons TCP simultanées : max 5
• Modes disponibles : station, point d’accès, station + point d’accès • Switch transmetteur embarqué, balun,
LNA, Ampli de puissance, circuit d’adaptation.
• Circuits de gestion de la puissance.
Une application complète : programmation
44
Solutions technologiques
Exemple d’application : brosse à dents connectée
45
Solutions technologiques
Suivi de l’usage (enfants par exemple), données commerciales
(durée du brossage, fréquence…)
Exemple d’application : relevé automatique des compteurs
46
Solutions technologiques
Economies.
Collecte de données.
Surveillance de populations
Chipset Broadcom BCM2837
SoC
Processeur ARM Cortex-A53 1.2
GHz
Mémoire Vive 1 Go LPDDR2
Format de carte SD Carte MicroSD
4x Ports USB 2.0
40 GPIO
à risques.
Connectique Puissance électrique / 600mA jusqu'à 2.5A @
HDMI, audio/vidéo
composite
47
Solutions technologiques
tension 5V
1x 10/100 Ethernet, Connectivité
Bluetooth, WiFi
Connecteur GPIO (General Purpose Input Output)
Système d’exploitation : Raspbian
48
Solutions technologiques
49
NodeMCU (basé sur un
ESP8266)
• 32-bit RISC CPU: Tensilica Xtensa LX106, 80 MHz
• 64 KiB of instruction RAM, 96 KiB of data RAM
• External QSPI flash - 512 KiB to 4 MiB (up to 16MiB is
supported)
• IEEE 802.11 b/g/n Wi-Fi
• Integrated TR switch, balun, LNA, power amplifier
and matching network
• WEP or WPA/WPA2 authentication, or open
networks
• 16 GPIO pins
• SPI, I²C,
• I²S interfaces with DMA (sharing pins with GPIO)
• UART on dedicated pins, plus a transmit-only UART
can be enabled on GPIO2
50
NodeMCU (basé sur un
ESP8266)
• 1 10-bit ADC
Entrées/sorties d’un module NodeMCU
51
NodeMCU (basé sur un
ESP8266)
52
NodeMCU (basé sur un
ESP8266)
• L’ESP8266 peut se programmer de plusieurs façons :
• Avec des scripts Lua, interprétés ou compilés, avec le firmware
NodeMCU
• En C, avec l’IDE Arduino
• En JavaScript, avec le firmware Espruino
• En MicroPython, avec le firmware MicroPython 2
• En C, avec le SDK d’Espressif
• En C, avec le SDK esp-open-sdk3 basé sur la chaîne de compilation
GCC
53
7- Exemples d’application
Application 1 : commande d’une
LED
• On utilisera un module NodeMCU (utilisant un ESP8266).
• But : pouvoir allumer et éteindre une LED (indicateur lumineux).
• On utilisera l’environnement de développement ARDUINO.
• On reliera la LED et la résistance de limitation de courant entre la
masse (GND) et la broche GPIO5 (D1) par exemple.
54
Application 1 : commande d’une
LED
55
56
Application 2 : lecture d’une entrée
numérique
• On utilisera un module NodeMCU (utilisant un ESP8266).
• But : pouvoir lire l’état d’une entrée numérique.
• On utilisera l’environnement de développement ARDUINO.
• On reliera l’entrée numérique sur la broche GPIO14 (D5).
void setup(void) {
// Start Serial
[Link](115200); // Set D5 as input pinMode(14, INPUT);
} void loop() {
// Read D5 and print it on Serial port
[Link]("State of D5: ");
[Link](digitalRead(14));
// Wait 1 second delay(1000);
}
57
Application 3 : Scan des réseaux wifi disponibles
et
affichage à l’aide de la liaison série
• On utilisera un module NodeMCU (utilisant un ESP8266).
• But : Détecter les réseaux wifi disponibles et afficher le SSID, la
puissance du signal et indiquer si le réseau est ouvert on crypté.
58
Application 3 : Scan des réseaux wifi disponibles
et
affichage à l’aide de la liaison
série
#include "ESP8266WiFi.h"
void setup() {
[Link](115200);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
[Link](WIFI_STA); [Link](); delay(100);
[Link]("Setup done");
}
void loop() {
[Link]("scan start");
// [Link] will return the number of networks found int n = [Link](); [Link]("scan
done");
if (n == 0)
[Link]("no networks found"); else
{
[Link](n);
[Link](" networks found"); for (int i = 0; i < n; ++i)
{
// Print SSID and RSSI for each network found
[Link](i + 1);
[Link](": ");
[Link]([Link](i));
59
Application 3 : Scan des réseaux wifi disponibles
et [Link](" (");
[Link]([Link](i));
[Link](")");
[Link](([Link](i) == ENC_TYPE_NONE)?" ":"*"); delay(10);
}
}
[Link]("");
// Wait a bit before scanning again delay(5000);
}
affichage à l’aide de la liaison
série
scan start scan done 16 networks found
1: SFR-0000 (-69)*
2: Freebox-5XXECD (-77)*
3: FreeWifi (-80)
4: FreeWifi_secure (-79)*
5: SFR-f04332 (-74)*
60
Application 3 : Scan des réseaux wifi disponibles
et
6: Livebox-57A46 (-93)*
7: orange_banane (-93)
8: NETwork2 (-47)*
9: FreeWifi (-47)
10: FreeWifi_secure (-46)* 11: FreeWifi (-86)
12: FreeWifi_secure (-87)*
13: freebox_AZZ0F (-85)*
14: freefree (-89)*
15: FreeWifi (-88)
16: SFR WiFi FON (-91)
61
Application 4 : connexion à un réseau WiFi (connaissant le SSID et le
mot de passe) et afichage de l’adresse IP obtenue par DHCP
#include <ESP8266WiFi.h>
// WiFi parameters const char* ssid = "mon_SSID"; // à remplacer par le SSID const char*
password = "mon_mot_de_passe"; // mettre ici le mot de passe
void
setup(void) {
// Start Serial
[Link](115200);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
[Link](WIFI_STA); [Link](); delay(100);
// Connect to WiFi
[Link](ssid, password); [Link](""); while ([Link]() != WL_CONNECTED) {
delay(500);
[Link](".");
}
[Link]("");
[Link]("WiFi connected");
// Print the IP address
[Link]([Link]());
}
void loop() {
}
62
Application 4 : connexion à un réseau WiFi (connaissant le SSID et le
mot de passe) et afichage de l’adresse IP obtenue par DHCP
...........
WiFi connected
[Link]
63
Application 5 : AP WiFi, serveur web,
commande à distance d’un LED et html/css
Caractéristiques de l’application :
• point d’accès WiFi (AP) ;
• serveur WEB ;
• commande à distance d’une LED ou de tout autre dispositif ;
• composition de pages en html et css.
64
Application 5 : AP WiFi, serveur web,
commande à distance d’un LED et
html/css
Voir le fichier complet !
(trop long pour être affiché sur une page de présentation)
65
8- Bibliographie
Etudes des institutions nationales et européennes (stratégies)
66
Ressources documentaires
67
Ressources documentaires
Ouvrages scientifiques et techniques (architectures, structuration,
organisation)
68
Ressources documentaires
Aspects technologiques
• Magazines techniques (Hackable, MISC, OpenSilicium,
Embarqué, The MagPi, etc.)
• Ouvrages des éditions techniques (nombreux ouvrages sur les
plateformes technologiques embarquées)
Merci pour votre attention
69
9- Compléments
Principe général
70
Fonctions de base de l’IoT
Evénement
Détection
Mesure
Transmission
Traités à distance Analyse
Action
71
Transmissions à longue
distance et à très faible débit
72
Transmission à longue distance et à très faible
débit
Couverture du réseau SigFox en 2016. Couverture du réseau LoRa de Bouygues
télécom (objenious) en 2016.
73
Transmission à longue distance et à très faible
Sigfox promet une meilleure pénétration et une meilleure portée, LoRa annonce une meilleure
communication bidirectionnelle et une localisation par triangulation plus fine.
débit
74
Transmission à longue distance et à très faible
Applications potentielles
• Suivi de données biologiques chez les patients (transmission de paramètres à une structure médicale pour un
suivi massif à distance).
• Ville intelligente (signalisation routière, gestion des parkings, surveillance, etc.).
• Etude de phénomènes naturels. Intérêt majeur
• Une pile bouton peut offrir plus d'un an d'autonomie et une bonne portée (jusqu'à 20 km en champ libre,
environ 1 km en zone urbaine). 4 000 antennes sont suffisantes pour assurer une couverture comparable en
surface à celle obtenue avec plus de 15 000 antennes du réseau 3G !
débit
75
Transmission à longue distance et à très faible
76
RFID (Radio Frequency
Identification) & NFC (Near Field
Communication)
RFID & NFC
77
78
Wearable technology
Wearable
79
Merci pour votre attention !
80
81