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
Webserver
03.12.2013, 12:09
Beitrag #1
Webserver
hallo
hat wer ein beispiel für einen Webserver.
wo ich mit einem Button led oder so schalten kann.
Die html Seite soll auf eine SD Karte gespeicher werden.
hier mal mein Code

Sketch code
#if ARDUINO > 18
#include <SPI.h> // Für Arduino Version größer als 0018
#endif
#include <Ethernet.h>
#include <TextFinder.h>
#include <SD.h>

byte mac[] = { 0x5A, 0xA2, 0xDA, 0x0D, 0x56, 0x7A }; // MAC-Adresse des Ethernet-Shield
byte ip[] = { 132, 180, 170, 32 }; // IP zum aufrufen des Webservers
byte sdPin = 4; // Pin der SD-Karte

EthernetServer server(80); // Server port

File webFile;

void setup()
{
Ethernet.begin(mac, ip); // Client starten
server.begin(); // Server starten
Serial.begin(9600);
Serial.println("ARDUINO - STEUERUNG");

Serial.println("Initialisiere SD-Karte...");
if (!SD.begin(sdPin))
{
Serial.println(" - Initialisierung der SD-Karte fehlgeschlagen!");
return;
}
Serial.println(" - SD-Karte erfolgreich initialisiert.");

if (!SD.exists("index.htm"))
{
Serial.println(" - Datei (index.htm) wurde nicht gefunden!");
return;
}
Serial.println(" - Datei (index.htm) wurde gefunden.");

Serial.println();
Serial.println("Verbraucher schalten");
}

void loop()
{
EthernetClient client = server.available(); // Auf Anfrage warten

if(client)
{
/*****************************************
Ausgänge über das Webformular steuern *
*****************************************/
TextFinder finder(client);

if(finder.find("GET"))
{
while(finder.findUntil("pin", "\n\r"))
{
char typ = client.read();
int pin = finder.getValue();
int val = finder.getValue();

if(typ == 'D')
{
pinMode(pin, OUTPUT);
digitalWrite(pin, val);
Serial.print(" - D"+String(pin));
}
else if(typ == 'A')
{
analogWrite(pin, val);
Serial.print(" - A"+String(pin));
}
else Serial.print(" - Falscher Typ");

if(val==1) Serial.println(" ein"); else Serial.println(" aus");
}
}

/************************
Webformular anzeigen *
************************/
boolean current_line_is_blank = true; // eine HTTP-Anfrage endet mit einer Leerzeile und einer neuen Zeile

while (client.connected())
{
if (client.available()) // Wenn Daten vom Server empfangen werden
{
char c = client.read(); // empfangene Zeichen einlesen
if (c == '\n' && current_line_is_blank) // wenn neue Zeile und Leerzeile empfangen
{ // Standard HTTP Header senden
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();

// Website von SD-Karte laden
webFile = SD.open("index.htm"); // Website laden
if (webFile)
{
while(webFile.available())
{
client.write(webFile.read()); // Website an Client schicken
}
webFile.close();
}
break;
}
if (c == '\n')
{
current_line_is_blank = true;
}
else if (c != '\r')
{
current_line_is_blank = false;
}
}
}
delay(1);
client.stop();
}
}


HTML seite

html code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Haussteuerung</title>
<style type="text/css">
h2 { margin-bottom:5px; }

</style>




</head>
<body>



<body text="#000000" bgcolor="#C0C0C0" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h1 align="center" color="black" font face="arial">Haussteuerung </h1>




<form action="/?pinD6=1"method="get">
<input type=submit name=Raum value=Küche onmousedown="this.style.backgroundColor='#1A0F3E'" onmouseup= "this.style.backgroundColor='#15465C'" style=color:#FAFDFD;font-size:30px;width:500px;height:70px;background-color:#15465C >
</form>

es soll der Pin D6 eingeschaltet werden.
Das ganze hab ich mir als Beispiel im internet geholt nur ich will die buttons anpassen.
Aber ich bekomme es nicht hin.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.12.2013, 13:43
Beitrag #2
RE: Webserver
Hallo Andreas,

ich habe im Netz eine gute Bauanleitung für Dein Problem gefunden, bei mir funz es

hier d. Link http://fluuux.de/2013/03/arduino-als-web...rte-laden/

Gruß Byter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.12.2013, 15:09
Beitrag #3
RE: Webserver
Danke für die Info aber es klappt jetzt ganz gut hab ein paar Beispiele gefunden.
Klappt super gut.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 ESP12-E Webserver-Frage Claus_M 8 236 14.11.2016 22:02
Letzter Beitrag: Claus_M
  Webserver + Bild als Hintergrund ?! Marc2014 8 244 11.10.2016 21:39
Letzter Beitrag: Bitklopfer
  ESP8266 Webserver Programmieren HDT 11 752 23.08.2016 13:28
Letzter Beitrag: HDT
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 447 22.08.2016 08:07
Letzter Beitrag: b3ta
  ESP8266 Webserver Marc2014 0 346 30.07.2016 20:15
Letzter Beitrag: Marc2014
Question Webserver, Client, Loop Marc2014 6 363 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Wetterstation mit Vorhersage auf Webserver reimundko 8 587 05.06.2016 16:06
Letzter Beitrag: reimundko
  Webserver Textfeld jannis.f 15 1.927 15.05.2016 16:48
Letzter Beitrag: avoid
  Webserver erzeugt zwei Durchläufe. favicon.ico?!? WOHER??? BERND87 6 1.572 04.02.2016 13:56
Letzter Beitrag: Pit
  Schalten mit dem ESP-Webserver und dem Purebasicprogramm und dem Arduino arduinofan 10 1.022 28.12.2015 12:16
Letzter Beitrag: Bitklopfer

Gehe zu:


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