Pages: [1]   Go Down
Author Topic: Ripetere un'azione  (Read 1415 times)
0 Members and 1 Guest are viewing this topic.
Milan
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Quote
if (client.connect(serverName, 80))

poi alla fine faccio

Quote
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.

Idee?
Grazie
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 491
Posts: 12297
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, nell'altro Topic ti ho scritto come eliminarlo. Grazie.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Milan
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eliminato. Grazie
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6974
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Devi usare il comando Serial.available() e poi Serial.read()
--> http://arduino.cc/en/Reference/Serial

Una volta letto il comando fai compiere ad Arduino una qualunque azione con in IF o uno SWITCH CASE.
Trovi degli esempi nell'IDE.

p.s. Prova a cercare nel forum qualcosa tipo "leggere da seriale". Dovrebbero esserci altre discussioni simili.
« Last Edit: July 17, 2012, 04:54:22 am by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Milan
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quello lo faccio gia.

MA non riesce a riconnettersi.

Code:
if (inChar == 'f')
  {
    ritorno = -1;     
    ritorno = takefoto();
  } 
Logged

0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Code:
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.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Milan
Offline Offline
Sr. Member
****
Karma: 0
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ieri ha funzionato senza problemi.
Quello che non capisco è perchè a volte va e a volte non va.

Allora

Quote
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().

Code:
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.


Quote
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.

N




Logged

Pages: [1]   Go Up
Jump to: