Chapitre Prise en Charge ESP32 Sur IDE Arduino
Chapitre Prise en Charge ESP32 Sur IDE Arduino
Chapitre Prise en Charge ESP32 Sur IDE Arduino
Présentation de l’ESP 32
Différentes cartes ESP et choix
Les librairies ARDUINO pour l’ESP
Le câblage de l’ESP
Premier Programme ESP
L'ESP32 est un SOC développé par la société Espressif dédié à l'internet des
objets (IoT) et plus particulierement les communications sans fil Wifi et
Bluetooth pour un coût réduit. Il a été décliné en version module l'ESP-
WROOM-32 qui a lui même été intégré par différents fabricants
(Essentiellement Chinois) sur des cartes de développement
Télécommande infrarouge
Le lien vers le dépôt est ajouté à la liste. Fermer les paramètres en cliquant sur
OK
2020-2021 Roland Christian GAMOM 13/04/2021
11 Installation ESP32 pour IDE Arduino
Ouvrez le gestionnaire de carte depuis le menu Outils(Tools) puis Type de carte (Board…)
Cherchez le SDK avec le mot clé ESP32. Choisissez le package de cartes nommé ESP32 by
Espressif Systems puis cliquez sur installer.
Maintenant que les cartes ESP32 sont gérées depuis le gestionnaire de carte, les librairies
pourront être mises à jour dès qu’une nouvelle version est disponible.
Le framework prend en charge les cartes de développement construites autour des puces suivantes.
GPIO La broche qui déclenche l’événement. C’est la broche que l’on a configuré précédemment
FUNCTION la fonction à exécuter lorsqu’un événement survient
MODE mode de déclenchement
5 modes de déclenchement sont possibles
LOW pour déclencher l’interruption chaque fois que la broche est à l’état bas (LOW)
HIGH pour déclencher l’interruption chaque fois que la broche est à l’état haut (HIGH)
CHANGE pour déclencher l’interruption chaque fois que la broche change d’état. Par exemple
lorsqu’elle passer de HIGH à LOW ou LOW à HIGH
FALLING pour quand la broche passe de HIGH à LOW. C’est la détection du front descendant.
RISING pour déclencher lorsque la broche passe de LOW à HIGH. C’est la détection du front montant.
void setup() {
Serial.begin(115200);
void loop() {
if (interruptCounter > 0) {
portENTER_CRITICAL(&timerMux);
interruptCounter--;
portEXIT_CRITICAL(&timerMux);
totalInterruptCounter++;
}
}
Sd
#include <Preferences.h>
Preferences preferences;
void setup() {
Serial.begin(115200);
Serial.println();
#include <Preferences.h>
Preferences preferences;
void setup() {
Serial.begin(115200);
Serial.println();
// Incremeter counter
counter++;
// Wait 10 seconds
Serial.println(“Redémarage dans 10 secondes...");
delay(10000);
// Restart ESP
ESP.restart();
}
void loop() {}
SPIFFS (Serial Peripheral Interface Flash File Storage), est utilisé pour stocker
des données plus volumineuses sous forme de fichiers.
SPIFFS est comparable à une très petite carte SD intégrée à la puce ESP32
elle-même.
Par défaut, environ 1,5 Mo de mémoire flash intégrée est alloué à SPIFFS.
Vous pouvez le voir par vous-même dans Arduino en ouvrant Outils ->
« Partition scheme » Schéma de partition.
Vous pouvez voir qu'il existe plusieurs autres options de partition disponibles.
La modification du schéma de partition ne sera de toute façon pas
nécessaire pour la plupart de vos applications.
begin
SPIFFS.begin()
This method mounts SPIFFS file system. It must be called before any other FS APIs are used. Returns true if file
system was mounted successfully, false otherwise.
format
SPIFFS.format()
Formats the file system. May be called either before or after calling begin. Returns true if formatting
was successful.
open
SPIFFS.open(path, mode)
Opens a file. path should be an absolute path starting with a slash (e.g. /dir/filename.txt). mode is a
string specifying access mode. It can be one of “r”, “w”, “a”, “r+”, “w+”, “a+”. Meaning of these modes
is the same as for fopen C function.
Returns File object. To check whether the file was opened successfully, use the boolean operator.
File f = SPIFFS.open("/samplefile.txt", "w"); if (!f) { Serial.println("file open failed"); }
rename
SPIFFS.rename(pathFrom, pathTo)
Renames file from pathFrom to pathTo. Paths must be absolute. Returns true if file was renamed successfully.
info
FSInfo fs_info; SPIFFS.info(fs_info);
Fills FSInfo structure with information about the file system. Returns true is successful, false otherwise.
seek
file.seek(offset, mode)
This function behaves like fseek C function. Depending on the value of mode, it moves current position in a file as follows:
seek
file.seek(offset, mode)
This function behaves like fseek C function. Depending on the value of mode, it moves current position in a file as
follows:
•if mode is SeekSet, position is set to offset bytes from the beginning.
•if mode is SeekCur, current position is moved by offset bytes.
•if mode is SeekEnd, position is set to offset bytes from the end of the file.
•Returns true if position was set successfully.
position
file.position(); //Returns the current position inside the file, in bytes.
size
file.size(); //Returns file size, in bytes.
name
String name = file.name(); //Returns file name, as const char*. Convert it to String for storage.
close
file.close();
Close the file. No other operations should be performed on File object after close function was called
2020-2021 Roland Christian GAMOM 13/04/2021
44 Programme Exemple SPIFFS
#include <SPIFFS.h> else
#include <FS.h> //Include File {
System Headers Serial.println(" Initialisation
SPIFFS...Echec");
const char* filename = "/fitest.txt"; }
Serial.println(“Ecritue de
//Créer un nouveau fichier et y données dans le fichier ");
écrire f.print(“Cette phrase est écrite
//w=Write ouvrir fichier pour dans le fichier");
écriture f.close(); //fermer le fichier
File f = SPIFFS.open(filename, "w"); }
if (!f) { }
Serial.println(“Echec ouverture
fichier");
}
else
{
//Write data to file