INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ethernet nur bei USB-Verbindung
25.05.2013, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2013 15:40 von fobi.)
Beitrag #1
Ethernet nur bei USB-Verbindung
Servus Leute,

ich hab ein seltsames Problem:
Ich erzeuge mir auf dem Arduino Mega und dem Ethernetshield mit SD-Unterstützung eine kleine Webseite mit verschiedenen Variablen und stelle sie dann einem Client zur Verfügung. Dies hat bereits wunderbar funktioniert.

Nun ein paar Versionen später funktioniert dies nur noch eingeschränkt (selbst der alte Code funktioniert nun nicht mehr): (An der Schaltung hat sich nichts geändert)
Eine Internetverbindung kommt nun nur noch zustande, wenn eine USB-Verbindung besteht - sobald ich das USB-Kabel in ein Schuko-USB-Netzteil stecke, bekommt er keine Verbindung mehr.

Irgendwelche Vorschläge?

INITIAL
Code:
//************************* ETHERNET ***************************************
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,220,66);                   // SERVER-IP
EthernetServer server(80);                      // (port 80 is default for HTTP):

Setup()
Code:
Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("ServerIP is: ");
  Serial.println(Ethernet.localIP());

LOOP
Code:
clientConnect(now)

Funktion
Code:
void clientConnect(DateTime now){                                
  EthernetClient client = server.available();              // listen for incoming clients
  if (client) {
    Serial.println("[FUNKTION:SERVER]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");
          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
          client.println("Time is: ");
          if(now.hour() < 10)
          client.print( "0" );
          client.print(now.hour());
          client.print( ":" );
          if(now.minute() <  10)
          client.print( "0" );
          client.print(now.minute());
          client.print( ":" );
          if(now.second() < 10)
          client.print( "0" );
          client.print(now.second());
          client.println( "  " );
          client.println("<br />");
          client.println("Temperature (°C):");
          client.println((float)DHT11.temperature, 2);
          client.println("<br />");
          client.print("Humidity (%): ");
          client.println((float)DHT11.humidity, 2);
          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");
  }
}

Danke schon mal!
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.06.2013, 21:30
Beitrag #2
RE: Ethernet nur bei USB-Verbindung
(25.05.2013 15:37)fobi schrieb:  Servus Leute,

ich hab ein seltsames Problem:
Ich erzeuge mir auf dem Arduino Mega und dem Ethernetshield mit SD-Unterstützung eine kleine Webseite mit verschiedenen Variablen und stelle sie dann einem Client zur Verfügung. Dies hat bereits wunderbar funktioniert.

Nun ein paar Versionen später funktioniert dies nur noch eingeschränkt (selbst der alte Code funktioniert nun nicht mehr): (An der Schaltung hat sich nichts geändert)
Eine Internetverbindung kommt nun nur noch zustande, wenn eine USB-Verbindung besteht - sobald ich das USB-Kabel in ein Schuko-USB-Netzteil stecke, bekommt er keine Verbindung mehr.

Irgendwelche Vorschläge?

INITIAL
Code:
//************************* ETHERNET ***************************************
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,220,66);                   // SERVER-IP
EthernetServer server(80);                      // (port 80 is default for HTTP):

Setup()
Code:
Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("ServerIP is: ");
  Serial.println(Ethernet.localIP());

LOOP
Code:
clientConnect(now)

Funktion
Code:
void clientConnect(DateTime now){                                
  EthernetClient client = server.available();              // listen for incoming clients
  if (client) {
    Serial.println("[FUNKTION:SERVER]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");
          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
          client.println("Time is: ");
          if(now.hour() < 10)
          client.print( "0" );
          client.print(now.hour());
          client.print( ":" );
          if(now.minute() <  10)
          client.print( "0" );
          client.print(now.minute());
          client.print( ":" );
          if(now.second() < 10)
          client.print( "0" );
          client.print(now.second());
          client.println( "  " );
          client.println("<br />");
          client.println("Temperature (°C):");
          client.println((float)DHT11.temperature, 2);
          client.println("<br />");
          client.print("Humidity (%): ");
          client.println((float)DHT11.humidity, 2);
          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");
  }
}

Danke schon mal!
Gruß

Sehe ich das richtig, wenn du deinen Ardi über das Steckernetzteil versorgst geht das Web nicht mehr ?
Aber wenn du den Ardi per USB Kabel vom PC versorgst geht das Web ?

Versuch doch mal ein anderes Netzteil zu verwenden, WEIL manche Netzteile haben keine 100%ige Netztrennung und somit kommt es hohen Spannungen auf der Ausgangsspannung gegen Erde. Da das ganze in der Regel relativ Hochohmig ist kriegst du zwar eine gewischt aber es ist relativ harmlos. NUR die Datenleitungen verkraften so eine Offsetspannung gar nicht und stellen die Funktio dann ein. WOBEI das bei einem Übertrager wie er beim Webanschluß üblicherweise verwendet wird eigentlich auch nichts ausmachen dürfte....
Oder dein Netzteil ist einfach Defekt und oder hat einfach eine zu Hohe Brummspannung so das die CPU nicht durchlaufen kann....
Also einfach in der Richtung mal was versuchen...
Viel Glück und prüfe vorher mal vorsichtig ob dein Netzteil gegen Erde gut isoliert ist...bevor du einen Kontakt anfassen tust...

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino UNO und Ethernet Shield 2 POE und Fritzbox 3272 tr3 2 159 19.11.2016 10:46
Letzter Beitrag: tr3
  Ethernet Modul Enc28j60 Pin13 LED Schalten BennIY 16 514 27.09.2016 20:30
Letzter Beitrag: BennIY
Question Keine Verbindung via USB nach flashen des Programms chaoscrack 5 203 23.08.2016 14:58
Letzter Beitrag: hotsystems
  Wo kann ich hier noch Code spahren? (SPI-,Ethernet-,SD-,GSM-Library) avoid 4 382 05.06.2016 14:16
Letzter Beitrag: avoid
  Daten per Ethernet Shield 2 senden Mark79 3 868 22.03.2016 19:29
Letzter Beitrag: Mark79
  Arduino Mega 2560 - RS232-Verbindung zum PC Datatom 4 602 17.03.2016 20:52
Letzter Beitrag: Stephan_56
Sad Arduino Shield Verbindung bricht ab (PHP Skript,Mysql Datenbank) julius858 12 3.305 19.02.2016 11:26
Letzter Beitrag: IBES1410
  array von Php --> Arduino zu senden (ethernet) Mourti 0 447 27.01.2016 22:11
Letzter Beitrag: Mourti
  Port B vom Arduino Ethernet einlesen magifix 0 353 08.01.2016 10:46
Letzter Beitrag: magifix
  BARCODE Abfrage über Ethernet Shield Wampo 3 795 05.12.2015 12:11
Letzter Beitrag: Wampo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste