ich bin mal wieder an meiner Solarsteuerung. Nun habe ich Ihr einen Mega mit Ethernetsheeld spendiert.
Das Ganze funktioniert auch. Ich habe den Webserver-Sketch umgestrickt und es werden schon die ersten Messwerte im Browser dargestellt.
Schön währe es wenn ich eine einfache grafische Oberfläche mit verschiedenen Symbolen ,Rechtecke Kreise u.s.w., die den Aufbau meiner Anlage schematisch darstellen sollten, programieren könnte.
Das Ganze sollte mittels eines Browsers ,zuerst in meinem Netzwerk und später eventuell im Internet zu sehen sein.
Ich bin auf folgende Seite gestoßen : HTML/Tutorials – SELFHTML-Wiki Diese ist sehr vertändlich für einen Anfänger.
Allerdings lassen sich die meisten Befehle nicht direkt in den Ethernetsketch einbinden.
Warscheinlich lauten die für das W5100 etwas anders.
Kennt jemand eventuell ein Tuturial speziell für die html-Befehle mit dem Arduino.
Schon seit ein paar Tagen google ich schon bin aber nicht wirklich viel schlauer.
Danke für die schnelle Antwort.
Gerade bin ich kräftig an experimentieren.
Sachen wie den Seiten Titel zu benennen mittels client.print("Solaranlage Rudi Hamma"); gelingen schon
Doch wenn ich ein Befehl wie zum Beispiel: client.print("p { font-size: 1.5em; }");
eingebe dann erscheint dieser Befehl als Klartext und wird nicht als Befehl ausgeführt.
Woran ligt das denn?
Aber tu dir das alles auf dem AVR nicht an! Das geht schieft. Dafür sind die Teile einfach nicht ausgelegt. Besser wäre es, wenn du die Messwerte sammelst und zB mit dem Raspberry Pi aufwertest.
ist kein befehl, sondern eine css-formatierung. die kannst Du in keiner werseite einfach so eingeben.
schau mal bei selfhtml, wie es funktioniert, dann schreibe es einfach in eine html-datei, die auf Deinem desktop liegt und mach nen doppelklick drauf. Dein browser zeigt Dir dann das ergebnis an.
wenn das funktioniert, arbeite mit dem arduino. aber davon bist Du noch ein stückchen weg...
hier ist mal das "font-size"-beispiel von selfHTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>font-size</title>
<style>
h2 { font-size: 48px; }
p { font-size: 1.2em; }
a { font-size: 0.7cm; }
</style>
</head>
<body>
<h1>Schriftgrößen mit font-size</h1>
<h2>Erlaubte Werte</h2>
<p>Es ist empfehlenswert, die Unterschiede zwischen
<a href="http://wiki.selfhtml.org/...">absoluten</a>
und <a href="http://wiki.selfhtml.org/...">relativen</a>
Längenmaßen zu kennen.
</p>
</body>
</html>
code kopieren, in eine neue textdatei einfügen. speichern.
unter windows: im explorer auf extras > ordneroptione > reiter ansicht. dort "erweiterungen bei bekannten dateitypen" : häkchen weg.
dann siehst Du bei Deiner textdatei die erweiterung ".txt" das auf html ändern.
mit einem doppelklick darauf geht die datei in Deinem browser auf.
das
p { font-size: 1.2em; }
geht nur, weil es im head - bereich innerhalb von style - tags steht.
Es scheint aber doch ein Unterschied zu sein ob ich die Seite in einem Pc erstelle oder ob ich das Ganze ein Ethernet-Sheeld machen lasse.
So funktionieren "" nicht da die IDE meckert und danach z.B. eine ) haben will.
Einen Raspi will ich eigentlich nicht einsetzen.
Es sollen nur 5-6 Messwerte , 3-4 Zustände und noch eventuell einige Textmeldungen sein.
Das müsste doch mit einem Mega zu machen sein oder.
dafür brauchst Du nicht mal einen mega, da reicht ein uno locker. eine bedingung: der uno hängt in Deinem netzwerk mit internet-zugang. dann nimmt Dir die jQuery-bibliothek viel ab, und die liegt im internet.
falls nicht im internet, bringst Du auf einem mega auch schon viel zustande.
zu dem " ' problem.
einem browser ist es egal, ob Du " oder ' verwendest. einem uno nicht. bau die webseite also mit ', die " brauchst Du erst später dann im arduino für andere dinge, dort bleibt ' für html und " für die arduino-eigenen funktionen.
Raw Strings schreibt man so: R"( ... )"
Damit kann man den HTML Code praktisch direkt in die IDE kopieren
Dazu diese Datei öffnen:
x:\Arduino\hardware\arduino\avr\platform.txt
Und bei compiler.cpp.flags hinten -std=gnu++11 anhängen
Arbeitet aber irgendwie nicht richtig mit dem F() Makro zusammen. Also habe ich die PROGMEM Behandlung per Hand gemacht. Was anderes macht die Arduino Software intern auch nicht wirklich
Dadurch belegt der String kein RAM. Vor allem auf dem UNO sehr wichtig!
Eine andere doofe Sache ist dass die Arduino IDE irgendwie Hyperlinks versaut und es keine Möglichkeit gibt das zu unterbinden. In Visual Studio kann man das abstellen
Es scheint aber doch ein Unterschied zu sein ob ich die Seite in einem Pc erstelle oder ob ich das Ganze ein Ethernet-Sheeld machen lasse.
So funktionieren "" nicht da die IDE meckert und danach z.B. eine ) haben will.
Nein!
Ob du Arduino C/C++ oder ein PC C/C++ verwendest, das Problem hast du auf beiden Systemen identisch.
Also wenn man die korrekte Syntax nimmt, geht auf dem Mega unheimlich viel in HTML.
Auch Bilder und Grafiken kann man ja problemlos von extern einbinden. Auch komplizierte css gehen, weil auch diese kann man von extern einbinden. Notfalls kann ich sogar iframes reinpacken, die mir Daten von extern auswerten und innerhalb der vom Mega präsentierten Webseite darstellen.
Anklickbare Knöpfe und Symbole zur einfacheren "visuellen" Erkennung geht auf die gleiche Art und Weise.
Einschränkung: Ich brauche ein PC oder NAS im Internen Netz 24/7 on, oder Zugang zum Internet und etwas Webspace.