Conception IoT
Chapitre 0 : Introduction à l’IoT
2022/2023
Outline
1
1 Introduction générale
A Définition de l’IoT
B Motivation
C Exemple d’applications
2 Architecture fonctionnelle d’une solution IoT
A Niveau 1 : Capteurs et actionneurs
B Niveau 2 : Passerelle
C Niveau 3 : Cloud Computing
Introduction
Définition de l’IoT
« Infrastructure mondiale pour la société de l’information qui permet de disposer de
services évolués en interconnectant des objets (physiques ou virtuels) grâce aux
technologies de l’information et de la communication interopérables existants ou en
évolution ». - Recommandation UIT-T Y.2060 renommée Y.4000
Objets physiques: des capteurs, technologie de connectivité et intelligence;
Réseaux de communications : utilisés pour transporter des données d'objets;
Cloud computing: fournit les outils de stockage, de corrélation et d'analyse des
données (processus décisionnels capables de remonter les objets physiques).
3
Introduction
Motivation
Connectivité omniprésente : diversité des solutions de connectivité sans fil, possibilité
de connecter ―tout!!
Disponibilité et adoption généralisée de IP (Internet Protocol).
Miniaturisation et coût faible des composants électroniques.
Progrès dans le domaine Cloud Computing : disponibilité des services qui permettent
de bénéficier de capacités de calcul avec les objets physiques.
Progrès dans le domaine Big Data : une multitude d‘algorithmes sont disponibles pour
collecter et analyser les données.
Croissance du marché de masse : la vision du monde connecté a atteint une maturité
et l’engagement est irréversible.
4
Introduction
Exemple d’applications – Smart home
5
Introduction
Exemple d’applications – Santé
6
Introduction
Exemple d’applications – Agriculture intelligente
7
Introduction
Technologies clés
L‘IoT fonctionne avec le support de plusieurs technologies tels que les réseaux de
capteurs sans fil, le Cloud Computing, les analyses Big Data, les protocoles de
communication, les services web, etc.
Les réseaux de capteurs sans fil RCSF: (Wireless Sensor Network, WSN). Un
RCSF se compose d‘un nombre de Noeuds-Capteurs qui ont des fonctionnalités de
capturer et traiter/transmettre les données.
Cloud Computing : fournit un espace de stockage de données IoT et offre des
services de visualisation, analyse et archivage des données.
Big Data : offre des outils d‘analyse avancées pour les données massives
collectées par les objets IoT selon leurs caractéristiques : volume, vitesse, variabilité
(forme de données : texte, audio, video, image).
Les protocoles de communication : sont indispensables pour assurer la
connectivité entre objets et applications. Les protocoles de communication définissent
le format des données, taille paquets, adressage, routage, etc.
Les systèmes embarqués : Les objets connectés sont formés essentiellement
des cartes à microcontrôleur intégrant un microprocesseur, une mémoire et des ports
d‘ E/S pour la connexion des capteurs.
8
Architecture fonctionnelle d’une solution IoT
[Link]
9
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
Unité de détection : Capteur/ Actionneur
Unité de traitement : Contrôleur
Unité de communication : Module RF
Alimentation
Capteur : C’est un dispositif utilisé pour détecter un événement ou une grandeur
physique, tels que luminosité, température, humidité du sol, pression, etc. et qui fournit un
signal électrique correspondant.
Les capteurs IoT sont généralement de petite taille, ont un faible coût et
consomment moins d’énergie.
Les signaux produits par un capteur sont traités par un microcontrôleur pour
l‘interprétation, l‘analyse et la prise de décision.
10
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
11
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
Capteurs à air – Des capteurs qui détectent le niveau de pollution de l'air en milieu
urbain et donnent des mesures pour protéger la santé des personnes.
Bâtiments - Des capteurs qui surveillent les vibrations et les conditions des matériaux
dans les bâtiments, les ponts et les monuments historiques et fournissent des
«avertissements précoces» en cas de dommages.
Véhicules de distribution - Des capteurs qui détectent l'allocation géographique de
chaque véhicule dans un parc sont utilisés pour optimiser les itinéraires et créer des
estimations précises des heures de livraison.
Utilisation de l'énergie - Capteurs qui surveillent l'énergie, utilisée pour vérifier l'efficacité
énergétique de la «construction verte» .
Gaz dangereux - Des capteurs qui détectent les niveaux de gaz explosifs ou toxiques
dans les environnements industriels et à l'intérieur, permettent une action immédiate pour
garantir la sécurité des personnes.
Santé - Les capteurs qui mesurent les données métriques vitales, la pression sanguine et
la tension artérielle, sont utilisés pour surveiller les patients.
Parking spaces - Capteurs qui sont utilisés pour détecter si un espace de stationnement
est libre.
12
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
Actionneur : une technologique complémentaire
aux capteurs, convertit l'énergie électrique en
mouvement ou énergie mécanique.
Les actionneurs permettent de transformer
l‘énergie reçue en un phénomène physique
(déplacement, dégagement de chaleur, émission de
lumière …).
Exemple : Haut-parleurs qui convertissent les
signaux électriques correspondants en sons ondes
(acoustiques).
Les actionneurs, qui induisent un mouvement,
peuvent être classés en 3 catégories:
– Les actionneurs hydrauliques facilitent le
mouvement mécanique en utilisant un fluide ou une
puissance hydraulique.
– Les actionneurs pneumatiques utilisent la pression
de l’air comprimé;
– Les actionneurs électriques utilisent l’énergie
électrique
13
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
Avec les actionneurs et les capteurs, on associe des cartes à micro-contrôleurs
pour extraire les informations utiles ou commander les actionneurs.
Un microcontrôleur (µc, MCU en anglais) est un circuit intégré et compact qui
comprend un processeur, une mémoire et des périphériques d‘entrée et de sortie sur une
seule puce.
Un MCU est conçu pour traiter les données brutes capturées par les capteurs et extraire
des informations utiles.
14
Architecture fonctionnelle d’une solution IoT
Niveau 1 : Capteurs et actionneurs
Source: [Link]
15
Architecture fonctionnelle d’une solution IoT
Niveau 2 : Passerelle
Une passerelle (gateway) est une combinaison de composants matériels et logiciels
utilisés pour connecter un réseau à un autre.
Les gateways permettent de relier les capteurs ou les nœuds de capteurs avec le monde
extérieur.
Les gateways sont donc utilisées pour la communication de données en collectant les
mesures effectuées par les nœuds de capteurs et en les transmettant à l'infrastructure
Internet.
La gateway peut faire des traitements locaux sur les données avant de les relayer au
Cloud.
Exemples de gateways:
16
Architecture fonctionnelle d’une solution IoT
Niveau 3 : Cloud Computing
Le niveau 3 est un choix technologique (optionnel) qui permet d’alléger la charge du
travail vers le Cloud et de faire des traitements locaux ―on the Edge.
Trois solutions techniques sont possibles pour l‘implémentation du 3ème niveau :
– Fog Computing : permet un calcul décentralisé en traitant les données IoT au niveau des
nœuds locaux ―Fog avant de relayer l‘information vers le cloud.
– Edge Computing : le traitement des données IoT se fait à l‘extrémité du réseau (Gateways
ou des noeuds intermédiaires entre objets et gateways).
– Mist Computing : le traitement des données se fait localement dans le noeud capteur.
17
Technologies de communication disponible
WIFI
IEEE : 802.11a/b/g/n/ac
Besoins en mémoire : 1Mo +
Autonomie avec Pile : Jours
Vitesse de transfert : 11, 54, 108, 320, 1000 Mb/s
Portée (environ) : 300m
Bande : 2,4 - 5 Ghz
18
Technologies de communication disponible
Bluetooth
IEEE : 802.15.1
Besoins mémoire : 250 ko +
Autonomie avec Pile : Mois
Vitesse de transfert : 1 Mb/s
Portée (environ) : 10m
19
Technologies de communication disponible
Zigbee
IEEE : 802.15.4
Besoins en mémoire : 4-32 ko
Autonomie avec Pile : Années
Vitesse de transfert :20-250 kb/s
Portée (environ) : 100m
Bande : 868 Mhz
20
Technologies de communication disponible
RFID
RFID ( Radio Frequency Identification ) : procédé permettant de récupérer des
données à distances grâce à un système composé :
Une étiquette radio contenant des informations
Un lecteur permettant de récupérer les informations d’une étiquette radio
à distance
Fréquences utilisées :
Basses fréquences (LF) : 125 à 134 Khz
Hautes fréquences (HF) : 13,56 Mhz
Ultra-Hautes fréquences (UHF) : 850 à 950 Mhz
21
Technologies de communication disponible
NFC
L’interface NFC (Near Field Communication) : une technologie dérivée de RFID
permettant une communication à très faible distance entre deux objets
➥ Bande : 13,56 Mhz
➥ Distance : 0 et 20 cm
➥ Débit : 106 Kb/s et 424 Kb/s
➥ Fréquence utilisée (HF) : 13,56 Mhz
22
Technologies de communication disponible
LPWAN
LPWAN (Low Power Wide Area Network) : un réseau à longue portée et à faible
consommation énergétique
Réseau dédié à l’IoT et M2M
Pour transmettre un signal sans fil sur une longue distance
Soit augmenter la puissance du signal
Soit réduire sa bande passante
Soit faire les deux
Les technologies LPWAN exploitent des bandes de fréquences avec et sans licence, et ont
les caractéristiques suivantes :
Portée : de quelques kilomètres dans les zones les plus denses à des dizaines (voir
centaines) de kilomètres dans les zones rurales.
Autonomie : Plusieurs années.
Bande passante : De 0.1 à plusieurs centaines de kbits/sec
23
Technologies de communication disponible
LPWAN
Exemples des réseaux LPWAN
LPWANs cellulaires : Nb-IoT et LTE-M
LPWANs non cellulaires : sigfox et LoRaWAN
Quatres principaux paramètres pour choisir un réseau LPWAN
Portée
Débit
Consommation d’énergie
Coût de déploiement
24
Technologies de communication disponible
LoraWAN
Créé par la startup française Cycleo en 2009
Depuis 2015, le LoRaWAN est porté par une association à but non lucratif appelé The
LoRa Alliance, qui regroupe plus de 500 entreprises
LoRaWAN se repose sur une modulation à étalement de spectre appelé CSS (Chirp Spread
Spectrum)
Le message transmis est répété plusieurs fois à des fréquences différentes
LoRa, comme le SigFox, opère sur une plage de fréquences ISM sans licence
868 MHz en Europe
915 MHz en Amérique du Nord.
25
Conception IoT
Chapitre 1 : Introduction aux architectures à usage générale et
spécifique
2022/2023
Architectures à usage général
RISC vs CISC
L’architecture de l’unité centrale de traitement (CPU) permet de fonctionner à
l’endroit où elle a été conçue. La conception architecturale du CPU est basée sur le
système d’instructions réduit (RISC) et sur le système d’instructions complexe
(CISC).
Il existe deux grandes familles au niveau des jeux d’instructions ISA (Instruction
Set Architecture) :
L’architecture CISC (Complex Instruction Set Computer)
L’architecture RISC (Reduced Instruction Set Computer)
27
Architectures à usage général
RISC vs CISC
Par le passé la conception de machines CISC était la seule envisageable.
La mémoire travaillait très lentement par rapport au processeur, on pensait
donc qu’il était plus intéressant de soumettre au microprocesseur des instructions
complexes.
Ainsi, plutôt que de coder une opération complexe par plusieurs instructions
plus petites il semblait préférable d’ajouter au jeu d’instructions du
microprocesseur une instruction complexe qui se chargerait de réaliser cette
opération.
C'est dans les années 80 que la notion de RISC est apparue. Elle consiste à
minimiser le nombre d'instructions et à les simplifier!
Des chercheurs d'IBM, sous la direction de John Cocke se sont convaincus
qu'un ensemble réduit d'instructions '' rapides/efficaces'' valait mieux qu'un plus
grand ensemble augmenté d'instructions plus lentes et moins efficaces.
28
Architectures à usage général
RISC vs CISC
29
Architectures à usage spécifique
Système embarqué
Tout système conçu pour résoudre un problème ou une tâche spécifique /dédié
mais n’est pas un ordinateur d’usage général.
Les parties matérielle et logicielle sont intimement liées et noyées dans le
matériel et ne sont pas discernables comme un environnement de travail
classique de type PC.
Système électronique et informatique autonome possédant des entrées/sorties
spécifiques (pour la plupart, liées à des grandeurs ou des phénomènes physiques).
Composante primordiale d’un système plus large ou une machine dont
l’objectif est de commander, contrôler et superviser ce système.
30
Architectures à usage spécifique
Système embarqué
31
Architectures des systèmes embarqués
32
Architectures des systèmes embarqués
Système on Chip SoC
Définition :
Un système sur une puce, également souvent désigné dans la littérature
scientifique par le terme anglais system on a chip (d'où son abréviation SoC),
est un système complet embarqué sur une seule puce, pouvant comprendre de la
mémoire, un ou plusieurs microprocesseurs, des périphériques d'interface, ou tout
autre composant nécessaire à la réalisation de la fonction attendue. On peut
intégrer de la logique, de la mémoire, des dispositifs (capteurs) mécaniques, opto-
électroniques, chimiques ou biologiques ou des circuits radio. Source-Wikipedia
Exemples de platformes IoT
MIPS
ARM
X86
PowerPC
33
Architecture ARM
Historique
En 1985, la compagnie ACORN produit un premier processeur qui résulte de ces
travaux : le Acorn RISC Machine (ARM)
La complexité du ARM est réduite par choix et par faute de moyens, ainsi le jeu
d’instructions est simplifié : naissance des processeurs RISC. Acorn Archimedes
(1987) : ordinateur conçu à base d’ARM
ACORN et Apple collaborent pour fonder la compagnie ARM ltd en 1990
ARM et Intel feront évoluer leurs produits en parallèle dans des marchés
différents
34
Architectures des systèmes embarqués
Architecture MIPS
L'architecture MIPS (microprocessor without interlocked pipeline stages) est une
architecture de processeur de type RISC développée par la société MIPS
Technologies (alors appelée MIPS Computer Systems), basée à Mountain View
en Californie.
Les processeurs fabriqués selon cette architecture on les retrouve dans
plusieurs systèmes embarqués, comme les ordinateurs de poche, les routeurs
Cisco et les consoles de jeux vidéo (Nintendo 64 et Sony PlayStation,
PlayStation 2 et PSP).
Vers la fin des années 1990, on estimait que les processeurs dérivés de
l'architecture MIPS occupaient le tiers des processeurs RISC produits.
De nos jours cette architecture reste populaire dans le marché de l'informatique
embarquée où elle subit une intense concurrence de la part de l'architecture
ARM.
Les MIPS sont aussi présents dans des routeurs ou des NAS, mais ils
deviennent aussi de plus en plus rares dans ce domaine face à la concurrence
des ARM, PowerPC et x86 basse consommation.
35
Architecture ARM
Stratégie de ARM
ARM Holdings
Développe des architectures de micro-processeurs et des jeux ’instructions
Ne construit aucun micro-processeur comme tel!
La compagnie licencie la technologie à d’autres qui les fabriquent à leur
façon clients : Apple, Nvidia, Samsung, Texas Instruments, etc.
Micro-processeurs ARM
Supportent 32 et 64 bits
L’architecture la plus utilisée au monde (100 milliards de processeurs
produits en 2017)
36
Architectures des systèmes embarqués
Série Cortex-A
Le profil A (séries Cortex-A) : destiné pour faire tourner des applications
complexes telles que les systèmes d’exploitation embarqués (linux, Windows)
nécessitant une puissance de traitement élevée et un système de gestion de
mémoire virtuelle (MMU : Memory Mangement Unit)
37
Architectures des systèmes embarqués
Série Cortex-R
Le profil R (séries Cortex-R) : destiné principalement aux applications temps
réel à contraintes très sévères et exigeant une haute fiabilité et un temps de
réponse faible
38
Architectures des systèmes embarqués
Série Cortex-M
Le profil M (séries Cortex-M) : optimisé pour des applications nécessitant une
basse consommation en énergie, un coût réduit et un comportement
déterministe pour le traitement des interruptions. C’est le profil qui est destiné à
être intégré dans les microcontrôleurs (utilisés surtout pour la commande des
machines)
39
Application IoT – carte Raspberry Pi
Présentation
Nano-ordinateur monocarte à processeur ARM conçu par David Braben (UK)
2011-2012.
vendu "nu" (carte mère seule, sans boîtier, alimentation, clavier, souris ni écran)
dans l’objectif de diminuer les coûts et de permettre l’utilisation de matériel de
récupération.
40
Application IoT – carte Raspberry Pi
SoC BCM2835/2836/2837
Plusieurs générations de Raspberry Pi ont été produites.
➥ Tous les modèles disposent d’un système SoC Broadcom avec une unité
centrale de traitement (CPU) d’architecture ARM et une unité de traitement
graphique (GPU)
➥ Les architectures ARM sont des architectures de type RISC 32 bits (ARMv1 à
ARMv7) et 64 bits (ARMv8) développées par ARM Ltd depuis 1990.
➥ Le SoC Broadcom BCM2835 utilisé dans la première génération de Raspberry Pi
comprend un CPU ARM11 (ARMv6) de 700 MHz, un GPU VideoCore IV et de la
RAM. Il possède un cache de niveau 1 (L1) de 16 Ko et un cache de niveau 2 (L2)
de 128 Ko principalement utilisé par le GPU (Graphics Processing Unit).
➥ Le Raspberry Pi 3+ utilise un SoC Broadcom BCM2837B avec un processeur
ARM Cortex-A53 (ARMv8-A) quatre coeurs 1,4 GHz à 64 bits, avec une mémoire
cache L2 partagée de 512 Ko. 41
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pi1
42
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pi2
43
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pi3
44
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pi Zero
45
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pi 4
46
Application IoT – carte Raspberry Pi
Les versions de Raspberry – Pico
• RP2040 features
• dual-core Arm Cortex-M0+ processor
• 264kB internal RAM
• support for up to 16MB of off-chip flash.
• wide range of flexible I/O options includes I2C, SPI
47
Application IoT – carte Raspberry Pi
48
Application IoT – carte Raspberry Pi
49
Carte Raspberry Pi – Séquence de boot
50
Carte Raspberry Pi – Séquence de boot
51
Carte Raspberry Pi – Séquence de boot
52
Carte Raspberry Pi – Séquence de boot
53
Carte Raspberry Pi – Séquence de boot
54
Application IoT – carte Raspberry Pi
55
Développement des objets connectés
56
Développement des objets connectés -
compilateurs
57
Développement des objets connectés -
compilateurs
58
Développement des objets connectés -
compilateur
59
Développement des objets connectés - toolchain
60