From 048b703d05b3f94bf4e64d6ef6562416d75c3083 Mon Sep 17 00:00:00 2001 From: doctor Date: Sat, 10 Jun 2023 20:39:52 +0200 Subject: [PATCH] update --- README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cd98d94..2170709 100644 --- a/README.md +++ b/README.md @@ -263,17 +263,78 @@ G pour le servo moteur. Codes utilisés pour programmer l’ESP32 en utilisant Thonny (MicroPython) : -Boot : [boot.py](ESP-codes/MicroPython/boot.py) +Boot : [boot.py](ESP-codes/MicroPython/boot.py) Ce fichier est responsable de l'initialisation et de la configuration initiale de l'ESP32 au démarrage. Librairies : -- [bme680.py](ESP-codes/MicroPython/bme680.py) -- [ssd1306.py](ESP-codes/MicroPython/ssd1306.py) +- [bme680.py](ESP-codes/MicroPython/bme680.py) Cette bibliothèque contient les fonctions et les classes nécessaires pour interagir avec le capteur BME680. +- [ssd1306.py](ESP-codes/MicroPython/ssd1306.py) Cette bibliothèque contient les fonctions et les classes nécessaires pour interagir avec l'écran OLED. Connection WIFI : -- [wifi.py](ESP-codes/MicroPython/wifi.py) -- [ssid_connect.py](ESP-codes/MicroPython/ssid_connect.py) +- [wifi.py](ESP-codes/MicroPython/wifi.py) Ce fichier gère la connexion à un réseau WiFi en configurant les paramètres de connexion. +- [ssid_connect.py](ESP-codes/MicroPython/ssid_connect.py) Ce fichier contient les identifiants (SSID et mot de passe) du réseau WiFi auquel l'ESP32 doit se connecter. + +Main : [main.py](ESP-codes/MicroPython/main.py) Ce fichier contient le code principal du programme, qui coordonne les différentes fonctionnalités et le comportement de l'ESP32. + +Les librairies utilisées incluent ”Pin, SoftI2C, time, bme680, ssd1306, machine, network, umqtt.robust, sys” qui ont été utilisées pour gérer les capteurs, l’affichage, la +communication réseau et la transmission de données via MQTT. + +#### ESP32 en C + +Sur l’ESP32 fonctionnant que nous avons configuré sur l’IDE d’Arduino, nous avons utilisé +l’écran LCD qui se branche en série. Concernant la configuration de l’IDE d’Arduino, nous +avons tout d’abord ajouté la prise en charge des cartes ESP32 sur Arduino. Pour cela, il +faut se rendre dans les préférences du logiciel (Fichiers > Préférences) et dans la partie +URL de gestionnaire des cartes supplémentaires, il faut ajouter l’URL qui correspond au +gestionnaire de carte ESP32 « https ://dl.espressif.com/dl/package_esp32_index.json ». + +Ajout de l’URL correspondant au gestionnaire de carte ESP32 + +Ensuite, nous avons ajouté la libraire de l’ESP32 dans le gestionnaire de carte, pour cela +aller dans (Outils > Cartes > Gestionnaire de carte). Puis rechercher et installer le gestionnaire de carte correspondant à ESP32. + +Ajout de l’ESP32 dans le gestionnaire de carte + +Une fois l’installation terminée, les cartes ESP32 sont disponibles dans le gestionnaire de +carte. Il reste donc à choisir la bonne carte correspondante à notre ESP32. Dans notre cas, +nous avons une WEMOS D1 MINI ESP32. + +L’image ci-dessous est un schéma qui montre comment l’écran LCD utilisés dans le projet +a été connecté à l’ESP32. On peut voir sur l’image comment les broches de l’ESP32 sont +connectées aux broches de l’écran pour établir une communication en série. + + + +Concernant le branchage, nous avons utilisé une résistance afin de calibrer le contraste de +l’écran LCD, ce qui permet de rendre le texte s’affichant sur l’écran visible. L’affichage sur +écran LCD nécessite un voltage de 5 volts sur le PIN VDD qui est connecté au PIN VIN de +l’ESP32. Enfin, les différents PIN de l’écran LCD sont branchés à l’ESP32 selon le tableau +suivant : + +| ESP32 | Ecran LCD | +|--------------|-----------| +| GND | VSS | +| 5V(VIN) | VDD | +| 4k7Ohm | V0 | +| D19 | RS | +| 4k7Ohm/GND | RW | +| D23 | D0 | +| D19 | D4 | +| TX2 | D5 | +| RX2 | D9 | +| D15 | D7 | +| 5V (VIN) | A | +| GND | K | + +Voici le code utilisé pour programmer l’ESP32 en utilisant l’ide d’Arduino : [main.ino](ESP-codes/C/main.ino) + +Les librairies PubSubClient et LiquidCrystal ont été utilisées pour la communication MQTT et l'utilisation du LCD. + + + + + + -Main : [main.py](ESP-codes/MicroPython/main.py)