This commit is contained in:
2023-06-10 20:39:52 +02:00
parent e3a18ef3ea
commit 048b703d05
+67 -6
View File
@@ -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 ».
<img src="./Images/arduino-ide.png" width="500" alt="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.
<img src="./Images/arduino-ide-esp32.png" width="500" alt="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.
<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 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)