Webserver auf einem nodeMCU 1.0, bei mir. Ich habe noch mehrere davon.
Die Webseite ist als Browseranwendung konzipiert und wird vom Webbrowser geladen. Danach ausgeführt, weil die ganze Seite überwiegend aus JavaScript besteht. So wird sie auch im Browser aufgebaut. Dazu habe ich eine Fensterverwaltung in JavaScript gebaut. So wird ein Fenster (eigentlich ein DIV-Container) geöffnet und darin Sachen eingebettet, die zur Laufzeit des JavaScript zusammengesetzt werden. Das Hauptfenster ist 100% breit und 100% hoch, damit füllt es den Webbrowser aus.
Kommuniziert wird ausschließlich mit dem Webserver. Von dort werden die Daten dann verteilt, auf einen AVR. Z.B. über serielle Schnittstelle.
"Variablen" ist ein Organisationsobjekt, weiter nichts. Die Unterobjekte ebenfalls. Sie folgen aber einem bestimmten Aufbau. Zuerst steht dort "variable" dann die Nummer, dann ein aussagekräftiger Text.
Am Ende muss das nicht von der einen Stelle an eine Andere. Es geht nur darum, dass ich das nachher beim Programmieren verwenden kann. Entspricht etwas einem "#define Strecke_1 0" in Arduino-C.
Mit den Funktionen ist es ähnlich. Es gibt einen Text dafür (kann man lesen und verstehen) und darunter noch mindestens ein Objekt "code", dem ein Wert zugeordnet wird. Die Stapelverarbeitung selbst befindet sich in der Firmware für das Gerät. Dort würde dann auf den Code 20 mit "Motoren aus" reagiert, weil entsprechend eine Funktion dafür hinterlegt ist. Wenn ich aber die Funktionen schon alle aufführe, kann ich sie auch in Menüs übernehmen, aus denen ich sie dann als eine Zeile im "Programmcode" übernehmen kann (anklicken und Button [OK] anklicken). Zum Debuggen später ist es auch gut, wenn das dann irgendwo als Klartext erscheint. Ich muss mir nur gründlich überlegen, wie die Informationen strukturiert sein sollen.
Die Stapel sind ja nichts weiter als einfache Programmabläufe. Eben wie in Stapelverarbeitungsdateien unter DOS. Ja, dort wird alles, Zeile für Zeile untereinander angeordnet. Das isz ja meistens so. In PHP, Javascript, Basic. Am ehesten würde ich das mit GW-Basic vergleichen oder BAsic auf dem C64. Dort gibt es einzelne, nummerierte Programmzeilen. Wenn es umgewandelt ist, ist es nur noch ein Zahlenblock, der durch die Firmware (z.B. auf einem AVR) abgearbeitet werden kann.
Um diese Stapel zu "befüllen", gehe ich auf das übergeordnete Objekt und wähle den Menüpunkt "Objekt hinzufügen". Je nach Objekt erhalte ich dann eine unterschiedliche Auswahl, was ich dem Objekt unterordnen kann. Zum Beispiel irgendwelche andern Objekte oder Scriptzeilen, die auch nur Objekte sind.
Lesezeichen