Go Down

Topic: Hilfe Bekomme Webserver mit mega nicht ans laufen!! (Read 674 times) previous topic - next topic

schilli84

Hallo ich habe einen mega mit ENC28J60 Ethernet Module und bekomme keine netz verbindung.
Ich habe das ENC28J60 Ethernet Module wie http://arduino.cc/en/Reference/Ethernet angeschlossen.
und hier mein Code:


Code: [Select]


#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 };
IPAddress ip(192,168,178, 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("Connnection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
                    // add a meta refresh tag, so the browser pulls again every 5 seconds:
          client.println("<meta http-equiv=\"refresh\" content=\"5\">");
          // 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("<br />");       
          }
          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 disonnected");
  }
}




Warum bekomme ich keine netz verbindung??
mfg Dominic

mkl0815

Weil das ENC28J60 Ethernet Module eine andere Bibliothek benötigt. Die "normale" Ethernet-Library ist für das Ethernet-Modul mit WizNet 5100 Ethernet-Chip (das originale Ethernet-Shield). Im Gegensatz zum ENC28J60 macht der WizNet 5100 Chip viele Sachen selbst, während der ENC28J60 dem Arduino deutlich mehr Arbeit aufbürdet. Die ENC28J60 sind zwar deutlich preiswerter, aber dadurch komplizierter zu verwenden.
Schau mal hier: http://arduino.alhin.de/index.php?n=24
und hier: http://www.komputer.de/wordpress/archives/497
Mario.


jurs


Hallo ich habe einen mega mit ENC28J60 Ethernet Module und bekomme keine netz verbindung.
Ich habe das ENC28J60 Ethernet Module wie http://arduino.cc/en/Reference/Ethernet angeschlossen.


Deine Link-Referenz bezieht sich auf das offizielle Ethernet-Shield mit W5100 Chip.

Und nicht auf den schrottigen ENC28J60. Der ENC28J60 hat null eigenen Speicher und null eigene Intelligenz, bei dem mußt Du so einen Haufen an Library-Code und eigenen Code dazulinken, so dass der Arduino-Speicher schon mit den blödesten Minimalprogrammen nahzu voll wird und Du für irgendwelche anderen Dinge gar nicht genug RAM-Speicher mehr übrig hast.

Du versuchst, mit der Ethernet-Shield Library einen komplett falschen Chip anzusteuern, das kann überhaupt nicht funktionieren!

Am besten besorgst Du dir ein Ehternet Shield mit W5100. Auch die billigen China-Nachbauten tun es. Jedenfalls hundertmal besser mit hundertmal weniger Programmieraufwand und RAM-Verbrauch als ein ENC28J60.

schilli84

So habe mit grade in der bucht ein W5100 gekauft.
Der verkäufer wohnt nur 2 strassen von mir weg.
werde es gleich mal abhollen und testen.

skorpi08

Fals deine versuche scheitern, hier auch was zu lesen: http://arduino.cc/forum/index.php/topic,155330.0.html
Nicht Mensch, nicht Tier: Programmierer halt...

Go Up