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, 15:20
Beitrag #9
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
(28.01.2021 13:50)Bitklopfer schrieb:  ...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
hab den code mal um ein paar zeilen erleiechtert.
jetzt hab ich auch das problem nicht mehr mit dem gateway.. aber komme immer noch nicht drauf -_-

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
31.01.2021, 17:37
Beitrag #10
RE: Arduino Uno+ Ethernetshield W5100 Website Problem
Ich habe mal meinen Mega2560 mit Ethernetshield ausgegraben und einen Testwebserver drauf installiert, der bei mir im lokalen Netz mit DHCP problemlos funktioniert. Von außen teste ich nicht, da ich dafür keinen Bedarf habe und mir kein Loch ins System bohren will.
Evtl. kannst Du darauf aufbauen.

Die Ausgabe beim Start ist:
Code:
Start Webserver mit DHCP
server is at 192.168.178.36
Gateway: 192.168.178.1
DNS-Server: 192.168.178.1

Die Ausgabe im Browser:
Code:
analog input 0 is 365
analog input 1 is 415
analog input 2 is 394
analog input 3 is 380
analog input 4 is 354
analog input 5 is 299

Die Ausgabe im Monitor dazu:
Code:
new client
GET / HTTP/1.1
Host: 192.168.178.36
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

client disconnected

Der Code:
Code:
/*
  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[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 178, 4);

// 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(115200);
  Serial.println("Start Webserver mit DHCP");

  // start the Ethernet connection and the server:
  Ethernet.begin(mac);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  Serial.print("Gateway: ");
  Serial.println(Ethernet.gatewayIP());
  Serial.print("DNS-Server: ");
  Serial.println(Ethernet.dnsServerIP());
}


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("<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 disconnected");
  }
}

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem bei Multitasking und millis() Maxcruiser 41 1.671 01.06.2021 22:22
Letzter Beitrag: Maxcruiser
  Problem Relaisplatine Maui 14 1.214 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Problem mit "pow" awillib 9 1.031 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 604 20.02.2021 12:14
Letzter Beitrag: safitom
  Problem mit "Keyboard" und "Mouse" LK2567 4 667 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 457 02.02.2021 10:26
Letzter Beitrag: Lumplux
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 953 30.01.2021 11:07
Letzter Beitrag: daja64
  Arduino Uno+ Ethernetshield W5100 wird in Fritz Box nicht erkannt Justus S. 14 1.184 23.01.2021 13:39
Letzter Beitrag: Justus S.
  LCD via I2C Backlight-Problem Herby007 10 1.156 06.01.2021 14:46
Letzter Beitrag: Herby007
  OLED Bildschirm Problem JoeIsFame 79 3.917 04.01.2021 06:41
Letzter Beitrag: Bitklopfer

Gehe zu:


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