The other parts o fthe code are this one taking care of the time:
// Faz a contagem do tempo para mostrar e para salvar no SD
time_t tempo = now();
hora2 = hour(tempo);
minuto2 = minute(tempo);
int segundo2 = second(tempo);
dia2 = day(tempo);
mes2 = month(tempo);
ano2 = year(tempo);
if(segundo2 == 0)// Limpar a tela para não ter lixo no relógio
{
lcd.setCursor(0,4);
lcd.print(" ");
}
//Plota a hora e a data no display.
lcd.setCursor(0,4);
lcd.print(hora2);
lcd.print(F(":"));
lcd.print(minuto2);
lcd.print(F(":"));
lcd.print(segundo2);
lcd.setCursor(0,5);
lcd.print(dia2);
lcd.print(F("/"));
lcd.print(mes2);
lcd.print(F("/"));
lcd.print(ano);
// Faz operações para pega ros numeros de mês e ano para tranformar em string e usar como nome do arquivo a ser gerado de log
itoa(ano,pasta_ano,10);
itoa(mes2,nome_arquivo2,10);
if (mes2 < 10)
{
nome_arquivo2[1]=nome_arquivo2[0];
nome_arquivo2[0]= '0';
}
if (ano < 10)
{
pasta_ano[1]=pasta_ano[0];
pasta_ano[0]='0';
}
This one to save the file on the SD with the name containing Month_Year.log
nome_arquivo[0]=nome_arquivo2[0];
nome_arquivo[1]=nome_arquivo2[1];
nome_arquivo[2]='_';
nome_arquivo[3]=pasta_ano[0];
nome_arquivo[4]=pasta_ano[1];
nome_arquivo[5]='.';
nome_arquivo[6]='l';
nome_arquivo[7]='o';
nome_arquivo[8]='g';
This function to find and list the files on the SD and transform then int links in the HTML
void printDirectory(File dir, int numTabs, EthernetClient client) {
dir.rewindDirectory();
while(true) {
File entry = dir.openNextFile();
if (! entry) {
// Significa que já não tem nenhum arquivo para ser lido
break;
}
// for (uint8_t i=0; i<numTabs; i++) {
// Serial.print('\t');
//
// }
client.print(F("<li><a href=\""));
client.print(entry.name());
Serial.print(entry.name());
client.print(F("\">"));
client.print(F("<ul>"));
client.print(entry.name());
client.print(F("</a>"));
if (entry.isDirectory()) {
Serial.println(F("/"));
printDirectory(entry, numTabs+1, client);
}
else {
client.print('.');
Serial.print(F("\t\t"));
Serial.println(entry.size(), DEC);
client.print(entry.size(),DEC);
client.print(F(" bytes"));
client.print(F("</ul>"));
}
// fecha o arquivo q foi aberto
entry.close();
}
}