ESP32 VS Code PlatformIO : télécharger des fichiers vers le système de fichiers SPIFFS

ESP32 VS Code PlatformIO : télécharger des fichiers vers le système de fichiers SPIFFS

Apprenez à télécharger des fichiers sur le système de fichiers de la carte ESP32 (SPIFFS) à l’aide de VS Code avec l’extension PlatformIO IDE (rapide et facile). L’utilisation du système de fichiers avec l’ESP32 peut être utile pour enregistrer des fichiers HTML, CSS et JavaScript pour créer un serveur Web au lieu d’avoir à tout écrire à l’intérieur de l’esquisse Arduino.

ESP32 avec VS Code et PlatformIO : télécharger des fichiers vers le système de fichiers SPIFFS

Si vous utilisez l’IDE Arduino, suivez plutôt ce didacticiel : Installez ESP32 Filesystem Uploader dans l’IDE Arduino.

Présentation des SPIFF

L’ESP32 contient un système de fichiers flash d’interface périphérique série (SPIFFS). SPIFFS est un système de fichiers léger créé pour les microcontrôleurs avec une puce flash, qui sont connectés par un bus SPI, comme la mémoire flash ESP32.

SPIFFS vous permet d’accéder à la mémoire flash comme vous le feriez dans un système de fichiers normal de votre ordinateur, mais plus simple et plus limité. Vous pouvez lire, écrire, fermer et supprimer des fichiers. SPIFFS ne prend pas en charge les répertoires, donc tout est enregistré sur une structure plate.

Utiliser SPIFFS avec le Carte ESP32 est particulièrement utile pour :

  • Créez des fichiers de configuration avec des paramètres ;
  • Enregistrer les données de façon permanente ;
  • Créez des fichiers pour enregistrer de petites quantités de données au lieu d’utiliser une carte microSD ;
  • Enregistrez les fichiers HTML, CSS et JavaScript pour créer un serveur Web ;
  • Enregistrez des images, des chiffres et des icônes ;
  • Et beaucoup plus.

Télécharger des fichiers vers ESP32 SPIFFS

Les fichiers que vous souhaitez télécharger sur le système de fichiers ESP32 doivent être placés dans un dossier appelé Les données sous le dossier du projet. Pour que vous compreniez comment tout fonctionne, nous allons télécharger un .SMS fichier avec du texte aléatoire. Vous pouvez télécharger n’importe quel autre type de fichier.

Si vous n’êtes pas familier avec VS Code + PlatformIO, suivez d’abord le tutoriel suivant :

Création d’un dossier de données

Créez un dossier nommé Les données dans votre dossier de projet. Cela peut être fait sur VS Code.
Avec votre souris, sélectionnez le dossier du projet sur lequel vous travaillez. Clique sur le Nouveau dossier icône pour créer un nouveau dossier.

Ce nouveau dossier doit s’appeler Les données, sinon, ça ne marchera pas.

Créer un dossier de données VS Code PlatformIO ESP32

Ensuite, sélectionnez le nouveau Les données dossier et créez les fichiers que vous souhaitez télécharger en cliquant sur le Nouveau fichier icône. Dans cet exemple, nous allons créer un fichier appelé texte.txt. Vous pouvez créer et télécharger tout autre type de fichier comme .html, .css ou .js fichiers, par exemple.

Créer des fichiers sous le dossier de données VS Code avec PlatformIO ESP32

Écrivez du texte au hasard à l’intérieur .SMS déposer.

le Les données dossier doit être sous le dossier du projet et les fichiers que vous souhaitez télécharger doivent être à l’intérieur du Les données dossier. Sinon, ça ne marchera pas.

Créer un fichier texte VS Code PlatformIO ESP32

Téléchargement de l’image du système de fichiers

Après avoir créé et enregistré le ou les fichiers que vous souhaitez télécharger sous le Les données dossier, suivez les étapes suivantes :

  1. Cliquez sur l’icône PIO dans la barre latérale gauche. Les tâches du projet doivent s’ouvrir.
  2. Sélectionner env:esp32doit-devkit-v1 (cela peut être légèrement différent selon la carte que vous utilisez).
  3. Élargir le Plate-forme menu.
  4. Sélectionner Créer un système de fichiersm Image.
  5. Enfin, cliquez Télécharger l’image du système de fichiers.
Télécharger l'image du système de fichiers VS Code PlatformIO ESP32

Important: pour télécharger l’image du système de fichiers avec succès, vous devez fermer tous les ports série
connexions (Serial Monitor) avec votre carte.

Au bout d’un moment, vous devriez recevoir un message de réussite.

1642826164 105 ESP32 VS Code PlatformIO telecharger des fichiers vers le systeme

Dépannage

Voici quelques erreurs courantes :

Impossible d’ouvrir le port « COMX » L’accès est refusé.

Télécharger l'image du système de fichiers ESP32 VS Code PlatformIO Access Denied Error

Cette erreur signifie que vous avez une connexion série ouverte avec votre carte dans VS Code ou dans tout autre programme. Fermez tout programme susceptible d’utiliser le port série de la carte et assurez-vous de fermer toutes les connexions série dans VS Code (cliquez sur l’icône de la corbeille sur la console du terminal).

VS Code PlatformIO Fermer la fenêtre du terminal

Expiration du délai d’attente pour l’erreur d’en-tête de paquet

Expiration du délai d'attente pour l'erreur d'en-tête de paquet VS Code PlatformIO

Si vous commencez à voir beaucoup de points sur la fenêtre de débogage et que l’image du système de fichiers ne parvient pas à se télécharger, vous devez appuyer sur le bouton de démarrage intégré une fois que vous commencez à voir les points.

Pour résoudre définitivement ce problème, lisez l’article suivant :

Essai

Maintenant, vérifions simplement si le fichier a bien été enregistré dans le système de fichiers ESP32. Copiez le code suivant dans le main.cpp fichier et téléchargez-le sur votre tableau.

/*********
  Rui Santos
  Complete project details at https://Raspberryme.com/esp32-vs-code-platformio-spiffs/  
*********/

#include <Arduino.h>
#include "SPIFFS.h"
 
void setup() {
  Serial.begin(9600);
  
  if(!SPIFFS.begin(true)){
    Serial.println("An Error has occurred while mounting SPIFFS");
    return;
  }
  
  File file = SPIFFS.open("/text.txt");
  if(!file){
    Serial.println("Failed to open file for reading");
    return;
  }
  
  Serial.println("File Content:");
  while(file.available()){
    Serial.write(file.read());
  }
  file.close();
}
 
void loop() {

}

Afficher le code brut

Vous devrez peut-être modifier la ligne suivante en fonction du nom de votre fichier.

File file = SPIFFS.open("/text.txt");

Ouvrez le moniteur série et il devrait imprimer le contenu de votre fichier.

Lecture du contenu du fichier SPIFFS ESP32 VS Code PlatformIO

Vous avez téléchargé avec succès des fichiers sur le système de fichiers ESP32 (SPIFFS) à l’aide de VS Code + PlatformIO.

Conclusion

Avec ce didacticiel, vous avez appris à télécharger des fichiers sur le système de fichiers ESP32 (SPIFFS) à l’aide de VS Code + PlatformIO. C’est rapide et facile.

Cela peut être particulièrement utile pour télécharger des fichiers HTML, CSS et JavaScript afin de créer des projets de serveur Web avec les cartes ESP32.

Nous avons un tutoriel similaire pour le ESP8266 NodeMCU : ESP8266 NodeMCU avec VS Code et PlatformIO : Upload Files to Filesystem (LittleFS)

En savoir plus sur l’ESP32 avec nos ressources :