| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| microc:arduino:spiffs [2023/08/18 16:09] – [4.3 Code] phil | microc:arduino:spiffs [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| |
| |
| ====== ESP - Le système de fichiers LittleFS ====== | ====== Microcontrôleurs - ESP - Le système de fichiers LittleFS ====== |
| {{ :arduino:memoire:esp8266-spiffs-file-system.jpg?nolink&350|}} | {{ :arduino:memoire:esp8266-spiffs-file-system.jpg?nolink&350|}} |
| [Mise à jour le 18/8/2023] | [Mise à jour le 18/8/2023] |
| On pourra donc écrire : **/img/logo.png** comme nom de fichier pour simuler un fichier logo.png situé dans un répertoire img. | On pourra donc écrire : **/img/logo.png** comme nom de fichier pour simuler un fichier logo.png situé dans un répertoire img. |
| |
| <callout type="warning" title="Chemin de fichier" icon="true">Le chemin de fichier doit toujours commencer par le caractère '**/**'.La **taille maximum** d'un nom de fichier est **31** (32 moins le caractère de fin de chaîne du C/C++ '\0'.</callout> | <callout type="warning" color="red" title="Chemin de fichier" icon="true">Le chemin de fichier doit toujours commencer par le caractère '**/**'.La **taille maximum** d'un nom de fichier est **31** (32 moins le caractère de fin de chaîne du C/C++ '\0'.</callout> |
| |
| Le système de fichiers **LittleFS** (utilisé dans l'IDE PlatformIO) est une amélioration de **SPIFFS**. Les différences existantes entre SPIFFS et LittleFS sont décrites dans la rubrique <html><a href="https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html" target="_blank">"Système de fichiers d'un ESP8266"</a></html>. | Le système de fichiers **LittleFS** (utilisé dans l'IDE PlatformIO) est une amélioration de **SPIFFS**. Les différences existantes entre SPIFFS et LittleFS sont décrites dans la rubrique <html><a href="https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html" target="_blank">"Système de fichiers d'un ESP8266"</a></html>. \\ \\ |
| |
| ===1.2 La flash de l'ESP8266 === | ===1.2 La flash de l'ESP8266 === |
| |
| === 2.1 Arduino === | === 2.1 Arduino === |
| <callout type="warning" title="Téléchargement" icon="true">Le **téléchargement de fichiers** à partir du PC dans la zone mémoire du système de fichiers des ESP8266 et ESP32 nécessite l'installation de plugins dans l'éditeur Arduino.</callout> | <callout type="warning" color="red" title="Téléchargement" icon="true">Le **téléchargement de fichiers** à partir du PC dans la zone mémoire du système de fichiers des ESP8266 et ESP32 nécessite l'installation de plugins dans l'éditeur Arduino.</callout> |
| |
| * **Téléchargement** | * **Téléchargement** |
| - Des fichiers du site (HTML, CSS, JavaScript) | - Des fichiers du site (HTML, CSS, JavaScript) |
| - Du code C++ (croquis Arduino ou main.cpp dans platformIO) | - Du code C++ (croquis Arduino ou main.cpp dans platformIO) |
| | \\ |
| === 4.1 Fichiers du site === | === 4.1 Fichiers du site === |
| |
| <callout type="warning" icon="true">Pour être téléchargés dans la zone mémoire du système de fichiers, les fichiers doivent être placés dans un sous-répertoire **data** du répertoire du croquis Arduino ou du projet PlatformIO.</callout> | <callout type="warning" color="red" icon="true">Pour être téléchargés dans la zone mémoire du système de fichiers, les fichiers doivent être placés dans un sous-répertoire **data** du répertoire du croquis Arduino ou du projet PlatformIO.</callout> |
| |
| * **Téléchargement à partir du croquis Arduino** {{ :arduino:memoire:exsiteweb.png?nolink|}} \\ Cliquer sur {{:arduino:memoire:pluginesp8266.png|}} dans le menu **Outils** de l'IDE Arduino pour que les fichiers situés dans //data// soient transférés dans la mémoire du système de fichiers. \\ // Exemple// {{ :arduino:memoire:fichsite.png?nolink|}} | * **Téléchargement à partir du croquis Arduino** {{ :arduino:memoire:exsiteweb.png?nolink|}} \\ Cliquer sur {{:arduino:memoire:pluginesp8266.png|}} dans le menu **Outils** de l'IDE Arduino pour que les fichiers situés dans //data// soient transférés dans la mémoire du système de fichiers. \\ // Exemple// {{ :arduino:memoire:fichsite.png?nolink|}} |
| |
| {{ :arduino:uc:platformioico.png?nolink&50|}} | {{ :arduino:uc:platformioico.png?nolink&50|}} |
| * **Téléchargement à partir du projet platformIO (VSCode)** \\ Cliquer sur **Upload Filesystem Image** pour que les fichiers situés dans //data// soient transférés dans la mémoire du système de fichiers. | * **Téléchargement à partir du projet platformIO (VSCode)** \\ Cliquer sur **Upload Filesystem Image** pour que les fichiers situés dans //data// soient transférés dans la mémoire du système de fichiers. \\ \\ |
| |
| === 4.2 Algorithme === | === 4.2 Algorithme === |
| <strong>fin</strong> | <strong>fin</strong> |
| </pre></html> | </pre></html> |
| | \\ |
| | |
| === 4.3 Code === | === 4.3 Code === |
| } | } |
| </code> | </code> |
| |
| * **Projet PlatformIO** | |
| |
| {{ :arduino:uc:platformioico.png?nolink&50|}} | {{ :arduino:uc:platformioico.png?nolink&50|}} |
| |
| === 5.1 Afficher le contenu d'un fichier === | === 5.1 Afficher le contenu d'un fichier === |
| | A faire |
| | \\ |
| === 5.2 Écrire dans un fichier === | === 5.2 Écrire dans un fichier === |
| | A faire |
| | \\ |
| === 5.3 Interface Web dynamique (Mini Serre) === | === 5.3 Interface Web dynamique (Mini Serre) === |
| * **Exemple 1** | * **Exemple 1** |
| |
| {{ :arduino:uc:platformioico.png?nolink&50|}} | {{ :arduino:uc:platformioico.png?nolink&50|}} |
| <note><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_Interface_Web_Dyn.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode. Le téléchargement des fichiers du site, situés dans data, se fait avec **Upload Filesystem Image**. Le SSID et le mot de passe du réseau doivent avoir été préalablement chargés dans l'eeprom émulée avec ce <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_ESP_infosClientMQTT.zip" target="_blank">croquis</a></html>.</note> | <callout type="tip" title="PlatformIO" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_Interface_Web_Dyn.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode. Le téléchargement des fichiers du site, situés dans data, se fait avec **Upload Filesystem Image**. Le SSID et le mot de passe du réseau doivent avoir été préalablement chargés dans l'eeprom émulée avec ce <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_ESP_infosClientMQTT.zip" target="_blank">croquis</a></html>.</callout> |
| |
| * **Exemple 2** : Mini Serre | * **Exemple 2** : Mini Serre |
| {{ :arduino:memoire:demoserre.png?nolink&250 |}} | {{ :arduino:memoire:demoserre.png?nolink&250 |}} |
| {{ :arduino:uc:platformioico.png?nolink&50|}} | {{ :arduino:uc:platformioico.png?nolink&50|}} |
| <note><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_DEMO_SERRE.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode. Le téléchargement des fichiers du site, situés dans data, se fait avec **Upload Filesystem Image**. Le SSID et le mot de passe du réseau doivent avoir été préalablement chargés dans l'eeprom émulée avec ce <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_ESP_infosClientMQTT.zip" target="_blank">croquis</a></html>.</note> | <callout type="tip" title="PlatformIO" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_ESP8266_DEMO_SERRE.zip" target="_blank">Télécharger</a></html> le projet PlatformIO pour VSCode. Le téléchargement des fichiers du site, situés dans data, se fait avec **Upload Filesystem Image**. Le SSID et le mot de passe du réseau doivent avoir été préalablement chargés dans l'eeprom émulée avec ce <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_ESP_infosClientMQTT.zip" target="_blank">croquis</a></html>.</callout> |
| === 5.4 Serveur FTP === | === 5.4 Serveur FTP === |
| | A faire |