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
Probleme mit dem Arduino Ethernet-Shild
28.05.2016, 15:32
Beitrag #1
Probleme mit dem Arduino Ethernet-Shild
Hallo,

ich habe mal wieder ein kleines Problem. Ich hoffe, das ihr mir helfen könnt.

Ich möchte gerne einen lokalen Webserver programmieren. Heißt, das ich meine IP Adresse eingeben möchte und den Sensorwert eines Fotowiderstandes abfragen möchte.

Den Code habe ich von makerblog.at übernommen.

Code:
/*
Web Server

Eine einfacher Webserver, der den Messwert auf Analogpin 0 als HTML zurückgibt.

Notwendig sind:
- Arduino Uno R3
- Arduino Ethernet Shield
- Analoger Sensor (z.B. lichtempfindlicher Widerstand an A0)

Based on script by David A. Mellis and Tom Igoe
*/

// Beide Libraries sind erforderlich
#include <SPI.h>
#include <Ethernet.h>

// Hier die MAC Adresse des Shields eingeben
// (Aufkleber auf Rückseite)
byte mac[] = {
0x90, 0xA2, 0xDA, 0x00, 0xFB, 0x80 };

// Eine IP im lokalen Netzwerk angeben. Dazu am besten die IP
// des PCs herausfinden (googlen!) und die letzte Zahl abändern
IPAddress ip(192,168,1,177);

// Ethernet Library als Server initialisieren
// Verwendet die obige IP, Port ist per default 80
EthernetServer server(80);

void setup() {
// Serielle Kommunikation starten, damit wir auf dem Seriellen Monitor
// die Debug-Ausgaben mitlesen können.
Serial.begin(9600);

// Ethernet Verbindung und Server starten
Ethernet.begin(mac, ip);
server.begin();
Serial.print("Server gestartet. IP: ");
// IP des Arduino-Servers ausgeben
Serial.println(Ethernet.localIP());
}


void loop() {
// server.available() schaut, ob ein Client verfügbar ist und Daten
// an den Server schicken möchte. Gibt dann eine Client-Objekt zurück,
// sonst false
EthernetClient client = server.available();
// Wenn es einen Client gibt, dann...
if (client) {
Serial.println("Neuer Client");
// Jetzt solange Zeichen lesen, bis eine leere Zeile empfangen wurde
// HTTP Requests enden immer mit einer leeren Zeile
boolean currentLineIsBlank = true;
// Solange Client verbunden
while (client.connected()) {
// client.available() gibt die Anzahl der Zeichen zurück, die zum Lesen
// verfügbar sind
if (client.available()) {
// Ein Zeichen lesen und am seriellen Monitor ausgeben
char c = client.read();
Serial.write(c);
// In currentLineIsBlank merken wir uns, ob diese Zeile bisher leer war.
// Wenn die Zeile leer ist und ein Zeilenwechsel (das \n) kommt,
// dann ist die Anfrage zu Ende und wir können antworten
if (c == '\n' && currentLineIsBlank) {
// HTTP Header 200 an den Browser schicken
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // Verbindung wird nach Antwort beendet
client.println("Refresh: 2"); // Seite alle 25 Sekunden neu abfragen
client.println();
// Ab hier berginnt der HTML-Code, der an den Browser geschickt wird
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("Analogpin 0: <b>");
client.print(analogRead(A0));
client.println("</b><br />");
client.println("</html>");
break;
}
if (c == '\n') {
// Zeilenwechsel, also currentLineIsBlack erstmal auf True setzen
currentLineIsBlank = true;
}
else if (c != '\r') {
// Zeile enthält Zeichen, also currentLineIsBlack auf False setzen
currentLineIsBlank = false;
}
}
}
// Kleine Pause
delay(1);
// Verbindung schliessen
client.stop();
Serial.println("Verbindung mit Client beendet.");
Serial.println("");
}
}


Die IP Adresse habe ich durch meine abgeändert. Die Website http://www.wieistmeineip.de/ hat mir - für meinen PC - die folgende IP angezeigt:

79, 226, 169, 32

Die 32 habe ich durch 177 geändert (habe bereits mehrere ausprobiert)...

Wenn ich nun den Code übertrage und den Seriellen Monitor starte wird folgendes angezeigt:

server is at 79.226.169.177

Wenn ich diese IP nun im Browser aufrufe, wird folgendes angezeigt:

Diese Website ist nicht erreichbar

Die Antwort von 79.226.169.177 hat zu lange gedauert.



Wisst ihr, wo mein Fehler liegt?

Über eure Hilfe wäre ich sehr dankbar.

Gruß jalu4601
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.05.2016, 16:11
Beitrag #2
RE: Probleme mit dem Arduino Ethernet-Shild
Hi,
also grundsätzlich beginnen LAN Adressen die im eigenen Haus/Wohnung sind mit 192.168.x.x
Das was du schreibst mit 72.xxx ist eine WAN Adresse = World Area Neetwork.
Dein PC hängt doch an einem Router der die Verbindung zur Ausenwelt macht ?
Der Router vergibt üblicherweise per DHCP die internen IP Adressen im Format 192.168.x.x
Deshalb wundert es mich wie du auf die 72er IP kommst.

Moment....BREMMS Idea.... wieistmeineip.de zeigt deine WAN IP an... die ist fix in dem Moment.
Wenn du über diese IP auf deinen eigenen Webserver zugreifen willst dann mußt du im Router bei Forwarding die IP deines Arduino eintragen also die 192.168.1.177
Du kannst eine IP nicht einfach mit einer anderen vermischen...das geht nicht. Außer du bist im gleichen Netz/Subnetz unterwegs aber das ist hier nicht der Fall.
Also die 72er IP ist die Adresse deines Hausanschlußes/Routers im WAN... und der Router muß dann wissen an wen er im LAN die Anfrage schicken soll....das macht das Forwarding.
lgbk

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
28.05.2016, 16:21
Beitrag #3
RE: Probleme mit dem Arduino Ethernet-Shild
Hallo,

ich habe die IP Adresse jetzt nochmal geändert.

Über Windows CMD habe ich die IP abgefragt. Sie lautet für meinen PC 192.168.2.106.

Die 106 habe ich durch 177 ersetzt. Doch leider funktioniert es immer nicht nicht - Unverändert

Habt ihr noch Ideen, wo der Fehler liegen könnte?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.05.2016, 16:34
Beitrag #4
RE: Probleme mit dem Arduino Ethernet-Shild
...du mußt auch im gleichen Sub-Netz sein wie dein PC.
der ist in 192.168.2.x und im Ardi schreibste 192.168.1.x
schreib in den Sketch 192.168.2.177 rein und die Welt sollte dir zu Füßen liegen.
lgbk

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
28.05.2016, 16:43
Beitrag #5
RE: Probleme mit dem Arduino Ethernet-Shild
Hallo,

auch das habe ich ausprobiert. Leider hat das nicht funktioniert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.05.2016, 16:47 (Dieser Beitrag wurde zuletzt bearbeitet: 28.05.2016 16:48 von jalu4601.)
Beitrag #6
RE: Probleme mit dem Arduino Ethernet-Shild
Hallo Lötzinnerhitzer,

das mit dem Port habe ich nicht gemacht. Ist das nicht nur notwendige, wenn man die Seite außerhalb des lokalen Netzwerkes aufrufen möchte?!

Ich benutze das Ethernet Shield W5100 (gekauft beim ex-store).

(28.05.2016 16:45)Lötzinnerhitzer schrieb:  
(28.05.2016 16:43)jalu4601 schrieb:  Hallo,

auch das habe ich ausprobiert. Leider hat das nicht funktioniert.

was hast Du ausprobiert ?

Bezog sich auf den Beitrag von Bitklopfer
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.05.2016, 19:42
Beitrag #7
RE: Probleme mit dem Arduino Ethernet-Shild
..also ich hatte da auch mal Probleme mit den CS Signalen für den ETH bzw. SD Bereich...das habe ich so gelöst.
Und hier ist der Beitrag von meinem Megalogger. Zu dem benötigt man einen Arduino Mega weil der Code für einen UNO zu groß ist.
lgbk

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
28.05.2016, 20:31
Beitrag #8
RE: Probleme mit dem Arduino Ethernet-Shild
Hallo, einen Arduino Mega habe ich nicht. Eigentlich kann das ganze ja nicht so schwer sein.
Welche library benötige ich den? Version 1 oder 2?

Was kann ich noch falsch gemacht haben?
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 Micro - Probleme madin 18 240 30.11.2016 19:31
Letzter Beitrag: madin
  Probleme mit ESP8266 BennIY 6 220 20.11.2016 14:49
Letzter Beitrag: BennIY
  Probleme mit mehreren DS18B20 Fühlern Uwa 12 324 15.10.2016 15:26
Letzter Beitrag: ardu_arne
  Avr NetIO als Arduino mit Ethernet-Shield amithlon 2 514 18.08.2016 17:42
Letzter Beitrag: amithlon
  Probleme mit SIM900 GSM seit PinManagment test BennIY 0 172 31.07.2016 23:33
Letzter Beitrag: BennIY
  Probleme mit ws2812b Led stripes Gravia 5 716 04.06.2016 14:50
Letzter Beitrag: Digit_AL
  Probleme mit Schrittmotorsteuerplatine Wetteronkel 2 542 16.03.2016 16:07
Letzter Beitrag: Wetteronkel
  Ethernet Shield 2 geht nicht Mark79 4 956 19.01.2016 18:01
Letzter Beitrag: Mark79
  Probleme beim Löten Binatone 18 1.713 14.01.2016 14:12
Letzter Beitrag: alpenpower
  Online gehen ohne Ethernet-shield diode1990 0 560 12.12.2015 17:02
Letzter Beitrag: diode1990

Gehe zu:


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