#include <SD.h>
#include <ArduinoJson.h>
#define CS_PIN 5
#define ruta "/prieto.txt"
File root;
JsonDocument doc;
String json;
void setup()
{
Serial.begin(115200);
if (!SD.begin(CS_PIN))
{
Serial.println("F");
}
Serial.println("Inicializado");
Serial.println("Archivos:");
root = SD.open("/");
printDirectory(root, 0); //Función recursiva para ver los archivos de la SD
Serial.println("");
doc["name"][0] = "Puto";
doc["score"][0] = 69;
doc["name"][1] = "Pendejo";
doc["score"][1] = 23;
doc["name"][2] = "Idiota";
doc["score"][2] = 3;
doc["name"][3] = "Estupido";
doc["score"][3] = 1;
serializeJson(doc, json);
writeFile(ruta, json);
}
void loop()
{
//deserializeJson(doc, json);
//Serial.println((String)doc["name"][0]);
//Serial.println((String)doc["score"][0]);
//Serial.println((String)doc["name"][3]);
//Serial.println((String)doc["score"][3]);
//Serial.println(readFile(ruta));
//deserializeJson(doc, readFile(ruta));
//Serial.println((String)doc["name"][0]);
Serial.println(readFile(ruta));
//writeFile(ruta, "caca");
delay(1000);
}
void printDirectory(File dir, int numTabs)
{
while (true)
{
File entry = dir.openNextFile();
if (!entry)
{
break;
}
for (uint8_t i = 0; i < numTabs; i++)
{
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory())
{
Serial.println("/");
printDirectory(entry, numTabs + 1);
}
else
{
Serial.print("\t\t");
Serial.print(entry.size(), DEC);
Serial.println(" bytes");
}
entry.close();
}
}
String readFile(String filePath)
{
String caca;
File textFile = SD.open(filePath);
if (textFile)
{
//Serial.println(filePath + " dice:");
while (textFile.available())
{
caca = caca + (char)textFile.read();
}
textFile.close();
return caca;
//Serial.println("");
}
else
{
Serial.println("F: " + filePath);
}
return "caca";
}
void writeFile(String filePath, String text)
{
File textFile = SD.open(filePath, FILE_WRITE); // Crear si no existe
if (textFile)
{
textFile.print(text);
textFile.close();
Serial.println(filePath + " sobreescribido");
}
else
{
Serial.println("F: " + filePath);
}
}