Institut Supérieur des Technologies de l’Information et de la Communication
Département Informatique
Classe : LGLSI3 Module : Data Science et IoT Elément : Développement IoT
Réalisé par : Mohamed Seifeddine AZZABI, Farah Mnif Année universitaire : 2023-2024
TP N°2: Objet Connecté, Tableau de Bord
Objectifs : Outils : Documentation :
•
•
Brancher le capteur DHT22 sur l'ESP32.
Développer l'ESP32 avec l'Arduino IDE.
•
•
Wokwi simulator
Arduino IDE
• Wokwi Simulator:
• Créer un objet connecté utilisant MQTT. • NodeRED [Link]
• Mettre en place une solution IoT pour collecter les données de l'objet • ESP32
• Documentation DHT22:
•
connecté via MQTT.
Créer un tableau de bord affichant l'historique des températures sous • DHT22 [Link]
forme d'histogramme.
• PubSubClient library :
[Link]
Activité 1 : Capteur DHT22
En utilisant la documentation suivante : [Link]
1. Identifier si le type signal générer par DHT22 est : Numérique ou Analogique
2. Quelles sont les données générer par DHT22 ? spécifier le type de données
3. Chercher sur Internet le Sampling Rate – Fréquence d’échantillonnage-
4. Remplir le tableau suivant :
PIN Utilisation
1
2
3
4
Activité 2 : ESP32
En utilisant la documentation suivante :
[Link]
1. Identifier les numéros de PIN correspondants
PIN Utilisation Description
GND
3V3
Entrée numérique
Entrée analogique
2. Identifier les types de réseau supporter par cette carte
Mohamed Seifeddine AZZABI & Farah Mnif TP N°2 Objet Connecté, ESP32 & DHT22
Activité 3 : Arduino IDE et Wokwi
Code Arduino
Soit le code Arduino suivant :
void setup() {
// put your setup code here, to run once:
[Link](115200);
[Link]("Hello, ESP32!");
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
1. Expliquer le rôle de chaque instruction
void setup
void loop
[Link]
[Link]
Simulateur Wokwi
1. Utiliser le simulateur Wokwi : [Link]
2. Créer un nouveau projet ESP32 Start from Scratch ( [Link] )
3. Créer un script Arduino permettant d’afficher Bonjour « i », chaque 3 secondes
• i est un compteur initialiser à 6
• Il ne faut pas utiliser les boucles FOR et WHILE
4. Exécuter le programme en utilisant le play en vert
Activité 4 : ESP32 et DHT22
1. Utiliser le simulateur Wokwi : [Link]
2. Créer un nouveau projet ESP32 Start from Scratch
3. En utilisant le plus en mauve , ajouter un capteur DHT22
4. Relier les différentes PIN du capteur à la carte.
5. En utilisant la « Library Manager », Importer la bibliothèque « DHT sensor library for ESPx »
6. Chercher sur internet la documentation de la bibliothèque
7. Créer un code permettant d’afficher la température et l’humidité chaque 3 secondes
Activité 5 : ESP32 et MQTT
1. Utiliser le simulateur Wokwi : [Link]
2. Créer un nouveau projet ESP32 Start from Scratch
3. En utilisant la « Library Manager », Importer la bibliothèque « PubSubClient»
4. En utilisant la documentation officielle : [Link] , créer un code
permettant de publier un message chaque 3 secondes
Broker [Link]
TOPIC /lglsi3/message/
MESSAGE « Votre nom »
Mohamed Seifeddine AZZABI & Farah Mnif TP N°2 Objet Connecté, ESP32 & DHT22
• Il faut utiliser la bibliothèque WiFi.h
• Pour se connecter au Wifi utiliser les paramètres suivants.
SSID 'Wokwi-GUEST'
Password ''
Activité 6 : Objet connecté
• En utilisant la carte ESP32 et un capteur DHT22
• Créer un script permettant de publier la température et l’humidité chaque 3 secondes
Broker [Link]
TOPIC température /lglsi3/iot/temperature/
MESSAGE Valeur de température
TOPIC humidité /lglsi3/iot/humidity
MESSAGE Valeur de l’humidité
Activité 7 : Solution IoT (step by step)
1. Créer un flow NodeRED qui permet de récupérer les données de l'objet connecté créé dans l'activité 6,
en utilisant MQTT.
a. Afficher les données sous forme d'histogramme.
➔ Tester la solution IoT en envoyant des données depuis l'objet connecté. Vérifier également que
l'affichage de l'historique des températures fonctionne correctement.
Activité 8: Mise en Pratique sur Carte ESP32 Réelle
Objectif :
Réaliser le TP sur une carte ESP32 réelle en utilisant l'Arduino IDE.
Étape 1: Préparation de l'Environnement
1. Assurez-vous que l'Arduino IDE est installé sur votre ordinateur.
2. Connectez votre carte ESP32 au PC à l'aide d'un câble USB.
Étape 2: Configuration de l'IDE
3. Ouvrez l'Arduino IDE.
4. Allez dans "Outils" > "Type de Carte" et sélectionnez "ESP32 Dev Module".
5. Choisissez le port correct sous "Outils" > "Port".
Étape 3: Activité 4 - ESP32 et DHT22
6. Reprenez l'activité 4, mais cette fois-ci utilisez votre carte ESP32 réelle.
7. Connectez le DHT22 à votre ESP32 en utilisant les numéros de PIN déterminés précédemment.
8. Dans l'Arduino IDE, importez la bibliothèque "DHT sensor library for ESPx" via le "Gestionnaire de
Bibliothèques".
9. Modifiez le code Arduino pour afficher la température et l'humidité toutes les 3 secondes.
Mohamed Seifeddine AZZABI & Farah Mnif TP N°2 Objet Connecté, ESP32 & DHT22
10. Téléversez le code sur votre ESP32 en cliquant sur le bouton "Téléverser".
Étape 4: Activité 5 - ESP32 et MQTT
11. Reprenez l'activité 5 en adaptant le code pour votre ESP32 réelle.
12. Utilisez la bibliothèque "PubSubClient" via le "Gestionnaire de Bibliothèques".
13. Modifiez le code pour se connecter à votre réseau WiFi avec les bons identifiants.
14. Changez le code pour publier un message sur le broker MQTT toutes les 3 secondes.
Étape 5: Activité 6 - Objet Connecté
15. Reprenez l'activité 6 et adaptez le script pour votre ESP32 réelle.
16. Connectez votre ESP32 au capteur DHT22.
17. Modifiez le code pour publier la température et l'humidité toutes les 3 secondes sur les bons topics
MQTT.
Étape 6: Test sur NodeRED
18. Reprenez l'activité 7, mais cette fois-ci, utilisez les données de votre ESP32 réelle.
19. Modifiez le flow NodeRED pour s'abonner aux topics MQTT de votre ESP32.
20. Assurez-vous que les données sont affichées correctement sous forme d'histogramme.
Étape 7: Validation
21. Testez l'ensemble de votre solution IoT en vérifiant que les données de température et d'humidité sont
correctement transmises à NodeRED depuis votre ESP32 réelle.
22. Vérifiez que l'affichage de l'historique des températures fonctionne correctement.
Conseils :
• Si vous rencontrez des problèmes, consultez les messages d'erreur dans l'Arduino IDE.
• Assurez-vous que votre ESP32 est correctement alimentée et que le câble USB est fonctionnel.
• Référez-vous à la documentation spécifique de votre carte ESP32 pour des détails supplémentaires.
Mohamed Seifeddine AZZABI & Farah Mnif TP N°2 Objet Connecté, ESP32 & DHT22