Ciao!!
Ho un problema abbastanza strano e inizio a pensare che lo shield ethernet che ho comprato abbia dei problemi...
Collego Arduino con lo shield ethernet e imposto un ip libero all'interno della mia rete locale (ad esempio 192.168.1.15). Imposto anche mac address e le configurazioni base per una connessione ethernet che non fa nulla, per vedere se riesco a pingare Arduino da shell, ma non ci riesco...
Qualcuno di voi ha avuto problemi simili??
Ieri talvolta riuscivo a pingarlo, mentre altre volte no...
Sembra una cosa random...AIUTOOOOO!!! :o
Allego il file sperando di aver sbagliato qualcosa...non vorrei far storie per farmi cambiare la scheda o andare a spendere altri soldi per la spedizione...
Questo è quello che ho fatto io e riesco a pingare arduino una volta che ho caricato lo sketch su arduino (anche io ho lo shield ethernet)
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 3, 156 }; // indirizzo IP arduino
byte server[] = { 192, 168, 3, 5 };
int tcpport=2000; //porta su cui è in ascolto il server
Client client(server, tcpport);
void setup(){
Ethernet.begin(mac, ip); //Associazione indirizzo mac e ip arduino
Serial.begin(9600); //l'ho tenuta perchè invio i dati sia al pc che su serial monitor per verificare quello che invio
...
if (client.connect()){
Serial.println("Connessione riuscita");
}
else{
Serial.println("Connessione fallita");
}
}
void loop(){
if(client.connected()){
//chiamo le funzioni che mi servono
ricezioneEventualiDatiDaJava();
rilevazioneSegnaliAnalogici();
rilevazioneSegnaliDigitali();
}
else
Serial.println("Non sei più connesso");
}
Dal tuo codice mi sembra di capire che tu usi Arduino come client, mentre io vorrei usarlo come server...
Vorrei inviargli un segnale tramite php per far suonare una sirena collegata ad un centralino telefonico digitale.
E' un sistema di videosorveglianza fatto in casa!!! ;p
E' per un progetto universitario e adesso manca solo la parte relativa alla sirena!!
Se riesco a pingare Arduino è finito!!!!!
Grazie mille per il tuo aiuto, cerco di risolvere e ti faccio sapere!! Ciao!!
Si, uso una sola rete!
Le impostazioni sono le più classiche del mondo:
Gateway interno: 192.168.1.1
Vari pc collegati: 192.168.1.x
Forse è un problema di router...in questi giorni mi si è fusa la wireless e a giorni dovrebbero venire a portarmene uno nuovo!!
Magari insieme alla wireless è partito anche qualche altro modulo... :-?
Riesci a pingare tutti gli host della tua rete? se ti compila e carica correttamente il programma su arduino, dal pc a cui è collegato, dovresti pingarlo senza problemi.
Altrimenti prima di dare colpe allo shield dovresti provarlo da un tuo amico e vedere se ti dà lo stesso risultato...
All'interno della mia rete riesco a pingare tutti, comunque dopo un paio di tentativi alla fine Arduino si è deciso a farsi pingare!!!
Ora ho scritto questo codice che dovrebbe gestire le chiamate php.
Il problema è che non funziona....
Li allego così magari tu che sei più esperto di me puoi dirmi se ho fatto qualche errore clamoroso... :-[
Un'altra cosa stranissima è che l'uscita 11 mi rimane praticamente sempre accesa....
Magari è una cosa normale, ma anche se in setup() scrivo analogWrite(11,0) il led continua a rimanere acceso.... >:(
Ho fatto un sacco di prove e al momento Arduino mi risulta pingabile solo a volte...
Conclusione? Sperate insieme a me che il giorno dell'esame tutto funzioni a dovere!!!