Go Down

Topic: Arduino ethernet shield (Read 4310 times) previous topic - next topic

jorgealves

Alguém me sabe dizer o que é preciso para ligar com o ethernet shield ao pc através de um cabo? è que compre-o e não consigo conecta-lo, faço o upload do programa, aparece todas as luzes no shield mas quando abro a pagina html com o ip não aparece nada. Não sei se é preciso algum servidor ao algo assim e também não sei o ip que devo meter no programa.

Obrigado

PC

Fala Jorge,

Me fala uma coisa:

Qual ethernet shield, qual versao do software arduino vc esta rodando, qual o endereco Ip da sua rede, a qual vc esta conectando o arduino e posso ver o codigo????

[]'s

PC

jorgealves

Boas, a versão do software é 0022 e o shield é o W5100  mas a antiga versão.

O codigo é este:

/*
  Web  Server

A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 4 Sep 2010
by Tom Igoe

*/

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1, 177 };

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
Server server(80);

void setup()
{
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  // listen for incoming clients
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();

          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(analogRead(analogChannel));
            client.println("<br />");
          }
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
  }
}

gabryelribeiro

Camarada, primeiramente vc terá que verificar o ip da sua rede coincide com esse por exemplo:

o ip 192.168.1.177 os digitos 192.168.1 identificam a rede, e o 177 identifica a estação, o pc etc.

Vc terá que ver na sua configuração de rede qual é o ip do seu pc, se vc usa um roteador e o ip é setado pelo roteador vc deverá confirgurar manualmente.

no caso obedecendo ao ip do arduino ou seja 192.168.1.xxx, coloque qualquer valor até 255.

jorgealves

Sera que me podia dar o seu email para me explicar melhor e eu lhe explicar também as minhas duvidas?

PC

No vi no seu exemplo a definicao do gateway e da subnet:

byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

Deveria ser assim:

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1, 177 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

Nao estou muito familiarizado com o chipset wiznet, mas vc deveria definir esses campos adicionais.

Quote
Camarada, primeiramente vc terá que verificar o ip da sua rede coincide com esse por exemplo:

o ip 192.168.1.177 os digitos 192.168.1 identificam a rede, e o 177 identifica a estação, o pc etc.

Vc terá que ver na sua configuração de rede qual é o ip do seu pc, se vc usa um roteador e o ip é setado pelo roteador vc deverá confirgurar manualmente.

no caso obedecendo ao ip do arduino ou seja 192.168.1.xxx, coloque qualquer valor até 255.


Como o Gabryel Falou, vc tem que verificar qual o endereco que a sua rede usa, geralmente eh o 192.168.1.XXX, vc pode ver isso abrindo a janela do DOS no seu computador e digitando o comando: ipconfig

Ele vai te mostrar o Ip da sua maquina e o Ip do roteador (vc que vai usar para preencher a informacao do gateway no seu codigo)

verifique, teste e nos avise

[]'s

PC


gabryelribeiro

PC - na verdade nem precisa de definir a submascara não, o negocio é o ip da rede bater direitinho com o que está no arduino. Esse exemplo que o jorge postou é um que vem na biblioteca ethernet, ele funcionou legal no meu pc, mas configurando os ips na mesma rede.

Jorge - se vc quiser add: gabryelribeiro@hotmail.com

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy