Riavvio di Arduino YUN troppo lento

Salve a tutti, sono nuovo del forum ed ho un problema con arduino YUN.
Ho realizzato uno sketch che dovrebbe fare le seguenti operazioni:

  1. acquisire l'informazione di un tasto premuto
  2. registrare su SD data, ora e tipo di tasto premuto
  3. ogni ora trasferire una copia del file di dati verso un hard disk di rete

il tutto funziona alla perfezione se il sistema rimane alimentato ma, se tolgo l'alimentazione e poi la rimetto, (tramite connettore micro USB), il riavvio è molto lento (anche un paio di minuti) ed ho l'impressione che ci sia problemi in corrispondenza alla riga con 'bridge.begin' ...

cosa ho sbagliato ?

allego il listato:

#include <Bridge.h>
#include <FileIO.h>
#include <Wire.h>
#include "RTClib.h"
#include <Process.h>

RTC_DS1307 rtc;
String testo;
String riferimento = "1";

void setup () {

pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,OUTPUT);
pinMode(13,OUTPUT);

digitalWrite(7,HIGH);
digitalWrite(13,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);

Bridge.begin();
digitalWrite(13,LOW);
FileSystem.begin();
Wire.begin();
rtc.begin();

//rtc.adjust(DateTime(F(DATE), F(TIME)));

digitalWrite(7,LOW);

}

void loop () {

if (digitalRead(4) == HIGH) {
digitalWrite(7,HIGH);
while(digitalRead(4) == HIGH) {
delay(100);
}
DateTime now = rtc.now();
File datafile = FileSystem.open("/mnt/sda1/datalog.txt", FILE_APPEND);
testo = String(now.day())+ "/"+ String(now.month())+"/"+String(now.year());
testo = testo + " " + String(now.hour())+ ":"+ String(now.minute())+":"+String(now.second());
datafile.print(testo);
datafile.println(" ROSSO");
datafile.close();
if (riferimento != String(now.hour())) {
riferimento = String(now.hour());
Process p;
p.begin("/mnt/sda1/test.py");
p.run();
}
digitalWrite(7,LOW);
}

if (digitalRead(5) == HIGH) {
digitalWrite(7,HIGH);
while(digitalRead(5) == HIGH) {
delay(100);
}
DateTime now = rtc.now();
File datafile = FileSystem.open("/mnt/sda1/datalog.txt", FILE_APPEND);
testo = String(now.day())+ "/"+ String(now.month())+"/"+String(now.year());
testo = testo + " " + String(now.hour())+ ":"+ String(now.minute())+":"+String(now.second());
datafile.print(testo);
datafile.println(" GIALLO");
datafile.close();
if (riferimento != String(now.hour())) {
riferimento = String(now.hour());
Process p;
p.begin("/mnt/sda1/test.py");
p.run();
}
digitalWrite(7,LOW);
}

if (digitalRead(6) == HIGH) {
digitalWrite(7,HIGH);
while(digitalRead(6) == HIGH) {
delay(100);
}
DateTime now = rtc.now();
File datafile = FileSystem.open("/mnt/sda1/datalog.txt", FILE_APPEND);
testo = String(now.day())+ "/"+ String(now.month())+"/"+String(now.year());
testo = testo + " " + String(now.hour())+ ":"+ String(now.minute())+":"+String(now.second());
datafile.print(testo);
datafile.println(" VERDE");
datafile.close();
if (riferimento != String(now.hour())) {
riferimento = String(now.hour());
Process p;
p.begin("/mnt/sda1/test.py");
p.run();
}
digitalWrite(7,LOW);
}

}

I think the question in English would improve the chances of an answer as there are probably a limited number of Italian speakers here...

Ciao

maxceci:
Salve a tutti, sono nuovo del forum ed ho un problema con arduino YUN.
Ho realizzato uno sketch che dovrebbe fare le seguenti operazioni:

  1. acquisire l'informazione di un tasto premuto
  2. registrare su SD data, ora e tipo di tasto premuto
  3. ogni ora trasferire una copia del file di dati verso un hard disk di rete

il tutto funziona alla perfezione se il sistema rimane alimentato ma, se tolgo l'alimentazione e poi la rimetto, (tramite connettore micro USB), il riavvio è molto lento (anche un paio di minuti) ed ho l'impressione che ci sia problemi in corrispondenza alla riga con 'bridge.begin' ...

cosa ho sbagliato ?

allego il listato:

Google Translate:

Restart Arduino Yun too slow

Hi everyone, I'm new to the forum and I have a problem with Arduino Yun.
I made a sketch that should do the following:

  1. acquire the information of the key press
  2. record on SD date, time and type of pressed key
  3. every hour to transfer a copy of the data file to a network hard disk

everything works perfectly if the system remains powered but, if I remove the power and then put it back, (via micro USB connector), the restart is very slow (even a couple of minutes) and I have the impression that there is trouble in correspondence to the line with 'bridge.begin' ...

What did I do wrong?

Did you mean: allegò il listato:
I enclose the listing:

everything works perfectly if the system remains powered but, if I remove the power and then put it back, (via micro USB connector), the restart is very slow (even a couple of minutes) and I have the impression that there is trouble in correspondence to the line with 'bridge.begin' ...

What did I do wrong?

@maxceci,
It appears the your Arduino Yun is working as expect. If you remove the power, it takes from two to eight minutes to get back to the operational state. Remove you sketch and test, then let us know what the difference is.

Jesse

Sembra che il tuo Arduino Yun sta funzionando come si aspettano. Se si rimuove il potere, ci vogliono da due a otto minuti per tornare allo stato di funzionamento. Rimuovere dello schizzo e di prova, poi facci sapere quale sia la differenza.

Jesse