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
Arduino Uno+ Ethernetshield W5100 Website Problem
28.01.2021, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2021 15:32 von Justus S..)
Beitrag #1
Arduino Uno+ Ethernetshield W5100 Website Problem
Hallo Leute.
Ich habe meinen Webserver auf dem Arduino Uno endlich soweit zum laufen bekommen, dass ich ihn anpingen kann und auch etwas passiert.(statische IPv4 Adresse, Ports freigegeben)
Kann den Server über meine öffentliche Ip und den Port auch von der Arbeit anpingen..
Wenn ich allerdings von Außen drauf zugreifen will komme ich nicht auf die Website. Der Seriellemonitor spuckt dann das aus. Also mein Handy kann den Server erreichen aber die Website wird geschlossen, bevor mein Handy die Seite im Browser übrehaupt laden kann..sehe ich das richtig? Aus dem lokalen Netzwerk funktioniert alles einwandfrei.
Ich möchte den Server von außen erreichen und mir die Temperatur und Luftfeuchtigkeit von überall anzeigen lassen.
Bekomme in Firefox immer eine "request timed out" Fehlermeldung..was mache ich falsch ? Bitte um eure Hilfe.

UPDATE!
ich glaube es hängt mit der funktion webpage.stop zusammen. hatte da irgendwie dran rumgefummelt und dann neu geflashed und aufeinmal war ich auf dem server drauf. Dann habe ich die seite erneut geladen und anschließend kam ich wieder nicht drauf -_-


Code:
13:10:01.464 -> new webpage
13:10:01.464 -> GET / HTTP/1.1
13:10:01.464 -> Host: 37.201.167.37:58081
13:10:01.512 -> Upgrade-Insecure-Requests: 1
13:10:01.557 -> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
13:10:01.604 -> User-Agent: Mozilla/5.0 (iPhone; CPU OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/30.0  Mobile/15E148 Safari/605.1.15
13:10:01.743 -> Accept-Language: de-de
13:10:01.791 -> Accept-Encoding: gzip, deflate
13:10:01.837 -> Connection: keep-alive
13:10:01.837 ->
13:10:03.788 -> webpage disconnected

hier ist noch der sketch, welchen ich gebraucht habe. *updated*
Code:
#include "DHT.h"
#include <SPI.h>
#include <Ethernet.h>
#define DHTPIN 8
#define DHTTYPE DHT11

DHT sensor(DHTPIN, DHTTYPE);
byte mac[] = {
  0xA8, 0x61, 0x0A, 0xAE, 0x63, 0xD3
};
IPAddress ip (192, 168, 178, 215);
EthernetServer server(80);

void setup()
{
  Serial.begin (9600);
  sensor.begin( );
  Ethernet.begin(mac, ip);
  server.begin( );
  Serial.print("Your IP Adress is ");
  Serial.println(Ethernet.localIP( ) );
}

void loop( )
{
  float humidity = sensor.readHumidity( );
  float temperature_C = sensor.readTemperature( );
  float temperature_F = sensor.readTemperature (true);
  if (isnan(humidity) || isnan(temperature_C) || isnan(temperature_F))
  {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  float heat_indexF = sensor.computeHeatIndex(temperature_F, humidity);
  float heat_indexC = sensor.convertFtoC(heat_indexF);

  EthernetClient webpage = server.available();
  if (webpage)
  {
    Serial.println("new webpage");
    boolean currentLineIsBlank = true;
    while (webpage.connected ( ) )
    {
      if (webpage.available ( ) )
      {
        char character = webpage.read ( );
        Serial.write(character);
        if (character == '\n' && currentLineIsBlank)
        {
          webpage.println ("HTTP/1.1 200 OK");
          webpage.println ("Content-Type: text/html");
          webpage.println ("Connection: close");
          webpage.println ("Refresh: 5");
          webpage.println ( );
          webpage.println ("<!DOCTYPE HTML>");
          webpage.println ("<html>");
          webpage.print("</TITLE>");
          webpage.print ("<Title>Temperatur&uuml;berwachung </Title>");
          webpage.println("<body style=\"background-color:#6E1111\">\n");
          webpage.print ("<h1 align=center><font size=7><font color=#19CE3A><b>Zimmertemperatur </b></font></h1>");
          webpage.print ("<h4>Temperatur in C: ");
          webpage.print (temperature_C);
          webpage.print ("</h4><h4>Temperatur in Fah: ");
          webpage.print (temperature_F);
          webpage.print ("</h4><h4>Luftfeuchtigkeit: ");
          webpage.print (humidity);
          webpage.print ("</h4><h4>Ge&uuml;hlte Temperatur F: ");
          webpage.println (heat_indexF);
          webpage.println ("</h4><h4>Ge&uuml;hlte Temperatur C: ");
          webpage.println (heat_indexC);
          webpage.println ("<br />");
          webpage.println ("</html>");
          break;
        }

        if ( character == '\n')
        {
          currentLineIsBlank = true;
        }
        else if (character != '\r')
        {
          currentLineIsBlank = false;
        }
      }
    }
    delay(1000);
    webpage.stop();
    Serial.println("webpage disconnected");
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:27
Beitrag #2
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
Das kommt mir falsch vor:
Code:
byte gateway[] = {
  192, 168, 178, 215
};
Dein Gatway ist die Box, also 192, 168, 178, 1

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:33 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2021 13:35 von Bitklopfer.)
Beitrag #3
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
Hallo,
nun grundsätzlich ist das abfragen einer Webseite wo der Server im eigenen Heim steht kein Problem.
Dazu brauchst du entweder eine statische IP-Adresse von deinem Internet Provider für deinen Hausanschluß oder du nutzt einen DynDNS Dienst. Bei mir läuft das über Dnshome z.B.
Und dann mußt du in deinem Router wie z.B. einer Fritzbox ein Forwarding eintragen das der Router weiß an welche IP Adresse im Heimnetz die Anfrage weitergeleitet werden soll. Evtl. mußt da noch eine Portangabe hinzufügen wie z.B. 80 für Webseite.
Auf jeden Fall sollte dann dein Serverlein immer die gleiche IP Adresse haben wie du sie im Forwarding eingetragen hast.
Und da dein Zugriff innerhalbs des Heimnetzes schon funzt weißt dann auch schnell ob es mit dem externen Zugriff auch geht.
lgbk

Nachtrag, das was Tommy schreibt ist mir in deinem Code auch schon aufgefallen. Und btw. das mit dem angeben der Wunsch IP auf dem Arduino scheint zumindest bei mir nicht zu klappen weswegen ich in der Fritzbox der zum Ardi gehörigen MAC Adresse dann eine für ihn reservierte IP zuweise die nicht im DHCP Bereich enthalten ist.


An alle Neuankömmlinge hier, wenn ihr Code(Sketch) hier posten wollt dann liest euch bitte diese Anleitung durch.

Ich spreche fließend Schwäbisch, Deutsch das Notwendigste und für die Begriffsstutzigen erprobtes Tacheles mit direkten Hinweisen ohne Schnörkel...

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.01.2021, 13:33
Beitrag #4
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
(28.01.2021 13:21)Justus S. schrieb:  Ich habe meinen Webserver auf dem Arduino Uno endlich soweit zum laufen bekommen, dass ich ihn anpingen kann und auch etwas passiert.(statische IPv4 Adresse, Ports freigegeben)
Wenn ich allerdings von Außen drauf zugreifen will komme ich nicht auf die Website.
.....

Was genau heißt es: "von Außen darauf zugreifen" ?
Ist dein Netz mittels öffentlicher IP oder dyndns im Internet erreichbar ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:43
Beitrag #5
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
(28.01.2021 13:27)Tommy56 schrieb:  Das kommt mir falsch vor:
Code:
byte gateway[] = {
  192, 168, 178, 215
};
Dein Gatway ist die Box, also 192, 168, 178, 1

Gruß Tommy

Das ist mir auch schon aufgefallen, aber wenn ich den gateway änderere steht im Seriellenmonitor " Your IPadress is 192, 168, 178, 1"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:44
Beitrag #6
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
(28.01.2021 13:33)hotsystems schrieb:  
(28.01.2021 13:21)Justus S. schrieb:  Ich habe meinen Webserver auf dem Arduino Uno endlich soweit zum laufen bekommen, dass ich ihn anpingen kann und auch etwas passiert.(statische IPv4 Adresse, Ports freigegeben)
Wenn ich allerdings von Außen drauf zugreifen will komme ich nicht auf die Website.
.....

Was genau heißt es: "von Außen darauf zugreifen" ?
Ist dein Netz mittels öffentlicher IP oder dyndns im Internet erreichbar ?

Ich habe eine öffentliche Ip aber hab den dyndns service auch eingerichtet..
kann den server auch auf der arbeit anpingen also daran liegt es glaube ich nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:50
Beitrag #7
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
(28.01.2021 13:33)Bitklopfer schrieb:  Hallo,
nun grundsätzlich ist das abfragen einer Webseite wo der Server im eigenen Heim steht kein Problem.
Dazu brauchst du entweder eine statische IP-Adresse von deinem Internet Provider für deinen Hausanschluß oder du nutzt einen DynDNS Dienst. Bei mir läuft das über Dnshome z.B.
Und dann mußt du in deinem Router wie z.B. einer Fritzbox ein Forwarding eintragen das der Router weiß an welche IP Adresse im Heimnetz die Anfrage weitergeleitet werden soll. Evtl. mußt da noch eine Portangabe hinzufügen wie z.B. 80 für Webseite.
Auf jeden Fall sollte dann dein Serverlein immer die gleiche IP Adresse haben wie du sie im Forwarding eingetragen hast.
Und da dein Zugriff innerhalbs des Heimnetzes schon funzt weißt dann auch schnell ob es mit dem externen Zugriff auch geht.
lgbk

Nachtrag, das was Tommy schreibt ist mir in deinem Code auch schon aufgefallen. Und btw. das mit dem angeben der Wunsch IP auf dem Arduino scheint zumindest bei mir nicht zu klappen weswegen ich in der Fritzbox der zum Ardi gehörigen MAC Adresse dann eine für ihn reservierte IP zuweise die nicht im DHCP Bereich enthalten ist.

Danke für die Antwort. Hab auf all das geachtet, komme aber irgendwie nicht auf den Server..wenn ich den gateway auf 192.168.178.1 änderere zeigt der serielle monitor auch nicht mehr an, das auf ihn zugegriffenwird..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2021, 13:50
Beitrag #8
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
...und die Zuweisung DNS =
Code:
byte dns[] = {
  192, 168, 178, 1
};
kommt mir auch fremd vor...in meinen WiFi Anbindungen ist das nicht dabei...aber andere Lib andere Einstellungen möglicherweise...
Kommentier die Zeile mal aus und versuche dann im Heimnetz dein Serverlein nach nem Reset anzusprechen. Weil das ein Client die IP .1 bekommt kann nur ein Fehler wo sein.
lgbk


An alle Neuankömmlinge hier, wenn ihr Code(Sketch) hier posten wollt dann liest euch bitte diese Anleitung durch.

Ich spreche fließend Schwäbisch, Deutsch das Notwendigste und für die Begriffsstutzigen erprobtes Tacheles mit direkten Hinweisen ohne Schnörkel...

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
  Problem mit Neuem Bootlader installieren Warmbronner 10 532 27.06.2021 16:19
Letzter Beitrag: Bitklopfer
  Problem bei Multitasking und millis() Maxcruiser 41 2.156 01.06.2021 22:22
Letzter Beitrag: Maxcruiser
  Problem Relaisplatine Maui 14 1.467 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Problem mit "pow" awillib 9 1.167 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 684 20.02.2021 12:14
Letzter Beitrag: safitom
  Problem mit "Keyboard" und "Mouse" LK2567 4 759 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 505 02.02.2021 10:26
Letzter Beitrag: Lumplux
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 1.079 30.01.2021 11:07
Letzter Beitrag: daja64
  Arduino Uno+ Ethernetshield W5100 wird in Fritz Box nicht erkannt Justus S. 14 1.352 23.01.2021 13:39
Letzter Beitrag: Justus S.
  LCD via I2C Backlight-Problem Herby007 10 1.264 06.01.2021 14:46
Letzter Beitrag: Herby007

Gehe zu:


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