Arduino Ethernet Shield 2 with POE - PROBLEMA

Ragazzi buonasera, ho acquistato da poco una Arduino Ethernet Shield 2 with POE (http://www.robot-italy.com/it/arduino-ethernet-shield-2-with-poe.html). L’ho presa con la POE xke in futuro vorrei alimentarla direttamente da LAN e inoltre questa scheda monta il W5500 sperando che a differenza del W5100 non si blocchi. L’ho messa sul mio arduino uno per fare subito delle prove. Ho caricato lo sketch quello di prova (WEB SERVER), ho collegato la lan al router e ho alimentato il tutto semplicemente con il cavo USB ma una volta programmato, non funge…i led di connessione lampeggiano ma la pagina web all’indirizzo (192.168.1.177) non compare e inoltre se leggo sulla seriale, non compare nulla…potreste darmi una dritta? grazie e buonasera!

sketch:

/*
  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 9 Apr 2012
 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[] = {
0x90, 0xA2, 0xDA, 0x0F, 0xFE, 0x08
};
IPAddress 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):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // 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("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("
");
          }
          client.println("</html>");
          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();
    Serial.println("client disconnected");
  }
}
byte mac[] = {
0x90, 0xA2, 0xDA, 0x0F, 0xFE, 0x08
};

Questo è il mac address che trovi scritto direttamente sulla tua scheda?

Probabilmente nel tuo IDE manca la lib per il W5500

:slight_smile: :slight_smile: :slight_smile: Grazie pablos!! pensavo usasse la stessa libreria. ho risolto. Senti, visto che il vecchio post ( http://forum.arduino.cc/index.php?topic=274755.15 ) era stato iniziato da te, il problema che ogni tanto si bloccava la ethernet shield lo hai risolto? pensi che con il W5500 siano del tutto inesistenti quei tipi di problemi?

Impostando tutti i pin CS che usi, non dovresti avere problemi.

fredrosa:
... L'ho presa con la POE xke in futuro vorrei alimentarla direttamente da LAN e inoltre questa scheda monta il W5500

Se capisco bene quello che hai scritto, tu non puoi alimentare la scheda da LAN, è la stessa scheda che ti fornisce l'alimentazione per un eventuale apparato LAN, esempio un telefono.
Almeno il PoE lo interpreto così

Se capisco bene quello che hai scritto, tu non puoi alimentare la scheda da LAN, è la stessa scheda che ti fornisce l'alimentazione per un eventuale apparato LAN,

Quel modulo POE sopra la ethernet non è un alimentatore o un iniettore ... è un DC/DC converter.
Riceve un alimentazione tramite cavo ethernet (36-48v) e la converte in 9v-12v DC alimentando Arduino e la ethernet shield. L'alimentazione la fornisci con un router apposito con porte POE o un alimentatore POE.

Anche perchè se così non fosse i post scritti in questi ultimi 5 anni sul modulo POE sarebbero tutti da eliminare :slight_smile:

Se fai una piccola ricerca ti togli tutti i dubbi:
http://www.robotstore.it/product/306/Modulo-PoE-12V-per-Arduino-Ethernet-Shield-e-Arduino-Leonardo-Ethernet.html

Questo Modulo PoE (o modulo Ag9120) viene utilizzato per estrarre l'alimentazione da un cavo Ethernet standard.

The high efficiency DC/DC converter operates over a wide input voltage range (36V to 48V typical) and provides a regulated low ripple and low noise output. The DC/DC converter also has built-in overload and short-circuit output protection.

Specifica " input voltage range (36V to 48V typical)"


L'ho presa con la POE xke in futuro vorrei alimentarla direttamente da LAN

Quindi, Si lo può fare.

pablos:
Quel modulo POE sopra la ethernet non è un alimentatore o un iniettore … è un DC/DC converter.
Riceve un alimentazione tramite cavo ethernet (36-48v) e la converte in 9v-12v DC alimentando Arduino e la ethernet shield. L’alimentazione la fornisci con un router apposito con porte POE o un alimentatore POE.

Anche perchè se così non fosse i post scritti in questi ultimi 5 anni sul modulo POE sarebbero tutti da eliminare :slight_smile:

Se fai una piccola ricerca ti togli tutti i dubbi:
http://www.robotstore.it/product/306/Modulo-PoE-12V-per-Arduino-Ethernet-Shield-e-Arduino-Leonardo-Ethernet.html

https://www.sparkfun.com/products/retired/11230Specifica " input voltage range (36V to 48V typical)"

http://forum.arduino.cc/index.php?topic=125134.0

***Quindi, Si lo può fare.

Ecco ho sbagliato :frowning:

pablos:
Impostando tutti i pin CS che usi, non dovresti avere problemi.

che intendi per impostando tutti i pin CS che usi?

Ho risolto impostando nel setup il pin CS 10 e 4, l’instabilità di arduino e della ethernet era data dal fatto che quei pin restando flottanti commutavano in modo casuale causando i famosi crash.

pablos:
Ho risolto impostando nel setup il pin CS 10 e 4, l'instabilità di arduino e della ethernet era data dal fatto che quei pin restando flottanti commutavano in modo casuale causando i famosi crash.

sisi ora ho capito...io attualmente li ho impostati cosi nel void setup()...:

pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);

speriamo bene :wink: