Quellcode des
uController-Programms:
Arduino-File zum DOWNLOAD
//Dieses Prgramm ist für einen Feather Huzzah ESP8266 Controller entworfen.
//Es wird vom Controller ein Webserver aufgebaut, auf dem verschiedene Buttons
erstellt werden.
//Durch das betätigen der Buttons kann ein Schrittmotor-Set "Daypower"
angesteuert werden, welches
//den Schlitten einer Kameraschine antreibt. Der Nutzer muss sich dafür mit dem
von Controller erstellten
//Hotsopt "KaSchi" verbinden und im Browser die IP-Adresse "192.168.4.1" öffnen.
Hierbei ist es esgal, auf welcher
//Plattform dies geschieht.
//
//
// Authoren: Clemens Greiner, Dominik Brosi
// Datum: 02.11.2016
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
//Erstellen von HTML- Buttons, die bei Betätigung etsprechende Events auslösen.
//Alle Buttons haben das selbe Aufbauprinzip, bestehend aus 3 Strings, welche
//Form und Aussehen bestimme. Beispielhaft wird die Erzeugung eines Buttons
kommentiert.
//+++++++++++++++ Taster Linkslauf+++++++++++++++++++++++++
String html1
=
"<!DOCTYPE html>\r\n<html>\r\n\
//HTML Objekt soll erstellt
werden
<head>\r\n<meta
content=\"text/html;
charset=ISO-8859-1\" http-equiv=\"content-type\">\r\n\
//initialisieren
<title>WebSchalter</title>\r\n\
//
<form
action=\"";
//
String html2
=
"\">\r\n<input value=\"Linkslauf\" style=\"";
// Name des Buttons, über den auch kontrolliert wird, ob dieser aktiviert ist
oder nicht.
String html3
=
" position: absolute; width:10em;height:5em; top: 10px; left: 50px; font-size:
40px;\" type=\"submit\">\
// Position,
Breite,Höhe,....festlegen.
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//Abschluss
//+++++++++++++++ Taster Rechtslauf+++++++++++++++++++++++++
String html4
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html5
=
"\"><input value=\"Rechtslauf\" style=\"";
String html6
=
" position: absolute; width:10em;height:5em; top: 10px; left: 480px;
width:10em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Start+++++++++++++++++++++++++
String html25
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html26
=
"\">\r\n<input value=\"Start\" style=\"";
String html27
=
"position: absolute; width:10em;height:5em; top: 210px; left: 50px;
width:10em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Stop+++++++++++++++++++++++++
String html7
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html8
=
"\">\r\n<input value=\"Stop\" style=\"";
String html9
=
"position: absolute; width:10em;height:5em; top: 210px; left: 480px;
width:10em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Virituelle Endlage Links+++++++++++++++++++++++++
String html10
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html11
=
"\">\r\n<input value=\"EndlageSetzenLinks\" style=\"";
String html12
=
" position: absolute; width:10em;height:5em; top: 410px; left: 50px;
width:10em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Virituelle Endlage Rechts+++++++++++++++++++++++++
String html13
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html14
=
"\">\r\n<input value=\"EndlageSetzenRechts\" style=\"";
String html15
=
" position: absolute; width:10em;height:5em; top: 410px; left: 480px;
width:12em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Endlage Neu Setzen+++++++++++++++++++++++++
String html16
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html17
=
"\">\r\n<input value=\"VirtuelleEndlagenLoeschen\" style=\"";
String html18
=
"position: absolute; width:10em;height:5em; top: 610px; left: 200px;
width:15em;height:5em; font-size: 40px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Geschwindigkeit Stufe 5+++++++++++++++++++++++++
String html19
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html20
=
"\">\r\n<input value=\"V5\" style=\"";
String html21
=
" position: absolute; width:3em;height:5em; top: 810px; left: 70px;
width:6em;height:5em; font-size: 25px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Geschwindigkeit Stufe 4+++++++++++++++++++++++++
String html22
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html23
=
"\">\r\n<input value=\"V4\" style=\"";
String html24
=
"position: absolute; width:3em;height:5em; top: 810px; left: 230px;
width:6em;height:5em; font-size: 25px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Geschwindigkeit Stufe 3+++++++++++++++++++++++++
String html28
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html29
=
"\">\r\n<input value=\"V3\" style=\"";
String html30
=
"position: absolute; width:3em;height:5em; top: 810px; left: 400px;
width:6em;height:5em; font-size: 25px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Geschwindigkeit Stufe 2+++++++++++++++++++++++++
String html31
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html32
=
"\">\r\n<input value=\"V2\" style=\"";
String html33
=
"position: absolute; width:3em;height:5em; top: 810px; left: 560px;
width:6em;height:5em; font-size: 25px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
//+++++++++++++++ Taster Geschwindigkeit Stufe 1+++++++++++++++++++++++++
String html34
=
"<!DOCTYPE html>\r\n<html>\r\n\
<head>\r\n<meta content=\"text/html; charset=ISO-8859-1\"
http-equiv=\"content-type\">\r\n\
<title>WebSchalter</title>\r\n\
<form action=\"";
String html35
=
"\">\r\n<input value=\"V1\" style=\"";
String html36
=
"position: absolute;width:3em;height:5em; top: 810px; left: 720px;
width:6em;height:5em; font-size: 25px;\" type=\"submit\">\
</form>\r\n</head>\r\n<body>\r\n</body>\r\n</html>";
ESP8266WebServer server(80);
// Server mit Port 80 initialisieren
const
int
motorPin1
=
15;
// - In 1
const
int
motorPin2
=
13;
// - In 2
const
int
motorPin3
=
12;
// - In 3
const
int
motorPin4
=
14;
// - In 4
// Pin 3V Controller -> pin 5V (VCC)
Shield
// Pin GND Controller -> pin GND Shield
int
LinkeEndlage
=
0;
// Linke Hardware-Endlage
int
RechteEndlage
=
2;
// Rechte Hardware-Endlage
//Variablen für Web-Taster zeigen ab, ob taster gedrückt wurde, Platzhalter oder
Counter.
// Wenn =0 --> betätigt, =1--> nicht betätigt
int
TLinks=1;
int
TRechts=1;
int
TStart
=1;
int
TStop=1;
int
TEndlageSetzenRechts=1;
int
TEndlageSetzenLinks=1;
int
TVirituelleEndlageLoeschen=1;
int
T1=1;
int
T2=1;
int
T3=1;
int
T4=1;
int
T5=1;
String Temp
=
"";
//Speichert alten Event Name
String EventName
="";
//Speichert Event Name
int
val=1;
// Variablen für Programmablauf
int
n=0;
// Laufrichtung-Speicher
int
nalt=0;
// Speicher für Stop-Funktion
int
Stopflag
=0;
// Stop aktiv? 0=nein, 1=ja
unsigned
int
Speed
=
3000;
// Delay-Time: nicht über 16000, nicht unter 3000
unsigned
long
Schritte=0;
// Srittzähler für virituelle Endlagen
unsigned
long
Runtime=0;
//Laufzeit
int
EndlageSet=0;
// Wurde bereits eine Endlage gesetzt?
int
EndlageBetaetigt
=0;
//Wurde eine Endlage erreicht?
int
StepCount=0;
//Zählt die Schritte zwispchen zwei virtuellen Endlagen
int
CheckVal
=0;
// Gegenprüfen der Zählervariable in der Loop-Schleide
unsigned
long
Klick=0;
//Laufzeit
// Hier werden den Web-Tastern Funktionen bzw. Eventnamen zugewiesen.
//Jedes betätigen eines Tasters setzt die Anderen zurück und verändert deren
Aussehen --> Grün/Grau
// Über das Klicken der Buttons werden die nachfolgenden Funktionen aufgerufen,
welche das Aussehen der Buttons im Web verändern,
//sowie Funktionen in der loop() Funktion aufrufen.
void
Index()
//Initialisieren aller Buttons(unbetätigt))
{
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
// Die hier angelegten Funtkionen (Linkslauf(),Rechtlauf(),Stop(),...)rufen
sowohl Aktionen in der loop() Schleife auf, setzen aber auch die HTML-Buttons
auf den korrelten
// betätigungszustand.
void
Linkslauf()
{
EventName
="Linkslauf";
//--> EventName wird im loop() abgefragt. Je nach String-Inhalt werden ander
Funktionen aufgerufen. Diese Zuweisung findet bei jedenm Button-Event statt.
TLinks=0;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Rechtslauf()
{
EventName
="Rechtslauf";
TLinks=1;
TRechts=0;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Start()
{
EventName
="Start";
TLinks=1;
TRechts=1;
TStart=0;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Stop()
{
EventName
="Stop";
TLinks=1;
TRechts=1;
TStart=1;
TStop=0;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Geschw1()
{
EventName
="Geschw1";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=0;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/.html");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"/.html");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/.html");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/.html");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/.html");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
".html");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/.html");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/.html");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/.html");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/.html");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/.html");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Geschw2()
{
EventName
="Geschw2";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=0;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/.html");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"/.html");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/.html");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/.html");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/.html");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
".html");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/.html");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/.html");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/.html");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/.html");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/.html");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Geschw3()
{
EventName
="Geschw3";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=0;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Geschw4()
{
EventName
="Geschw4";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=0;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
Geschw5()
{
EventName
="Geschw5";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=0;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
VirituelleEndlageLinks()
{
EventName
="VirituelleEndlageLinks";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=0;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
VirituelleEndlagenLoeschen()
{
EventName
="EndlageNeuSetzen";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=1;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=0;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
VirituelleEndlageRechts()
{
EventName
="VirituelleEndlageRechts";
TLinks=1;
TRechts=1;
TStart=1;
TStop=1;
TEndlageSetzenRechts=0;
TEndlageSetzenLinks=1;
TVirituelleEndlageLoeschen=1;
T1=1;
T2=1;
T3=1;
T4=1;
T5=1;
Temp
=
html1
+
String((TLinks)
?
"/Linkslauf.html"
:
"/");
Temp
+=
html2
+
String((TLinks)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html3;
Temp
+=
html4
+
String((TRechts)
?
"/Rechtslauf.html"
:
"");
Temp
+=
html5
+
String((TRechts)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html6;
Temp
+=
html25
+
String((TStart)
?
"/Start.html"
:
"/");
Temp
+=
html26
+
String((TStart)
?
"BACKGROUND-COLOR: #33C4FF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html27;
Temp
+=
html7
+
String((TStop)
?
"/Stop.html"
:
"/");
Temp
+=
html8
+
String((TStop)
?
"BACKGROUND-COLOR: #F62217;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html9;
Temp
+=
html10
+
String((TEndlageSetzenLinks)
?
"/VirituelleEndlageLinks.html"
:
"/");
Temp
+=
html11
+
String((TEndlageSetzenLinks)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html12;
Temp
+=
html13
+
String((TEndlageSetzenRechts)
?
"/VirituelleEndlageRechts.html"
:
"/");
Temp
+=
html14
+
String((TEndlageSetzenRechts)
?
"BACKGROUND-COLOR: #CCFFFF;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html15;
Temp
+=
html16
+
String((TVirituelleEndlageLoeschen)
?
"/VirituelleEndlagenLoeschen.html"
:
"/.html");
Temp
+=
html17
+
String((TVirituelleEndlageLoeschen)
?
"BACKGROUND-COLOR: #E8A317;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html18;
Temp
+=
html34
+
String((T1
)
?
"/1.html"
:
"/");
Temp
+=
html35
+
String((T1
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html36;
Temp
+=
html31
+
String((T2)
?
"/2.html"
:
"/");
Temp
+=
html32
+
String((T2)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html33;
Temp
+=
html28
+
String((T3
)
?
"/3.html"
:
"/");
Temp
+=
html29
+
String((T3
)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html30;
Temp
+=
html22
+
String((T4)
?
"/4.html"
:
"/");
Temp
+=
html23
+
String((T4)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html24;
Temp
+=
html19
+
String((T5)
?
"/5.html"
:
"/");
Temp
+=
html20
+
String((T5)
?
"BACKGROUND-COLOR: DarkGray;"
:
"BACKGROUND-COLOR: Chartreuse;")
+
html21;
server.send(200,
"text/html",
Temp);
}
void
setup()
{
// Motor-Pins als output festlegen
pinMode(motorPin1,
OUTPUT);
pinMode(motorPin2,
OUTPUT);
pinMode(motorPin3,
OUTPUT);
pinMode(motorPin4,
OUTPUT);
//Endlagen als input festlegen
pinMode(LinkeEndlage,
INPUT);
pinMode(RechteEndlage,
INPUT);
Serial.begin(115200);
// Serielle schnittstelle initialisieren --> beobachten über Seriellen Monitor
möglich(BaudRate auf 115200 stellen)
Serial.println("");
// Leere Zeile ausgeben
Serial.println("Starte
WLAN-Hotspot \"KaSchi\"");
WiFi.mode(WIFI_AP);
// access point modus - erstelle
eigenen HotSpot
WiFi.softAP("KaSchi");
// Name des Wi-Fi netzes
delay(500);
//Abwarten 0,5s
Serial.print("IP
Adresse ");
//Ausgabe aktueller IP des Servers
Serial.println(WiFi.softAPIP());
//Hier
werden die vom Server empfangegen Events, die vom drücken der Taster aktiviert
werden, abgefangen und Funktionen zugesiwesn
server.on("/",
Index);
server.on("/1.html",
Geschw1);
server.on("/2.html",
Geschw2);
server.on("/3.html",
Geschw3);
server.on("/4.html",
Geschw4);
server.on("/5.html",
Geschw5);
server.on("/Rechtslauf.html",
Rechtslauf);
server.on("/Linkslauf.html",
Linkslauf);
server.on("/Start.html",
Start);
server.on("/Stop.html",
Stop);
server.on("/VirituelleEndlageLinks.html",
VirituelleEndlageLinks);
server.on("/VirituelleEndlageRechts.html",
VirituelleEndlageRechts);
server.on("/VirituelleEndlagenLoeschen.html",
VirituelleEndlagenLoeschen);
server.begin();
// Starte den Server
Serial.println("HTTP
Server gestartet");
}
void
loop()
{
server.handleClient();
if(EndlageSet==2
&&
Stopflag!=1)
{
Serial.println("Ich
kapiere, dasss ich in den Loop muss!");
if(StepCount>0)
{
StepCount--;
Serial.println("Schrittanzahl");
Serial.println(StepCount);
}else
if(StepCount==0)
{
if(n==1)
{
n=2;
}else
if(n=2)
{
n=1;
}
StepCount
=
CheckVal;
}
}
if(digitalRead(LinkeEndlage)==LOW)
{
n=1;
digitalWrite(LinkeEndlage,
HIGH);
Serial.print("Linke
Endlage erreicht");
}
else
if(digitalRead(RechteEndlage)==LOW)
{
n=2;
digitalWrite(RechteEndlage,
HIGH);
Serial.print("Rechte
Endlage erreicht");
}
else{}
switch(n)
{
case
0:
MotorStop();
break;
case
1:
rechtsrum(Speed);
break;
case
2:
linksrum(Speed);
break;
case
3:
MotorStop();
break;
case
4:
rechtsrum(Speed);
break;
case
5:
MotorStop();
break;
case
6:
linksrum(Speed);
break;
}
/**************************--------WIFI Verbindung aufgebaut->
Eventabfrage-----------------***************************************/
if
(EventName
=="Stop")
{
Serial.println("Befehl
erhalten -> Stop");
nalt=n;
Stopflag=1;
n
=0;
}
if
(EventName
=="Start")
{
Serial.println("Befehl
erhalten -> Start");
if(n==0
&&
nalt==0)
{
Stopflag
=0;
n=1;
}
else{
Stopflag=0;
n
=nalt;
}
}
if
(EventName
=="Rechtslauf"&&EndlageSet==0)
{
Serial.println("Befehl
erhalten -> Rechtslauf");
n
=1;
}
if
(EventName
=="Linkslauf"&&EndlageSet==0
)
{
Serial.println("Befehl
erhalten -> Linkslauf");
n
=2;
}
if
(EventName
=="Geschw1")
{
Serial.println("Befehl
erhalten -> Geschwindigkeit 1");
Speed
=
10000;
}
if
(EventName
=="Geschw2")
{
Serial.println("Befehl
erhalten -> Geschwindigkeit 1");
Speed
=
8250;
}
if
(EventName
=="Geschw3")
{
Serial.println("Befehl
erhalten -> Geschwindigkeit 1");
Speed
=
6500;
}
if
(EventName
=="Geschw4")
{
Serial.println("Befehl
erhalten -> Geschwindigkeit 1");
Speed
=
4750;
}
if
(EventName
=="Geschw5")
{
Serial.println("Befehl
erhalten -> Geschwindigkeit 1");
Speed
=
3000;
}
if
(EventName
=="EndlageNeuSetzen")
{
Runtime=0;
Schritte=0;
StepCount=0;
EndlageSet=0;
n=0;
}
if((EventName
=="VirituelleEndlageLinks"||EventName
=="VirituelleEndlageRechts")&&EndlageSet==1)
//überprüfen,ob die zweite virituelle Endlagen betätigt wurde
{
Runtime
=
Schritte;
// Runtime soll die bisherige Anzahl an Schritten sein.
StepCount
=
Runtime;
CheckVal
=
Runtime;
EndlageSet=2;
// Rücksetzen der Endlageabfrage, so
dass die Endlage gegebenenfalls verschoben werden kann
if(EventName
=="VirituelleEndlageLinks")
// prüfen ob linke Endlage gewählt wurde
{
n=1;
// Motor soll nach rechts drehen
Serial.println("2.
VE links gesetzt -> Rechtsdrehung");
Serial.println(EndlageSet);
}else
if(EventName
=="VirituelleEndlageRechts")
// prüfen ob rechte ENdlage gewählt wurde
{
n=2;
// Motor soll nach links drehen
Serial.println("2.
VE links gesetzt -> Linksdrehung");
Serial.println(EndlageSet);
Serial.println("Schrittanzahl");
Serial.println(StepCount);
}
}
if((EventName
=="VirituelleEndlageLinks"||EventName
=="VirituelleEndlageRechts")&&EndlageSet==0)
//überprüfen, ob einer der beiden virituellen Endlagen betätigt wurde
{
Schritte=0;
// Schrittzähler auf null setzen
Runtime=0;
// Runtime auf null setzen
EndlageSet=1;
// Bestätigen, dass EINE Endlage ausgewählt wurde
if(EventName
=="VirituelleEndlageLinks")
// prüfen ob linke Endlage gewählt wurde
{
n=1;
// Motor soll nach rechts drehen
Serial.println("1.
VE links gesetzt -> Rechtsdrehung");
Serial.println("EndlageSet:");
Serial.println(EndlageSet);
}else
if(EventName
=="VirituelleEndlageRechts")
// prüfen ob rechte ENdlage gewählt wurde
{
n=2;
// Motor soll nach links drehen
Serial.println("1.
VE rechts gesetzt -> Linksdrehung");
}
}
EventName="";
}
void
rechtsrum(unsigned
int
motorSpeed)
//Steuert die Motorwindungen so an, dass er rechts herum dreht.
{
// 1
digitalWrite(motorPin4,
HIGH);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
LOW);
delayMicroseconds(motorSpeed);
// 2
digitalWrite(motorPin4,
HIGH);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
LOW);
delayMicroseconds(motorSpeed);
// 3
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
LOW);
delayMicroseconds(motorSpeed);
// 4
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin1,
LOW);
delayMicroseconds(motorSpeed);
// 5
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin1,
LOW);
delayMicroseconds(motorSpeed);
// 6
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin1,
HIGH);
delayMicroseconds(motorSpeed);
// 7
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
HIGH);
delayMicroseconds(motorSpeed);
// 8
digitalWrite(motorPin4,
HIGH);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
HIGH);
delayMicroseconds(motorSpeed);
Schritte++;
}
void
linksrum(unsigned
int
motorSpeed)//Steuert
die Motorwindungen so an, dass er links herum dreht.
{
// 1
digitalWrite(motorPin1,
HIGH);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin4,
LOW);
delayMicroseconds(motorSpeed);
// 2
digitalWrite(motorPin1,
HIGH);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin4,
LOW);
delayMicroseconds(motorSpeed);
// 3
digitalWrite(motorPin1,
LOW);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin4,
LOW);
delayMicroseconds(motorSpeed);
// 4
digitalWrite(motorPin1,
LOW);
digitalWrite(motorPin2,
HIGH);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin4,
LOW);
delayMicroseconds(motorSpeed);
// 5
digitalWrite(motorPin1,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin4,
LOW);
delayMicroseconds(motorSpeed);
// 6
digitalWrite(motorPin1,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin3,
HIGH);
digitalWrite(motorPin4,
HIGH);
delayMicroseconds(motorSpeed);
// 7
digitalWrite(motorPin1,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin4,
HIGH);
delayMicroseconds(motorSpeed);
// 8
digitalWrite(motorPin1,
HIGH);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin4,
HIGH);
delayMicroseconds(motorSpeed);
Schritte++;
}
void
MotorStop()
//Schaltet alle Motorwindungen ab
{
digitalWrite(motorPin4,
LOW);
digitalWrite(motorPin3,
LOW);
digitalWrite(motorPin2,
LOW);
digitalWrite(motorPin1,
LOW);
}