Go Down

Topic: Problema WiFi shield : errore nella connect (Read 2000 times) previous topic - next topic

lesto

http://en.wikipedia.org/wiki/Handshaking

il fatto che tu PINGHI non vuol dire che le porte siano aperte.
Il ping spesso NON è filtrato dai firewall, mentre, al contrario, i firewall bloccano le porte. Win 7 (ma forse anche vista) in poi hanno un fw intgrato.

Qundi:
1. pinga da remoto, se KO c'è un problema di connessione;
2. telnetta da remoto, se KO c'è un problmea di firewall/nat/configurazione del server
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zio90

Ho capito, sei stato chiaro..
comunque, facendo le ultime prove adesso, vedo che il mio arduino si connette alla rete locale;
mi stampa l'ip dell'arduino;
ma quando va a fare la connect ovviamente si blocca, e il server non stampa niente sulla console...
Non so neanche dove cercare l'errore, se nel server, anche se credo di no, oppure nella definizione della connect, nel SocketIOCLient.cpp

lesto

prima di tutto verifica da un altro PC, POI passi all'arduino.
Devi essere straceto che non ci siano problemi nella lan
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

ƎR



@Pitusso: si, sto usando la 1.05 e non ho mai aggiornato il firmware; domani mattina ho a disposizione la shield quindi provo ad utilizzare la 1.04 oppure ad aggiornare il firmware....


hai fatto? anche io avevo quel problema sul connect ma dopo che ho aggiornato ho risolto
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

zio90

Adesso aggiorno il firmware poi vi dico...
Comunque sono CERTO che nella lan non ci siano problemi, da un altro pc funziona tutto.. il server è raggiungibile e non ci sono intoppi...

ƎR


Adesso aggiorno il firmware poi vi dico...
Comunque sono CERTO che nella lan non ci siano problemi, da un altro pc funziona tutto.. il server è raggiungibile e non ci sono intoppi...

eheh se non l'hai ancora fatto è quello che ti causa problemi, anche io senza fare l'aggiornamento non mi connettevo da nessuna parte
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

zio90

non ti connetevi da nessuna parte oppure comunque riuscivi a fare qualcosa? io riesco ad ottenere l'ip dal dhcp eh... mi connetto alla rete...
comunque si, l aggiornamento devo farlo lo stesso

ƎR


non ti connetevi da nessuna parte oppure comunque riuscivi a fare qualcosa? io riesco ad ottenere l'ip dal dhcp eh... mi connetto alla rete...
comunque si, l aggiornamento devo farlo lo stesso

si l'ip ce l'avevo, ma mi falliva sistematicamente l' if (client.connect(server, 80))
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

zio90

Ah, ok, come da me....  aggiorno il firmware e poi vi faccio subito sapere le novita'; 
vi ringrazio tutti per l'aiuto..!

ƎR


Ah, ok, come da me....  aggiorno il firmware e poi vi faccio subito sapere le novita'; 
vi ringrazio tutti per l'aiuto..!

di niente :)
segui questa guida: http://arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading
se sei su windows devi scarivarti anche i driver...

poi siccome ho notato che ne sai più di me riguardo questi argomenti magari passa per questo topic e guarda se puoi darmi qualche aiuto: http://forum.arduino.cc/index.php?topic=175771.0 ;)
grazie
ciao
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

zio90

Allora,

-ho aggiornato il firmware della WiFi shield,
-ho scritto bene lo sketch di Arduino, che vi posto qui sotto;
-lancio il mio server  sulla porta 3000

Ma purtroppo lo sketch mi si blocca sempre nella connect(hostname,porta);
E il mio server non stampa a video niente, nè tentativi di connessione nè altro..

Code: [Select]

#include "SocketIOClient.h"
#include "Ethernet.h"
#include "SPI.h"
#include "WiFi.h"


SocketIOClient client;

char ssid[] = "CENTEC";

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char hostname[] = "10.26.145.78";
int port = 3000;
int status= WL_IDLE_STATUS;   

void ondata(SocketIOClient client, char *data) {
  Serial.print(data);
}

void setup() {
  Serial.begin(9600);
     
  Serial.println("Attempting to connect to the network...");

status = WiFi.begin(ssid);

  if ( status != WL_CONNECTED) {
        Serial.println("Couldn't get a wifi connection");
         while(true);

  }
else if(status == WL_CONNECTED){
        Serial.println("Connected to wifi");
        IPAddress ip;
        ip = WiFi.localIP();
        Serial.println(ip);
   
Serial.println("\nConnessione al server ..\n");
   
    client.setDataArrivedDelegate(ondata);
   
   if (!client.connect(hostname,3000)) {
      Serial.println("Not connected.");
    }
    if (client.connected()) {
      Serial.println("Client here!");
    }
    else if(!client.connected()) {
      Serial.println("errore connessione");
    }   
  }
}

void loop()
{
   client.monitor();
}



lesto

controlla che l'ip impostato sia valido, ho visto delle bug request al proposito
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zio90

Si credo sia valido, ho provato a fare un ping dal pc verso arduino e mi dice:

Code: [Select]

marco@marco-Aspire-5740:~$ ping 10.26.145.80
PING 10.26.145.80 (10.26.145.80) 56(84) bytes of data.
64 bytes from 10.26.145.80: icmp_req=1 ttl=255 time=83.1 ms
64 bytes from 10.26.145.80: icmp_req=2 ttl=255 time=103 ms
64 bytes from 10.26.145.80: icmp_req=3 ttl=255 time=123 ms
64 bytes from 10.26.145.80: icmp_req=4 ttl=255 time=167 ms
64 bytes from 10.26.145.80: icmp_req=5 ttl=255 time=89.5 ms
^C
--- 10.26.145.80 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 83.189/113.478/167.586/30.442 ms



lesto

no, il problmea è che la libreria gestisce in modo errato gli IP.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

zio90

Ok, da cosa lo capisci?  e sopratutto, ho maniera di risolvere questo inghippo? cambio libreria?

Go Up