ESP8266. Téléverser le dossier data (SPIFFS ou LittleFS) depuis PlatformIO

Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Table des matières

Il est nécessaire d’installer des outils complémentaires à l’IDE Arduino avant de pouvoir téléverser des fichiers SPIFFS ou LittleFS (depuis la version 2.6.0 du SDK ESP8266). Il n’y a rien de tel à faire avec PlatformIO. PIO intègre la commande Upload File System Image accessible depuis la barre latérale. Pour activer LittleFS, il faudra simplement ajouter dans le fichier de configuration l’option board_build.filesystem = littlefs!

 

Il n’est pas possible d’utiliser directement un projet Arduino avec PlatformIO, lisez ce tutoriel qui explique comment migrer un projet ESP32, ESP8266 (ou n’importe quelle autre plateforme) développé avec l’IDE Arduino

A LIRE AUSSI :
Migrer un projet de l'IDE Arduino vers PlatformIO. ESP32, ESP8266 ou autre

Mettre à jour le SDK ESP8266 à la v2.6.0 ou supérieur

LittleFS est supporté à partir de la version 2.6.0 du SDK ESP8266.

Si les fichiers à téléverser sont au format SPIFFS, il faut d’abord mettre à jour le SDK Espressif ESP8266.

Mettre à jour le SDK ESP8266 pour PlatofrmIO PIO supérieur à v2.6.0 avec le support LittleFS

Déplacer (créer) le dossier data dans un projet PIO

Le dossier data qui contiendra tous les fichiers à téléverser sur la mémoire flash de l’ESP8266 doit se trouver au même niveau que le dossier src.

Voici un exemple d’arborescence

Structure d'un projet PlatformIO PIO ESP8266 avec un dossier data contenant des fichiers LittleFS SPIFFS

Il est également possible de spécifier manuellement l’emplacement du dossier en ajoutant la clé data_dir dans le fichier platformio.ini

Comment modifier la taille du système de fichier (board_build.ldscript)

Avec l’IDE Arduino, il est très facile de choisir la taille de la zone de fichier depuis le menu Tools -> Flash Size

Sélectionner la dimension de la zone mémoire de l'ESP8266 depuis le menu outil de l'IDE Arduino

Pour spécifier la taille du File System (FS), il suffit d’ajouter l’option board_build.ldscript et de  spécifier la valeur sous la forme eagle.flash.***.ld

Toutes les configurations disponibles sont ici.

Voici un exemple pour un LoLin d1 mini équipée de 4Mo de mémoire Flash dont 3Mo sera attribué au système de fichier LittleFS.

[env:d1_mini_lite]
platform = espressif8266
board = d1_mini_lite
board_build.ldscript = eagle.flash.4m3m.ld

Activer le support de LittleFS dans le fichier Platform.io

Par défaut le fichiers sont téléversés au format SPIFFS. Pour activer le support de LittleFS, il faudra ajouter au fichier de configuration l’option

board_build.filesystem = littlefs

Ce qui donne par exemple pour la LoLin d1 mini

[env:d1_mini_lite]
platform = espressif8266
board = d1_mini_lite
board_build.filesystem = littlefs
board_build.ldscript = eagle.flash.4m3m.ld
framework = arduino
monitor_speed = 115200

Vous pouvez noter au passage l’option monitor_speed = 115200 qui permet de spécifier la vitesse du moniteur série. Bien évidemment, la valeur doit correspondre à la vitesse spécifiée dans la commande Serial.begin() dans le code Arduino.

Téléverser les fichiers LittleFS (ou SPIFFS)

Tout comme pour l’IDE Arduino, il faut téléverser manuellement les fichiers SPIFFS et LittleFS dans la zone mémoire.

C’est la même commande dans les deux cas. PIO détermine le format de fichier à l’aide de l’option board_build.filesystem

On téléverse les fichiers depuis le menu PIO à l’aide de la l’option Upload File System Image ou en ligne de commande platformio run –target uploadfs

upload file system image esp8266 littlefs spiffs pio platformio tool

Un Terminal permet de suivre le bon déroulement de l’opération. Si vous n’avez qu’une seule carte ESP8266 connectée, PIO la détecte automatiquement.

Vous pouvez voir ici que PIO a généré un binaire nommé littlefs.bin, il contient tous les fichiers du dossier data.

Processing d1_mini_lite (platform: espressif8266; board: d1_mini_lite; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------
PackageManager: Installing tool-mklittlefs @ ~1.203.0
tool-mklittlefs @ 1.203.200522 has been successfully installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_lite.html
PLATFORM: Espressif 8266 2.6.2 > WeMos D1 mini Lite
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES: 
 - framework-arduinoespressif8266 3.20704.0 (2.7.4) 
 - tool-esptool 1.413.0 (4.13) 
 - tool-esptoolpy 1.20800.0 (2.8.0) 
 - tool-mklittlefs 1.203.200522 (2.3) 
 - tool-mkspiffs 1.200.0 (2.0) 
 - toolchain-xtensa 2.40802.200502 (4.8.2)
Converting test_with_text_file.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 30 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <LittleFS(esp8266)> 0.1.0
Building in release mode
Building file system image from 'data' directory to .pio/build/d1_mini_lite/littlefs.bin
skipping .DS_Store
/test.txt
Looking for upload port...
Auto-detected: /dev/cu.usbserial-1410
Uploading .pio/build/d1_mini_lite/littlefs.bin
esptool.py v2.8
Serial port /dev/cu.usbserial-1410
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: b4:e6:2d:13:f2:c9
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 65536 bytes to 301...

Writing at 0x000eb000... (100 %)
Wrote 65536 bytes (301 compressed) at 0x000eb000 in 0.0 seconds (effective 14974.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Erreur, les fichiers LittlesFS ne sont pas téléchargés correctement

LittleFS est supporté à partir de la version 2.6.0 du SDK ESP8266. Si PIO téléverse une image nommée spiffs.bin au lieu de littlefs.bin, vous devez  mettre à jour le SDK ESP8266.

Problème LittleFS un fichier SPIFFS est téléverser sur ESP8266. Il faut mettre à jour le SDK sur PIO

Mises à jour

11/09/2020 Comment spécifier manuellement le chemin vers le dossier data

18/08/2020 Publication du tutoriel

Avez-vous aimé cet article ?
[Total: 1 Moyenne: 5]
Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Vous avez aimé ce projet ? Ne manquez plus aucun projet en vous abonnant à notre lettre d’information hebdomadaire!

quel modèle esp8266 choisir
Quel modèle d'ESP8266EX choisir en 2020 ?
guide choix esp32 development board
Quel ESP32 choisir en 2020 ?

Vous rencontrez un problème avec ce sujet ?

Peut-être que quelqu’un a déjà trouvé la solution, visitez le forum avant de poser votre question

Nous serions ravis de connaître votre avis

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Calculateurs
×
Calculateur loi d'Ohm
Tension (U) - en Volt
Courant (I) - en Ampère
Résistance (R) - en Ohms
Puissance (P) - en Watts

Ce calculateur permet de calculer les relations entre le courant, la tension, la résistance et la puissance dans les circuits résistifs.

Saisir au moins deux valeurs puis cliquer sur calculer pour calculer les valeurs restantes. Réinitialisez après chaque calcul.

Rappel sur la Loi d'Ohm
La loi d'Ohm explique la relation entre la tension, le courant et la résistance en déclarant que le courant traversant un conducteur entre deux points est directement proportionnel à la différence de potentiel entre les deux points.
La loi d'Ohm s'écrit U = IR, où U est la différence de tension, I est le courant en ampère et R est la résistance en Ohms (symbole Ω).
Loi d'Ohm (U=RI)
×
Déchiffrer le code couleur d'une résistance à 4 bandes
Bande 1 Bande 2 Multiplicateur Tolérance
   

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 4 anneaux
Formule : ab*cΩ ±d%
Les deux premières bandes (a, b) permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0) donne le nombre 10.
La troisième bande (c) est un coefficient multiplicateur. Par exemple, l'anneau rouge est un coefficient multiplicateur de 100, ce qui donne 10 X 100 = 1000Ω.
Le quatrième anneau (d) indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que sa valeur soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 4 bandes
×
Déchiffrer le code couleur d'une résistance à 5 bandes
Bande 1 Bande 2 Bande 3 Multiplicateur Tolérance

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 5 anneaux
Formule : abc*dΩ ±e%
Les trois premières bandes permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0), Noir (0) donne le nombre 100
La quatrième bande est un coefficient multiplicateur. Par exemple, l'anneau brun correspond au coefficient multiplicateur 10, ce qui donne 100 X 10 = 1000Ω.
Le cinquième anneau indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que la valeur de la résistance soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 5 bandes
×
Calculateur de résistance série pour une ou plusieurs LED
Tension d'alimentation en Volt
Tension directe en Volt
Courant en mA
Résistance calculée en Ω
Puissance estimée en W

Ce calculateur permet de déterminer la résistance requise pour piloter une ou plusieurs LED connectées en série à partir d'une source de tension à un niveau de courant spécifié.

Remarque. Il est préférable d'alimenter le circuit avec une puissance nominale comprise entre 2 et 10 fois la valeur calculée afin d'éviter la surchauffe
Couleur Longueur d'onde (nm) Tension (V) pour LED ⌀3mm Tension(V) pour LED ⌀5mm
Rouge 625-630  1,9-2,1 2,1-2,2
Bleu 460-470 3,0-3,2 3,2-3,4
Vert 520-525 2,0-2,2 2,0-2,2
Jaune 585-595 2,0-2,2 3,0-3,2
Blanc 460-470 3,0-3,2 1,9-2,1
Résistance en série pour une ou plusieurs LED
×
Calculateur durée de vie d'une batterie
Capacité de la batterie
Consommation de l'appareil ou objet connecté

Ce calculateur estime la durée de vie d'une batterie, en fonction de sa capacité nominale et du courant ou de la puissance qu'une charge en tire.

La durée de vie de la batterie est une estimation idéalisée. La durée de vie réelle peut varier en fonction de l'état de la batterie, de son âge, de la température, du taux de décharge et d'autres facteurs. C'est le mieux que vous pouvez espérer obtenir.

Autonomie de la batterie = capacité de la batterie en mAh / courant de charge en mA

Durée de vie batterie
Publicité
À lire aussi
Composants
Sur le Forum
Derniers Sujets
Domotique et objets connectés à faire soi-même
Domotique et objets connectés à faire soi-même
Vous avez aimé ce tutoriel

Ne manquez plus les prochains projets

Recevez chaque semaine le récapitulatif des tutoriels et projets.

Vous pouvez vous désabonner à tout moment. 

Shopping cart