This commit is contained in:
doctor 2023-06-10 20:39:52 +02:00
parent e3a18ef3ea
commit 048b703d05

View File

@ -263,17 +263,78 @@ G pour le servo moteur.
Codes utilisés pour programmer lESP32 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, laffichage, la
communication réseau et la transmission de données via MQTT.
#### ESP32 en C
Sur lESP32 fonctionnant que nous avons configuré sur lIDE dArduino, nous avons utilisé
lécran LCD qui se branche en série. Concernant la configuration de lIDE dArduino, nous
avons tout dabord 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 lURL qui correspond au
gestionnaire de carte ESP32 « https ://dl.espressif.com/dl/package_esp32_index.json ».
<img src="./Images/arduino-ide.png" width="500" alt="Ajout de lURL correspondant au gestionnaire de carte ESP32">
Ensuite, nous avons ajouté la libraire de lESP32 dans le gestionnaire de carte, pour cela
aller dans (Outils > Cartes > Gestionnaire de carte). Puis rechercher et installer le gestionnaire de carte correspondant à ESP32.
<img src="./Images/arduino-ide-esp32.png" width="500" alt="Ajout de lESP32 dans le gestionnaire de carte">
Une fois linstallation 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.
Limage ci-dessous est un schéma qui montre comment lécran LCD utilisés dans le projet
a été connecté à lESP32. On peut voir sur limage comment les broches de lESP32 sont
connectées aux broches de lécran pour établir une communication en série.
<img src="./Images/Esp32_2.png" width="500">
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 saffichant sur lécran visible. Laffichage sur
écran LCD nécessite un voltage de 5 volts sur le PIN VDD qui est connecté au PIN VIN de
lESP32. Enfin, les différents PIN de lécran LCD sont branchés à lESP32 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 lESP32 en utilisant lide dArduino : [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)