Formateur : M. Zouari Lazhar
Internet des Objets
Définition d’Internet des Objets (IdO)
Plus connu sous son sigle anglais IoT (Internet of
Things), est un réseau de dispositif physique de
véhicules, de bâtiments, ..., intégrant des dispositifs
électroniques, logiciels, capteurs et connectivité de
réseau permettant à ces objets de recueillir et de
transmettre des données via l’Internet
Domaines applicatifs de l’IoT
IoT en Chiffres
Les 5 étapes d’un projet IoT
Infrastructures pour l’IoT
Caractéristiques d’une plateformes IoT
Les technologies de communication
Les systèmes automatisés
Dans les systèmes automatisés, on trouve des
interfaces programmable (partie commande de
système) qui font le lien entre les capteurs
(acquisition du signal) et les actionneurs qui
réalisent les actions (transformation d’énergie)
Capteur
Un capteur est un dispositif électronique transformant
l'état d'une grandeur physique observée en une
grandeur utilisable (signal électrique)
• train d'impulsions, avec un nombre précis
d'impulsions ou avec une fréquence précise
• code numérique binaire
Actionneur
Un actionneur est un objet qui transforme l’énergie qui
lui est fournie en un phénomène physique.
Les interfaces Programmables
Un interface programmables est généralement
construit autour d'un microcontrôleur et de
composants complémentaires qui facilitent la
programmation et l'interfaçage avec d'autres circuits.
Architecture AVR Architecture ARM
Solutions technologiques
L’ESP8266
L’ESP8266 est un circuit intégré à microcontrôleur avec
connexion Wi-Fi. Les variantes ont toutes des
spécificités. Certaines auront plus de broches de GPIO
accessibles d'autres auront plus de mémoire flash
disponible.
L’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
– En C, avec le SDK d’Espressif
– En Go, avec le framework Gobot
MicroPython pour le ESP8266
1. Préparation et installation des outils
 Installation de driver CP2102
Lors du branchement du câble USB sur le
NodeMCU, il faudra utiliser Gérer dans
l'explorateur de fichiers de Windows sous pour
découvrir quelque chose comme :
indiquant que le port COM4 est ici utilisé. Si
le port COM n'est pas identifiable, il faudrait
envisager d'installer le driver USB depuis
Silicon Lab.
 Installation d’un IDE Python - Thonny
Si vous souhaitez programmer la carte ESP32 ou
ESP8266 avec le micrologiciel MicroPython, il est
très pratique d’utiliser un IDE. Dans cette
formation, je vous présente Thonny IDE.
Thonny est un IDE pour débutant, c’est l’outil idéal
pour les microcontrôleurs du type ESP8266 ou
ESP32 avec un firmware MicroPython.
 Installer esptool
Pour installer le firmware MicroPython sur votre
carte, vous aurez besoin des outils esptool
d’Espressif. Dans l’invite de commande exécutez
simplement la commande suivante :
pip install esptool
2. Installation du firmware MicroPython
Avant de passer à l’installation de MicroPython,
il faudra se rendre compte que le firmware
original du NodeMCU sera écrasé.
 télécharger la dernière version du firmware
pour ESP8266 ou ESP32.
 Effacer la mémoire flash de la carte, pour cela
exécutez cette commande :
esptool.py --chip esp8266 erase_flash
 Placez vous dans le répertoire de
téléchargement (cd ~/Downloads/) cd c:Iot
dans notre cas puis lancez l’installation du
firmware avec la commande suivante.
N’oubliez pas de remplacer le port COM.
esptool.py --port COM4 --baud 115000
write_flash --flash_size=detect -fm dio
0 esp8266-201900529-v1.11.bin
Vérification de notre NodeMCU
avec MicroPython
La première vérification se fera avec Thonny l’outil IDE
pour Python et MicroPython. Nous commencerons par
créer un fichier test1.py avec les deux instructions
suivantes :
import sys
print(sys.platform+ " " + sys.version)
et l'exécuter avec le bouton fléché circulaire Run,
coloré vert (ou F5) :
Le premier message indique que l’interpréteur est celui
empaqueté avec Thonny. Nous pourrons l'identifier
avec le menu Outils, Options et Interpréteur :
Passons notre NodeMCU ESP8266, qui est déjà
connecté avec un câble USB, en changeant le mode en
MicroPython (générique)
Nous remarquons que le COM4 a été assigné par
Windows. Nous utiliserons à nouveau le bouton
Exécuter coloré vert (ou F5) :
Nous sommes cette fois-ci sur notre ESP8366.
Le script sera ainsi interprété :
 Installation d’autre IDE MicroPython – uPyCraft
Vous pouvez aussi programmer la carte ESP32 ou
ESP8266 à l'aide du micrologiciel MicroPython, on
utilisant l’IDE uPyCraft.
o Avant d'installer uPyCraft IDE, assurez-vous
que la dernière version de Python 3.7.X est
installée sur votre ordinateur
o Télécharger l’IDE uPyCraft pour Windows
 Flasher le firmware MicroPython avec uPyCraft
Avec uPyCraft IDE installé sur votre ordinateur,
vous pouvez facilement flasher vos cartes ESP32
ou ESP8266 avec le micrologiciel MicroPython.
o Télécharger la dernière version du
micrologiciel MicroPython pour votre carte
o Sélectionner le port série, dans notre cas, il
s’agit du port COM5.
o Sélectionner votre carte
o Enfin, allez au menu Outils > BurnFirmware
pour flasher votre carte avec MicroPython.
o Sélectionnez toutes ces options pour flasher
la carte puis choisissez le fichier *.bin
téléchargé précédemment.
o Valider par ok pour commencer le processus
Remarques :
 Sélectionnez toutes ces options pour flasher
s’il s’agit de la carte ESP32 :
 Si la barre vous voyez un message d'erreur disant
erase false Cela signifie que votre carte n'était pas en
mode flashage. Vous devez répéter toutes les étapes
décrites précédemment et maintenir enfoncé le
bouton BOOT / FLASH.
Atelier 1 : Led clignotant
Montage
Atelier 1 : Led clignotant
(Système automatisé)
Code
Pour utiliser les broches GPIO du
NodeMCU ESP8266 avec le code
MicroPython, vous devez les adresser
en utilisant le numéro d'index d'E / S
plutôt que le numéro de broche GPIO.
Atelier 2 : Commander une
LED via une page Web
(Objet communiquant)
On commence par importer le module Network
import network
La classe WLAN du module network contient toutes les
méthodes de gestion réseau. Le module ESP8266/ESP peut se
comporter comme un point d’accès (mode network.AP_IF) ou
comme un client (mode network.STA_IF). On va créer une
instance de l’objet Wifi de type network.STA_IF.
station = network.WLAN(network.STA_IF)
On doit ensuite activer l’interface Wifi à l’aide de la méthode
station.active(True)
Il ne reste plus qu’à nous connecter à un réseau Wifi à l’aide
de la méthode connect(). Elle a besoin du nom du réseau
ainsi que le mot de passe. En retour la fonction renvoi
l’adresse IP attribuée par le serveur DHCP au module.
On dispose de plusieurs
méthodes utilises pour tester
l’état de la connexion Wifi :
• isconnected(), permet de
savoir si le module est
connecté au réseau
• ifconfig(), permet de récupérer
l’adresse IP du module,
l’adresse IP du routeur DHCP
Atelier 3 :
Commander une LED via une
application mobile
(Objet communiquant)
Montage
Atelier 4 : Commander une LED via une
application mobile (objet connecté - IoT)
Montage
Atelier 4 : Commander une LED via une
application mobile (objet connecté - IoT)
Pour la gestion des périphériques, la collecte de
données, le traitement et la visualisation de vos projets
IoT, on a besoin une plate-forme IoT. Une plateforme est
donc un ensemble d’APIs et drivers de communication,
de bases de données, de services de traitements et de
calculs et bien souvent un web service pour générer des
tableaux de bords de visualisation et d’exploitation.
Comment choisir une plateforme IoT ?
Chaque plateforme dispose d’avantages
spécifiques en fonction de leurs services. Il
existe deux types de plateformes :
• Les propriétaires
• Les open-source.
ThingSpeak, plate-forme gratuite pour l'Internet des objets (IoT)
Avec ThingSpeak, l'utilisateur peut créer des applications
d'enregistrement de données capteurs, des applications de suivi
d'emplacements et un réseau social pour objets connectés,
avec mises à jour de l'état.
Premiers pas dans ThingSpeak
1. Créez votre compte
Pour pouvoir télécharger les données sur ThingSpeak
à des fins d'analyse et de traitement, vous devez créer
votre compte.
2. Créez un nouveau canal
Vous devrez saisir les détails du nouveau canal créé.
Par exemple, vous pouvez utiliser le nom du projet sur
lequel vous travaillez comme nom du canal. En cas de
doute, vous pouvez laisser certaines options vides
3. Recherchez la clé API correspondant à votre canal.
Atelier 5 : Transmettre des données de
capteur DHT11 vers l’application Android.
(objet connecté - IoT)
Montage

IoT.pptx

  • 1.
    Formateur : M.Zouari Lazhar Internet des Objets
  • 2.
    Définition d’Internet desObjets (IdO) Plus connu sous son sigle anglais IoT (Internet of Things), est un réseau de dispositif physique de véhicules, de bâtiments, ..., intégrant des dispositifs électroniques, logiciels, capteurs et connectivité de réseau permettant à ces objets de recueillir et de transmettre des données via l’Internet
  • 3.
  • 4.
  • 5.
    Les 5 étapesd’un projet IoT
  • 6.
  • 7.
  • 8.
    Les technologies decommunication
  • 9.
    Les systèmes automatisés Dansles systèmes automatisés, on trouve des interfaces programmable (partie commande de système) qui font le lien entre les capteurs (acquisition du signal) et les actionneurs qui réalisent les actions (transformation d’énergie)
  • 10.
    Capteur Un capteur estun dispositif électronique transformant l'état d'une grandeur physique observée en une grandeur utilisable (signal électrique) • train d'impulsions, avec un nombre précis d'impulsions ou avec une fréquence précise • code numérique binaire
  • 11.
    Actionneur Un actionneur estun objet qui transforme l’énergie qui lui est fournie en un phénomène physique.
  • 12.
    Les interfaces Programmables Uninterface programmables est généralement construit autour d'un microcontrôleur et de composants complémentaires qui facilitent la programmation et l'interfaçage avec d'autres circuits. Architecture AVR Architecture ARM
  • 13.
  • 14.
    L’ESP8266 L’ESP8266 est uncircuit intégré à microcontrôleur avec connexion Wi-Fi. Les variantes ont toutes des spécificités. Certaines auront plus de broches de GPIO accessibles d'autres auront plus de mémoire flash disponible.
  • 15.
    L’ESP8266 L’ESP8266 peut seprogrammer 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 – En C, avec le SDK d’Espressif – En Go, avec le framework Gobot
  • 17.
    MicroPython pour leESP8266 1. Préparation et installation des outils  Installation de driver CP2102 Lors du branchement du câble USB sur le NodeMCU, il faudra utiliser Gérer dans l'explorateur de fichiers de Windows sous pour découvrir quelque chose comme : indiquant que le port COM4 est ici utilisé. Si le port COM n'est pas identifiable, il faudrait envisager d'installer le driver USB depuis Silicon Lab.
  • 18.
     Installation d’unIDE Python - Thonny Si vous souhaitez programmer la carte ESP32 ou ESP8266 avec le micrologiciel MicroPython, il est très pratique d’utiliser un IDE. Dans cette formation, je vous présente Thonny IDE. Thonny est un IDE pour débutant, c’est l’outil idéal pour les microcontrôleurs du type ESP8266 ou ESP32 avec un firmware MicroPython.
  • 19.
     Installer esptool Pourinstaller le firmware MicroPython sur votre carte, vous aurez besoin des outils esptool d’Espressif. Dans l’invite de commande exécutez simplement la commande suivante : pip install esptool
  • 20.
    2. Installation dufirmware MicroPython Avant de passer à l’installation de MicroPython, il faudra se rendre compte que le firmware original du NodeMCU sera écrasé.  télécharger la dernière version du firmware pour ESP8266 ou ESP32.  Effacer la mémoire flash de la carte, pour cela exécutez cette commande : esptool.py --chip esp8266 erase_flash
  • 21.
     Placez vousdans le répertoire de téléchargement (cd ~/Downloads/) cd c:Iot dans notre cas puis lancez l’installation du firmware avec la commande suivante. N’oubliez pas de remplacer le port COM. esptool.py --port COM4 --baud 115000 write_flash --flash_size=detect -fm dio 0 esp8266-201900529-v1.11.bin
  • 22.
    Vérification de notreNodeMCU avec MicroPython La première vérification se fera avec Thonny l’outil IDE pour Python et MicroPython. Nous commencerons par créer un fichier test1.py avec les deux instructions suivantes : import sys print(sys.platform+ " " + sys.version) et l'exécuter avec le bouton fléché circulaire Run, coloré vert (ou F5) :
  • 23.
    Le premier messageindique que l’interpréteur est celui empaqueté avec Thonny. Nous pourrons l'identifier avec le menu Outils, Options et Interpréteur : Passons notre NodeMCU ESP8266, qui est déjà connecté avec un câble USB, en changeant le mode en MicroPython (générique)
  • 24.
    Nous remarquons quele COM4 a été assigné par Windows. Nous utiliserons à nouveau le bouton Exécuter coloré vert (ou F5) : Nous sommes cette fois-ci sur notre ESP8366. Le script sera ainsi interprété :
  • 25.
     Installation d’autreIDE MicroPython – uPyCraft Vous pouvez aussi programmer la carte ESP32 ou ESP8266 à l'aide du micrologiciel MicroPython, on utilisant l’IDE uPyCraft. o Avant d'installer uPyCraft IDE, assurez-vous que la dernière version de Python 3.7.X est installée sur votre ordinateur o Télécharger l’IDE uPyCraft pour Windows
  • 26.
     Flasher lefirmware MicroPython avec uPyCraft Avec uPyCraft IDE installé sur votre ordinateur, vous pouvez facilement flasher vos cartes ESP32 ou ESP8266 avec le micrologiciel MicroPython. o Télécharger la dernière version du micrologiciel MicroPython pour votre carte o Sélectionner le port série, dans notre cas, il s’agit du port COM5.
  • 27.
    o Sélectionner votrecarte o Enfin, allez au menu Outils > BurnFirmware pour flasher votre carte avec MicroPython.
  • 28.
    o Sélectionnez toutesces options pour flasher la carte puis choisissez le fichier *.bin téléchargé précédemment. o Valider par ok pour commencer le processus
  • 29.
    Remarques :  Sélectionneztoutes ces options pour flasher s’il s’agit de la carte ESP32 :  Si la barre vous voyez un message d'erreur disant erase false Cela signifie que votre carte n'était pas en mode flashage. Vous devez répéter toutes les étapes décrites précédemment et maintenir enfoncé le bouton BOOT / FLASH.
  • 30.
    Atelier 1 :Led clignotant Montage
  • 31.
    Atelier 1 :Led clignotant (Système automatisé) Code
  • 32.
    Pour utiliser lesbroches GPIO du NodeMCU ESP8266 avec le code MicroPython, vous devez les adresser en utilisant le numéro d'index d'E / S plutôt que le numéro de broche GPIO.
  • 33.
    Atelier 2 :Commander une LED via une page Web (Objet communiquant) On commence par importer le module Network import network La classe WLAN du module network contient toutes les méthodes de gestion réseau. Le module ESP8266/ESP peut se comporter comme un point d’accès (mode network.AP_IF) ou comme un client (mode network.STA_IF). On va créer une instance de l’objet Wifi de type network.STA_IF. station = network.WLAN(network.STA_IF)
  • 34.
    On doit ensuiteactiver l’interface Wifi à l’aide de la méthode station.active(True) Il ne reste plus qu’à nous connecter à un réseau Wifi à l’aide de la méthode connect(). Elle a besoin du nom du réseau ainsi que le mot de passe. En retour la fonction renvoi l’adresse IP attribuée par le serveur DHCP au module.
  • 35.
    On dispose deplusieurs méthodes utilises pour tester l’état de la connexion Wifi : • isconnected(), permet de savoir si le module est connecté au réseau • ifconfig(), permet de récupérer l’adresse IP du module, l’adresse IP du routeur DHCP
  • 36.
    Atelier 3 : Commanderune LED via une application mobile (Objet communiquant)
  • 38.
    Montage Atelier 4 :Commander une LED via une application mobile (objet connecté - IoT)
  • 39.
    Montage Atelier 4 :Commander une LED via une application mobile (objet connecté - IoT)
  • 40.
    Pour la gestiondes périphériques, la collecte de données, le traitement et la visualisation de vos projets IoT, on a besoin une plate-forme IoT. Une plateforme est donc un ensemble d’APIs et drivers de communication, de bases de données, de services de traitements et de calculs et bien souvent un web service pour générer des tableaux de bords de visualisation et d’exploitation.
  • 41.
    Comment choisir uneplateforme IoT ? Chaque plateforme dispose d’avantages spécifiques en fonction de leurs services. Il existe deux types de plateformes : • Les propriétaires • Les open-source.
  • 42.
    ThingSpeak, plate-forme gratuitepour l'Internet des objets (IoT) Avec ThingSpeak, l'utilisateur peut créer des applications d'enregistrement de données capteurs, des applications de suivi d'emplacements et un réseau social pour objets connectés, avec mises à jour de l'état.
  • 43.
    Premiers pas dansThingSpeak 1. Créez votre compte Pour pouvoir télécharger les données sur ThingSpeak à des fins d'analyse et de traitement, vous devez créer votre compte. 2. Créez un nouveau canal Vous devrez saisir les détails du nouveau canal créé. Par exemple, vous pouvez utiliser le nom du projet sur lequel vous travaillez comme nom du canal. En cas de doute, vous pouvez laisser certaines options vides
  • 44.
    3. Recherchez laclé API correspondant à votre canal.
  • 46.
    Atelier 5 :Transmettre des données de capteur DHT11 vers l’application Android. (objet connecté - IoT) Montage