Lecture carte SD

Bonsoir, j'ai un fichier config.ini sur une carte SD et je voudrais pourvoir affecté les variables du fichier à des variable dans le code arduino. j'ai testé pas mal de chose avec d'autre librerie mais sa donne rien. J'aurais besoin de vos lumière. merci par avance

Le code ino

#include <SPI.h>
#include <SD.h>

void setup()
{
  Serial.begin(9600);
  
  if(!SD.begin(10))
  {
    Serial.println("Échec de l'initialization !");
  }
  else
  {
    if(!SD.exists("config.ini"))
    {
      Serial.println("Le fichier code.txt n'existe pas");
    }
    else
    {
      File monFichier = SD.open("config.ini", FILE_READ);

      while(monFichier.available())
      {
        Serial.write(monFichier.read());
      }

      monFichier.close();
    }
  }
}

void loop() {}

Le code "config.ini

[wifi]
login = fsqfsdf
mdp = dfdsfdsf

[mail]
smtp = smtp.sfr.fr
login = sdfqsfqgg
mdp = qzrzaerazer

[client]
nom = qsdfhgjterhbr
mail = dsqfsdfsd@sfr.fr

Salut.
Ton problème est connu, mais pas simple à implémenter sans une librairie spécialisée, SPIFFSIniFile par exemple, ou Preferences sur ESP32.
Mais comme tu ne dis même pas sur quelle plateforme tu travailles, cela va être difficile d'aider en quoi que ce soit.

Effectivement, j'ai pas précisé. je suis sur un Arduino uno pour mes teste mais à terme sa sera une carte seeed studio ESP32-C3

Alors autant laisser tomber l'ARDUINO et travailler avec la plateforme définitive.
Par contre je ne connais pas de librairie exploitant un fichier .ini sur SD.
Personnellement j'évite la SD, je travaille exclusivement avec les systèmes de fichier de l'ESP32, SPIFFS, ou LittleFS.
Voir donc SPIFFSIniFile (fichier à charger dans SPIFFS) ou Preferences (sans notion de fichier).

je voudrais quand même testé avec arduino uno. j'ai voulu me servir la librairie inifile et avec les codes exemple mais j'arrive pas récupéré mes variables

Bonsoir stephcache58

Il y a iniFile (n'ai pas essayé)

Cordialement
jpbbricole

C'est ce que je disais, inifile je les testé mais j'arrive pas

Je n'ai pas compris tu as essayé quoi ?
comme @jpbbricole IniFIle semble tout indiqué.

avec l'instruction suivante et en remplaçant buffer par tes variables, tu peux récupérer la valeur de tes clés.

ini.getValue("wifi", "login ", buffer, bufferLen)

Oui c'est bien ce que j'ai voulu faire mais sa ne marche pas

Le code dans ta demande se contente de lire et d'afficher le fichier. C'est peu.

Ca marche pas, c'est vague, tu t'es surement trompé :scream:
peut être que si tu nous donne le code que tu as essayé et l'erreur rencontrer on pourrait commencer à pouvoir t'aider ?

#include <SD.h>
#include <SPI.h>
#include <IniFile.h>

void setup()
{
  Serial.begin(9600);
  
  IniFile ini("config.ini");
  Serial.println(ini.getValue("wifi", "login", "", ""));
}

void loop() {}

Mon avis, mais c'est très personnel : je trouve complètement dépassé d'utiliser une SD sur un ESP32, qui dispose de ressources comme SPIFFS ou LittleFS, bien plus fiables qu'une SD.
A moins que tu n'aies besoin de Gigas de données, laisse tomber la SD et charge ton .ini dans la FLASH de l'ESP32 : Outils / ESP32 Sketch data upload.
Après avoir installé le plugin qui va bien : Install ESP32 Filesystem Uploader in Arduino IDE | Random Nerd Tutorials
Ensuite : SPIFFSIniFile

Je ne suis pas sur esp32 pour le moment.

Quand on a un projet ESP32 en vue, on ne maquette pas sur une UNO.
Après, tu fais comme tu veux.

en vue mais rien de sur donc

On nage en plein délire. En général quand on a un ESP32 en ligne de mire, c'est que l'on a de bonnes raison de faire ce choix, en particulier le WIFI et l'espace mémoire, sans oublier la vitesse, et les ressources qu'un ARDUINO ne possède pas.
Bonne soirée.

je ne les pas esp32-c3 donc je fait mes teste avec ce que je peux. C'est moins "délire" !

Justement, le fait de maquetter sur une UNO te met sur la mauvaise voie. Comme la UNO a des ressources extrêmement limitées face à un ESP32, tu utilises une SD car c'est le seul choix possible.
Or tout le travail que tu va faire sur ta UNO, quand tu auras compris les capacités que possède un ESP32 (systèmes de fichiers en FLASH entre autres) sera bon à mettre à la poubelle quand tu auras reçu ton ESP32.
Un conseil : prend des vacances en attendant la réception de ton colis, tu perdras moins de temps.

Et si avait envie de mettre une carte sd sur une arduino uno. j'ai aussi le droit ?