Leggere/scrivere file.ini da/su SD

Ciao a tutti. Ho la necessità di leggere dei dati su una scheda SD inserita in una Etherner shield. Ho pensato di mettere i dati in un file tipo ini

[gruppo1]
dato1=10
dato2=20
[gruppo2]
dato1=32
dato2=324
dato3=64
...

Ho cercato in giro ma non ho trovato risposte chiare. Qualcuno può indirizzarmi verso la giusta direzione?

Grazie a tutti, Valerio.

ciao, se usi l'IDE 1, puoi partire da questa libreria: https://github.com/stevemarple/IniFile che implementa proprio un parser per file Ini. Altrimenti puoi usarla come esempio, per scrivere il tuo codice.

In alternativa, per scrivere del codice che ti estragga i dati, ti basta fare lo split della riga utilizzando come carattere separatore "=". Oppure ancora usare la libreria TextFinder: http://www.arduino.cc/playground/Code/TextFinder

E' proprio quello che mi occorre. L'idea di scrivermi il codice da solo il piace ma volevo sapere se c'era già qualcosa da cui prendere spunto. Mi hai dato un po' di dati da leggere, proprio quello che mi serviva. Appena troverò il tempo mi leggerò la documentazione e vedremo che ne escee fuori :D

Grazie mille.

Grazia ancora per la risposta. Ho alcune domande:

se usi l'IDE 1, puoi partire da questa libreria:

Cosa intendi per "IDE 1"?

https://github.com/stevemarple/IniFile che implementa proprio un parser per file Ini.

Ho scaricato la libreria, ho messo il contenuto in "/usr/share/arduino/libraries/IniFile/" (uso arduino 0022ubuntu1, su ubuntu come IDE) ma quando la carico, mi da una serie di errori nel file...

/usr/share/arduino/libraries/IniFile/IniFile.cpp: In static member function ‘static int8_t IniFile::readLine(File&, char*, int, uint32_t&)’:
/usr/share/arduino/libraries/IniFile/IniFile.cpp:283:40: error: no matching function for call to ‘File::read(char*&, int&)’
/usr/share/arduino/libraries/SD/SD.h:31:15: note: candidate is: virtual int File::read()

Sono poco pratico e quindi non capisco dove mettere le mani.

Grazie per l'aiuto e soprattutto per la pazienza.

Ciao,
per IDE 1 intendo l’IDE versione 1:
http://code.google.com/p/arduino/wiki/Arduino1

Considera però che non tutte le librerie disponibili in rete sono ancora state convertite/testate per questa versione di IDE.

Ho scaricato la libreria, ho messo il contenuto in “/usr/share/arduino/libraries/IniFile/” (uso arduino 0022ubuntu1, su ubuntu come IDE) ma quando la carico, mi da una serie di errori nel file…

appunto, con l’IDE 0022 non funziona.

Se nel tuo progetto però hai solo l’eth shield e sensori generici (intendo: nessuna espansione che abbia una libreria non aggiornata per IDE 1), puoi usare per questo progetto appunto tale versione di IDE.
Infatti il parser sviluppato da Steve è nato proprio per gestire le configurazioni ethernet!