vielen dank für die hilfe...
@HAWE - excellent erklärt auf der webseite
@Ceos - netter versuch, aber wer Dein lösungsvorschlag versteht, der hätte vermutlich nicht meine frage gestellt
vielen dank für die hilfe...
@HAWE - excellent erklärt auf der webseite
@Ceos - netter versuch, aber wer Dein lösungsvorschlag versteht, der hätte vermutlich nicht meine frage gestellt
gruß inka
okay, hatte jetzt GRundkenntnisse in PHP und dessen Funktionsweise vorausgesetzt@Ceos - netter versuch, aber wer Dein lösungsvorschlag versteht, der hätte vermutlich nicht meine frage gestellt
aber einfach asugedrückt, damit kann man genauso wie mit Arduino eine Art Webserver auf dem Controller aufsetzen, aber während der HTML Code übertragen wird, wird auch der PHP/Python Code vom Webserver selbst ausgeführt der in der Datei steht
und der ist so geschrieben, dass er wiederum das HTML Dokument in dem er steht an den passenden Stellen um Informationen ergänzt
Wenn du jetzt noch JavaScript einbettest (welches auf deinem Browser läuft) kannst du sogar einen live feed von Steuerinformationen zwischen der Webseite als GUI und deinem ESP controller aufbauen die parallel über eine Socket läuft
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
ich denke, wenn sich jemand noch gar nicht mit webserver oder wifiserver und ~clients auskennt, wie die Inkas Frage vemuten lässt, würde hier nur ein wirklich benutzbares Codebesispiel helfen (welcher html code, welcher php Code, welcher Python Code, welcher Javasript Code, was für ein flask, was für ein bottle, was für ein Socket - und was ist das überhaupt?)
- ich selber verstehe von dem, was du geschrieben hast, zugegebenermaßen auch KEIN Wort
wie gesagt, ohne Verständnis wie PHP funktioniert müsste ich etwas weiter ausholen, aber im Grunde ist das Konstrukt simple:
du hast eine etwas unvollständige HTML Seite, quasi einen Rumpf zum Darstellen der GPIOs als Beispiel.
wenn du die Webseite aufrufst wird dann der HTML Code ausgegeben wie bei einem stumpfen HTML-Webserver
aber du könntest bei PHP halt PHP-Script und bei Flask halt Python-Code einfach in deinem HTML Code einbetten
dieser wird beim Öffnen der Webseite auf der Seite des Servers aufgerufen, hat also Zugriff auf GPIO und ruft dessen Zustand ab
und gibt dann über die print-Funktion zum Beispiel den passenden HTML Code aus, der an diese Stelle gehört damit man 8 grün eLämpche für die GPIO Pins bekommt
Wenn du jetzt noch vermeiden willst die Seite immer neu zu laden zum Aktualisieren, musst du auch Javascript benutzen und im Browser per Javascript direkte Socket Verbindung zusätzlich zur Webverbindung aufbauen über die kontinuierlich Daten ausgetauscht werden, welche dann in der Webseite im Browser per Javascript aktualisiert werden.
Aber das ist schon eher Königsklasse ohne fertige Frameworks oder passende Libs, trotzdem Reizvoll, wollte schonmal ein Browsergame basierend auf Flask machen das man per Handy und WLAN spielen kann und der Server ist sowass wie das Spielbrett
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
die Fragen, die sich MIR da aufdrängen, sind:
was ist ein "stumpfer HTML-Webserver"?
wie sieht ein "PHP-Script" aus?
wie sieht ein "Python-Code" aus, insb. "einfach in HTML Code eingebettet"?
was ist das genau mit "bei Flask halt Python-Code"?
was ist das mit dem "über die print-Funktion" und was ist ein "passender HTML Code ", damit "man 8 grüne Lämpche für die GPIO Pins bekommt " ?
wie genau geht "musst du auch Javascript benutzen",
wie geht "im Browser per Javascript direkte Socket Verbindung zusätzlich zur Webverbindung aufbauen"
wie geht das mit "dann in der Webseite im Browser per Javascript aktualisiert werden"
ich hoffe du verstehst, worauf ich hinaus will...
ohne fertigen, vollständigen Code für einen ESP32 (!) und weitergehende Anleitungen wird das keiner verstehen, der die Eingangsfrage
überhaupt gar nicht erst gestellt hättemich würde interessieren wie Du das ansteuern der motoren über die webseite machst... geht das z.b. auch mit esp32?
Das einzige was ich aus deiner Antwort lese ist, das du dich nichtmal 5 Minuten mit Google hinsetzen willst um zu gucken wie ein Webserver funktioniert, wie PHP aussieht und wie es Grundlegend funktioniert Webseiten dynamisch zu gestalten. (Nein ich meine keine Animationen sondern aktualisieren mit externen Daten)ich hoffe du verstehst, worauf ich hinaus will...
ohne fertigen, vollständigen Code für einen ESP32 (!) und weitergehende Anleitungen wird das keiner verstehen, der die Eingangsfrage
Wenn du dir wenigstens die Mühe machen würdest die Grundlagen selber zu erarbeiten würden sich dir die Zusammenhänge ergeben und bis auf 3 Fragen alles beantwortet.
Eine Webseite mit JS einen Socket öffnen zu lassen und dann das HTML Dokument mit den ausgetauschten Daten updaten sind schon 2 Dinge die eher als Königsdisziplin gelten
und das "print passenden HTML Code" musst du dir einfach wie Lückentext vorstellen, der statische HTML Code ist nur der Rumpf der Webseite und hat Lücken(zum Beispiel ein Platzhalter und Text für die GPIO Pins), die man mit den Ausgaben aus dem Python oder PHP auffüllt (zum Beispiel mit grünen Kreisen und dem Wort "Off" für Pins die Aus sind)
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
wie genau ein webserver funktioniert, war doch eigentlich genau die Gretchenfrage, zugespitzt auf ESP32.
ich persönlich weiß noch nicht mal was ein Socket genau ist, geschweigedenn wie man ihn öffnet. ich kenne auch weder JS noch Python, und auch html kann ich nicht (weder stumpf noch spitz) - höchstens versuchen, fertigen Code zu verstehn wie in meinem Arduino-ESP-Link, aber selbst da sind 90% für mich reine "??????????????????".
Wie man ein print in C/++ schreibt weiß ich (printf() oder bei Arduino Serial.print()), aber was und wie ich wo bei deinem Code an welches print an welcher Codestelle hinschreiben müsste: absolut nicht. Du setzt viel zu viel voraus, und wenn du es erklären willst, dann verweise nicht einfach auf Google, sondern zeig es doch einfach, wie es genau geht!
hallo,
mit diesem link
https://lastminuteengineers.com/crea...r-arduino-ide/
habe ich alles, was zu der beantwortung meiner ursprünglichen frage notwendig war, bekommen, nochmals danke HAWE.
Ich möchte weder htm/l, noch php oder python lernen und es aus dem "ff" beherrschen. Mein ziel ist - zugegebenermassen - ein oberflächliches verstehen eines funktionierenden arduino-codes (wie im beispiel von HAWE, mit erklärungen und kommentaren zu einzelnen sequenzen) mit dem ich experimentieren und noch etwas mehr lernen kann. Können wir das thema damit abschliessen?
gruß inka
es ging mir ja auch zugegebenermaßen um meine allererste Frage, worauf man so eine Steuerung am einfachsten/besten aufsetzt.
ESP/Arduino war mir das naheliegendste und andere Software-Plattformen fand ich eher verwirrend als hilfreich. Allerdings habe ich jetzt immer noch den Eindruck, dass es mit dem Arduino-html-webserver nicht wirklich (schon gar nicht viel) komplizierter ist als mit JS, php, oder python/Flask/bottle.
Ein bisschen html braucht man allerdings schon immer, um Schrift, Messwerte, Grafen und Steuerbuttons etc. halbwegs vernünftig einzubinden.
mir persönlich erschien die ganzen Ein-und Ausgaben bzw. File-Handles selber zu verwalten um die Aufrufe abzuarbeiten als zu lästig dass ich mich dann eben für µPython entschieden habe
@HaWe dein Beispiel zeigt ziemlich genau was ich meine
das Hauptprogramm besteht wie in der gelinkten Webseite nur aus einer Zuordnung von Handles zu Aufruf-Adressen und jeder Aufruf löst halt eine methode aus.
Aber das entscheidende ist, dass man sich die Templates selber mit Textmarkern bauen muss um dann entsprechend Variablen übergeben zu können oder täusche ich mich da?
also in Python gibt es die
render_template("templatefile.txt", var1 = val1, var2 = val2, ...)
bei der man quasi nur befiehlt das Template zu laden, enthaltenen Code auszuführen und das Ergebnis zurück zu geben. So hat man maximale Trennung von individueller Webseite und Kern Server, wie bei PHP eben
aber bei Arduino müsste ich mir selber die html bauen, parsen und entweder über Marker oder eben JS die WEbseite anschließend mit Daten füllen
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Lesezeichen