Ciao sono riuscito a fare una foto e metterla su un web server via POST.
Adesso mi chiedo.
Volessi farne una seconda?
Io mi collego al Server con
if (client.connect(serverName, 80))
poi alla fine faccio
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
Mi piacerebbe nel loop() premere "f" dal serial monitor e rifare una foto, ma il client.connetc non mi permette più di connettermi, eppure sono sconnesso.
Io quel codice non lo capisco.
Prima alla variabile "ritorno" assegni il valore -1 e subito dopo gli assegni il valore ritornato dalla funzione takefoto().
Anche questo codice non mi convince
if (!client.connected()) {
connected() dovrebbe ritornare vero se è gia connesso e falso se disconnesso, quindi la seconda volta non dovrebbe eseguire ciò che c'è dentro la if, poi dici di connetterti specificando il server name e la porta ma nel codice seguente questi argomenti non li specifichi, vuoi provare a specificarli? magari funziona.
Ieri ha funzionato senza problemi.
Quello che non capisco è perchè a volte va e a volte non va.
Allora
Io quel codice non lo capisco.
Prima alla variabile "ritorno" assegni il valore -1 e subito dopo gli assegni il valore ritornato dalla funzione takefoto().
if (inChar == 'f')
{
ritorno = -1;
ritorno = takefoto();
}
Questa istruzione è nel ciclo loop.
Se premo f fa una nuova foto.
Inizializzo a -1 perchè la funzione takefoto è complessa e fa molte cose e se non riesce a connettersi neanche alla rete, non riesce neanche a settare il valore di ritorno. Cosi trovo -1.
connected() dovrebbe ritornare vero se è gia connesso e falso se disconnesso, quindi la seconda volta non dovrebbe eseguire ciò che c'è dentro la if, poi dici di connetterti specificando il server name e la porta ma nel codice seguente questi argomenti non li specifichi, vuoi provare a specificarli? magari funziona.
Tutte le variabili (mac address, server name, porta) vengo settate all'inizio del programma normalmente, ma quelle hanno smepre funzionato. E' solo se rifaccio la foto che a volte non riesco a collegarmi. Alla fine del post, faccio un flush e un close.
Su seriale funziona tutto è solo sulla connessione al server che a volte non riesce a riconnettersi, ma a volte si. Come scheletro ho provato l'esempio di Adafruit che scatta la foto quando determina movimento.