Cours Iot Enetcom.pdf

  • Uploaded by: Hanen Abdelmoula
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Cours Iot Enetcom.pdf as PDF for free.

More details

  • Words: 2,649
  • Pages: 102
Cours « Internet of Things » Tarak Chaari Maître assistant à l’Ecole Nationale d’Electronique et de Télécommunications de Sfax [email protected]

IoT

Votre interlocuteur Tarak CHAARI

Maître assistant à l’ENET’com Membre de l’unité de recherche RedCad Enseignement: Ingénierie des systèmes d’information

Recherche: l’adaptation dans les environnements dynamiques

Tarak CHAARI (IIT)

IoT

2

Présentation générale du cours

Le nom du cours  Internet Of Things

Volume horaire  22,5 heures  Cours + TP

Objectifs  Découvrir le domaine d’objets connectés

 Réaliser quelques objets connectés

Tarak CHAARI (IIT)

IoT

3

Contenu du cours Chapitre 1  Concept d'objets connectés et de l'Internet des objets

Chapitre 2  La partie embarquée des IoT

Chapitre 3  Fonctionnalités et technologies de communication des IoT

Chapitre 4  Plateformes logicielles IoT

Chapitre 5  Etudes de cas et domaines d’application

IoT

4

Chapitre 1

Concepts des objets connectés

IoT

5

Internet of things - définition

Et il est souvent difficile d'établir avec précision à partir de quand un objet et connecté et à partir de quand débute l'Internet des Objets. Parfois raccourci en IdO, ou plus souvent en IoT (Internet of Things), ce

concept représente l'expansion du réseau Internet à des objets et/ou des lieux du monde physique.

Vision générique qui englobe tout objet qui nous entoure

IoT

6

Objet connecté - définition

Un objet physique ou virtuel qui a la capacité d’envoyer et/ou recevoir des données vers/depuis internet Exemples:  Montre connectée  Téléphone  Capteur de rythme cardiaque connecté  Pilulier connecté  etc

IoT

7

Objet connecté - caractéristiques

Capacité de récupérer des données et de les envoyer sur internet (capteurs)

Capacité de recevoir des ordres depuis internet (actionneurs)

IoT

8

Objet connecté - défi

Cout  Il doit être le moins cher possible sinon pas utile

Autonomie  Il doit tenir sur des batteries ou piles

Communication  Comment assurer la liaison avec internet?

IoT

9

Iot : principe

Connecter toutes les choses qui nous entourent  A des logiciels d’analyse de données Mieux nous informer et nous guider Prendre des décision automatiques IoT

Objectif

IoT

Prévisions

Source: Gartner 2016

IoT

Origine de l’IoT

IoT

Architecture

Capteurs, Gateway, Systèmes Embarqués communication

Analyse, Apprentissage, prédictions

Visualisation, Tableaux de bord Prise de décision

IoT

Chaîne de valeur : capteurs

IoT

Chaîne de valeur : Transmission

IoT

Chaîne de valeur : software •

Comment identifier et gérer ces milliards d’objets?



Comment gérer la vélocité et le volume des données générées?



Comment analyser ces données?



Comment disséminer ces données vers les parties concernées?



Comment générer de la valeur de ces données?

IoT

Chaîne de valeur Ils ont déjà investi dans l’IOT

IoT

Domaines d’application

IoT

Exemple : parking connecté 1

IoT

Exemple : parking connecté 2

IoT

Exemple : parking connecté 3

IoT

Exemple : parking connecté 4

IoT

Exemple : parking connecté 5

IoT

Exemple : parking connecté 6

IoT

Exemple : parking connecté 7

IoT

Chapitre 2

La partie embarquée des objets connectés

IoT

27

Principe

La partie hardware de l’objet connecté comprend : Une plateforme matérielle d’acquisition et contrôle (MCU)  A programmation matérielle (FPGA, ASIC, Automate, DSP…)  A programmation logicielle (μContrôleur, μprocesseur)

Des capteurs  Analogique : Température, humidité, gaz, lumière…  Numérique : présence, contact, impulsions…

Des actionneurs  Relais, moteurs, lampes, variateurs…

IoT

28

Les capteurs

Transforment une grandeur physique réelle en signal électrique

IoT

29

Les capteurs

Que peut-on capter ?

IoT

30

Les capteurs

Vocabulaire

Capteur • Acquisition de la grandeur physique

Conditionneur • Adaptation de la grandeur électrique au traitement : - Amplification - Filtrage - Réduction de courant/tension

Système de traitement • Electronique numérique : - Microcontrôleur - Ordinateur - DSP - FPGA - Automate industriel

IoT

31

Les actionneurs

Transforment un signal électrique en action physique réelle Système de commande • Electronique numérique : - Microcontrôleur - Ordinateur - DSP - FPGA - Automate industriel

Conditionneur • Adaptation de la grandeur électrique au traitement :

Actionneur • Transformation de la grandeur électrique en action physique

- Isolation - Commutation - Conversion

IoT

32

Architectures à base de microcontrôleurs

Forme de base

IoT

33

Les microcontroleurs

✓Processeur: élément central d’un système informatique – Interprète les instructions et Traite les données

✓Besoins d’éléments complémentaires – Horloge pour le cadencer

– Mémoire pour l’exécution des programmes (RAM) pour le stockage

(ROM) – Périphériques

✓Bus pour relier ces entités Bus d’adressage

Processeur

Bus de contrôle

ROM Programme(s)

RAM Données

Périphériques Entrées/Sorties

Bus de données

IoT

34

Microcontroleur ✓ Le microprocesseur – Intégration dans des circuits distincts – Nécessité de prévoir l’interconnexion (bus, câblage) – La place occupée par ces composants séparés est plus importante – Plus de consommation et de chaleur dégagée – Coût financier

✓ Le microcontrôleur – Rassemble ces éléments sur un seul circuit intégré – Composant autonome, capable d’exécuté des programmes sur sa ROM – Améliore l’intégration et le coût – Moins de capacités que le microprocesseur

Tarak CHAARI (IIT)

IoT

35

Microprocesseur vs Microcontrôleur

Microprocesseur ✓Electronique complexe ✓Entrées-sorties par des contrôleurs externes ✓Utilisation d’un OS

Alimentation

Horloge

Flash > 1Go

Microprocesseur Cœur(s) > 200MHz CPU FPU MMU

Microcontrôleur ✓Electronique simple ✓Déterminisme ✓Fiabilité fonctionnement ✓Généralement sans OS

Bus

RAM > 256Mo

Alimentatio n

Contrôleur E/S

Horloge

Microcontrôleur Cœur CPU < 200MHz ROM (Flash) < 2Mo RAM < 1Mo Watchdog

E/S

RS-232 GPIO SPI I²C USB CAN Etherne t

RS-232, GPIO, SPI I²C, USB, CAN Ethernet

Tarak CHAARI (IIT)

IoT

36

Microcontrôleur vs microprocesseur Microprocesseur

Microcontrôleur

Coût moyen

> 20 €

< 10€

PCB support

Complexe (6 couches)

Simple (2 couches)

Alimentation

Multiples – 3.3V / 5V / 12V

Simple – 3.3V

Volume de code métier

Plusieurs dizaines de Mo

Quelques Ko

Environnement développement Livre et gratuit si développement Linux

Généralement propriétaire (coût élevé)

Mise au point de code

Classique grâce à l’OS

Complexe, débuggueur spécifique

Déploiement, MàJ

Simple

Complexe

Protection code métier

Difficile

Facile (fusibles)

Tarak CHAARI (IIT)

IoT

37

SoC : System on chip

System on Chip (S.O.C.)

P

Contrôleur Ethernet USB

ROM Bootlaoder

Contrôleur

Contrôleur

UART

SPI

RS 232

MMC /SD

✓ Contrôleurs d’entrées-sorties déjà incorporés ✓ Intégration électronique plus complexe ✓ Souvent peu d’entrées sorties industrielles (CAN) ou analogiques (ADC/DAC, PWM) Tarak CHAARI (IIT)

IoT

38

Formes intégrées

Arduino Uno Microcontrôleur

Odroid SoC

MSP Launchpad Microcontrôleur

Tessel 2 SoC

STM 32 Discovery Microcontrôleur

Raspberry PI SoC IoT

39

Arduino ? Start-up italienne lancée en 2005 (http://arduino.cc) Crée un microcontrôleur bas-coût (à partir de 20 e) avec un IDE permettant de facilement le programmer, même par un débutant. Public visé : les artistes, les étudiants (université voire lycée), les "bidouilleurs" du dimanche, les experts pour certaines applications ou du développement Open-source (sauf nom) : les plans sont en ligne et on peut donc reproduire, modifier et améliorer et vendre une telle carte. L’IDE est aussi open-source. ➮ Enorme communauté d’utilisateurs (Arduino Day 2014) Centaines de produits sur le marché (versions officielles, copies à l’identique à bas coût, versions améliorées). Chaque jour naît un nouveau produit "duino" Hardware open-source est une nouvelle révolution industrielle selon certains experts (de nombreuses compagnies se sont lancées sur ce marché)

IoT

Modèle UNO Quelques caractéristiques : •32 ko de ROM (dont bootloader de 0.5 ko) •2 ko de RAM, 1 ko d’EEPROM •16 MHz (Intel 8086 : de 5 à 10 MHz)

IoT

Modèle UNO Quelques caractéristiques : •32 ko de ROM (dont bootloader de 0.5 ko)

•2 ko de RAM, 1 ko d’EEPROM •16 MHz (Intel 8086 : de 5 à 10 MHz) •14 ports entrée/sortie numériques

Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" des interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs

IoT

Modèle UNO Quelques caractéristiques : •32 ko de ROM (dont bootloader de 0.5 ko) •2 ko de RAM, 1 ko d’EEPROM •16 MHz (Intel 8086 : de 5 à 10 MHz) •14 ports entrée/sortie numériques •5 ports d’entrée analogique

Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" des interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs Les entrées analogiques (une "infinité" de valeurs) peuvent lire des potentiomètres et autres capteurs à données variables

IoT

Modèle UNO Quelques caractéristiques : •32 ko de ROM (dont bootloader de 0.5 ko) •2 ko de RAM, 1 ko d’EEPROM •16 MHz (Intel 8086 : de 5 à 10 MHz) •14 ports entrée/sortie numériques (dont 6 MLI) •5 ports d’entrée analogique Les E/S numériques (deux valeurs : ON/OFF) peuvent "lire" des interrupteurs, des boutons, contrôler des DEL et l’activation de moteurs Les entrées analogiques (une "infinité" de valeurs) peuvent lire des potentiomètres et autres capteurs à données variables Les sorties analogiques peuvent être obtenues par des "modulations de largeur d’impulsion" IoT

Modèle UNO Quelques caractéristiques : •32 ko de ROM (dont bootloader de 0.5 ko) •2 ko de RAM, 1 ko d’EEPROM •16 MHz (Intel 8086 : de 5 à 10 MHz) •14 ports entrée/sortie numériques (dont 6 MLI) •5 ports d’entrée analogique Tension de fonctionnement : 5 V Tension d’entrée (recommendée) : 7-12 V Tension d’entrée (limites) : 6-20 V Intensité de courant par port E/S : 40 mA

Intensité de courant par port E/S en 3.3 V : 50 mA

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Des capteurs de température :

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Des capteurs de pression/torsion :

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Des moteurs :

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Des écrans d’affichage :

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Des relais :

IoT

Que peut-on connecter à l’Arduino ? Quelques exemples

Mais aussi des modules appelés "shields"

IoT

IDE

Compiler Transférer

IDE téléchargeable sur http://arduino.cc Un programme s’appelle "sketch" Compiler, remettre à zéro la carte (appuyer sur reset) et charger le programme IoT

Langage Arduino

Langage très proche du C Beaucoup de fonctions très simples pinMode() – choisit un port comme entrée ou sortie (INPUT/OUTPUT) digitalWrite() – affecte à un port numérique la valeur haute ou basse (HIGH/LOW) digitalRead() – lit l’état du port numérique analogRead() – lit un port analogique analogWrite() – écrit une valeur MLI "analogique" delay() – attend une durée de temps définie (en ms) millis() – fournit le temps épuisé (en ms) depuis le lancement du programme courant

Et beaucoup d’autres "bibliothèques" et "fonctions"

IoT

Le squelette d’un programme arduino

// Déclaration de variables void setup() { // Initialisation des variables } void loop() { // Cette fonction est appelée indéfiniment, // après le setup }

IoT

Chapitre 3

Fonctionnalités et technologies de communication des objets connectés

IoT

55

Communications possibles

IoT

Communication courte portée

Bluetooth HC-06 IoT

Communication courte portée char blueToothVal; char lastValue; void setup() { Serial.begin(9600); pinMode(13,OUTPUT); }

void loop() { if(Serial.available()){ blueToothVal=Serial.read(); }

if (blueToothVal=='n’){ digitalWrite(13,HIGH); if (lastValue!='n') lastValue=blueToothVal; } else if (blueToothVal=='f') { digitalWrite(13,LOW); if (lastValue!='f') lastValue=blueToothVal; } delay(1000); }

Code HC-06 IoT

Communication courte portée ESP8266 -Mode station -Mode point d’accès -Les deux

• The ESP8266 does not have 5V tolerant inputs–you could destroy your WiFi module. • The ESP8266 may draw more current than the 3.3V regulator on your Arduino can supply – you could damage your Arduino. • The operation of the ESP8266 outside of stated limits may be unstable and unreliable

Commandes AT AT+CWMODE=1 (se mettre en mode station) AT+CWLAP

(Pour scanner les réseaux wifi disponibles) IoT

Communication courte portée NRF-24L01 (radio fréquence 2.4GHz)

Code : File > Examples > RadioHead > nrf24 IoT

Communication courte portée

Arduino wifi shield File > Examples > Wifi > ScanNetworks IoT

Communication longue portée

Arduino GSM shield https://www.arduino.cc/en/Guide/ArduinoGSMShield IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

LP-WAN objectives

• •

• •

More than 50% of IoT/M2M connections need only a few bytes of data transmitted to and from the remote device periodically Real-time communications not needed i.e. some latency is acceptable

Long battery life required In-building coverage/penetration desired IoT

Requirements for LPWANs Internet of 80% of volume

Objects

LPWAN Requirements: Low

power technology

transmit

Long range communication Low power consumption

Long battery life Low cost communications &

infrastructure Scalable system Permits mobility Reliable communication

IoT

Connected Devices: Access Lo Power WAN

LAN

Short Range

Long Range w/ Battery



Well established standards Good for: • • •



Mobile devices In-home Short range

Not good: • •

Battery life Long range

Long Range w/Power

Internet of Objects

Communicating Devices



Cellular

✓ ✓

Emerging PHY solutions / Undecided Good for: • • •



Long range Long battery Low cost

Not good: •

High data-rate

Traditional M2M

✓ ✓



Well established standards Good for: • • •

Long range High data-rate Coverage

• •

Battery life Cost

Not good:

IoT

Communication longue portée

IoT

Communication longue portée

IoT

LoRa Network Architecture

Star-of-star topology

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Communication longue portée

IoT

Echange LoRa Envoi périodique d’un message PULL_DATA (keep alive)

IoT

Echange LoRa Contenu du message PULL_DATA

Contenu du message PULL_ACK

IoT

Echange LoRa Transmission de données à la réception d’une trame venant d’un device

IoT

Echange LoRa Contenu du message PUSH_DATA

Contenu du message PUSH_ACK

IoT

Echange LoRa Transmission de données à partir du serveur

IoT

Echange LoRa Contenu du message PULL_RESP

Contenu du message TX_ACK

IoT

Echange LoRa Exemple d’un rxpk (du gateway vers le serveur) "rxpk": [ { "time":"2013-03-31T16:21:17.528002Z", "tmst":3512348611, "chan":2, "rfch":0, "freq":866.349812, "stat":1, "modu":"LORA", "datr":"SF7BW125", "codr":"4/6", "rssi":-35, "lsnr":5.1, "size":32, "data":"-DS4CGaDCdG+48eJNM3VaizDpsR71Pn9CPA9uCON84" }

] IoT

Echange LoRa Exemple d’un txpk (du serveur vers le gateway)

"txpk": { "imme":true, "freq":864.123456, "rfch":0, "powe":14, "modu":"LORA", "datr":"SF11BW125", "codr":"4/6", "ipol":false, "size":32, "data":"H3P3N2i9qc4yt7rK7ldqoeCVJGB ybzPY5h1Dd7P7p8v" }

IoT

Format des messages LoRaWAN

IoT

Format des messages LoRaWAN

IoT

Format des messages LoRaWAN

IoT

Lorawan – Confidentialité des messages Cryptage AES 128 bits (IEEE 24 802.15.4/2006 Annex B [IEEE802154])

IoT

Lorawan – Intégrité des messages Vérification d’intégrité par un hash cmac 128 bits (RFC4493)

IoT

Chapitre 4

La partie logicielle de l’IoT

IoT

92

Gestion de l’infrastructure matérielle Gestion des objets connectés  Comment les identifier?  Quels sont leurs caractéristiques et capacités  Le type des données qu’ils véhiculent

Gestion de l’infrastructure de communication  Gateways et leurs configurations  Monitoring du bon fonctionnement du système  Gestion de la mobilité

Gestion des serveurs  Sur cloud ou Interne  Load balancing  Administration des serveurs

IoT

93

Gestion des données Gestion des trames  Comment les identifier leurs sources  Décrypter

Stockage  Où stocker les trames?  Bases de données SQL/NoSQL?  Stockage permanent ou temporaire?

Dissémination  Où envoyer les trames?  Elles viennent de quelles sources  Elles doivent aller où?

Analyse des données  Statistiques (moyennes, minimas, maximas…)  Interprétation de valeurs brutes en valeurs plus compréhensibles IoT

94

Développement des applications IoT Gestion des accès  Chaque utilisateur ne doit voir que ses données  Possibilité de partage des objets connectés entre utilisateurs

Affichage de l’historique  Pouvoir parcourir l’historique des données à tout moment  Affichage tabulaire ou sous la forme de courbes

Affichage de données en temps réel  Afficher les trames dès leurs arrivées  Possibilité de déclencher des actions d’une façon automatique

Interaction avec le système de de gestion des données

IoT

95

Architecture technique

IoT

96

Les plateformes IoT : classification

IoT

97

Les plateformes IoT : couches

IoT

98

Ingestion des données Big Data stream processing Apache spark Apache Nifi Apache Flume Apache storm IBM Streams…

Développement personnalisé  J2EE  Go  Node JS…

IoT

99

Stockage de données Bases de données relationnelles Mysql Oracle postgres…

Bases de données nosql  MongoDB  Hbase  Cassandra…

Bases de données temporelles (Time series databases)  InfluxDB  IBM Informix  ElasticSearch…

IoT

100

Dissémination de données (Broker)

Apache Kafka

DataBus (supervision de BD) HiveMQ / Mosquitto Amazon Kinesis Redis…

IoT

101

Affichage et analyse de données

Kibana

Tableau R Rapid miner Développement personnalisée… IoT

102

Related Documents

Iot
May 2020 14
Iot Applications
October 2019 25
Iot-connect.pdf
December 2019 21
Iot Regular.pdf
August 2019 24
Exm Iot
October 2019 18

More Documents from "Abdur Raquib Sami"

Labview Pdf.pdf
May 2020 10