Visualisierung mit HTML und JavaScript

  • Hallo zusammen,


    Ich habe gerade ein leichtes Verständnisproblem.

    Mein Ziel ist es eine einfache Temperatur und Zeitsteuerung zu Programmieren und den Status auf einer Webseite im LAN anzeigen zu lassen und Änderungen vornehmen zu können.


    Ich möchte also aktuelle Temperaturen sehen, Zeiten verändern usw.


    Kenntnisse in Javascript und HTML sind vorhanden.


    Womit setze ich jetzt das eigentliche Steuerungsprogramm um und wie übergebe ich die Werte am besten Live an die Weboberfläche?


    Ist Node.js dafür das richtige?


    Besten Dank :)

  • Hallo,


    die serverseitige Komponenten (also in dem Fall das, was auf dem Raspi läuft), kannst du in jeder Programmiersprache erstellen, die a) Zugriff auf die GPIOs erlaubt und b) die Erstellung vom Webapplikation erlaubt.

    Python kann das mit der Kombi aus z.B. Flask und gpiozero. node.js wäre für die serverseitige Komponente auch geeignet - müsstest halt mal schauen, ob ein node.js Package gibt, dass den GPIO Zugriff erlaub.


    Wenn du Daten "live" sehen willst, sollte deine Webseite über die JS fetch-API mit dem Server sprechen.


    Ganz trivial wird das ganze aber nicht, zumindest nicht der Teil mit der Zeitsteuerung.


    Gruß, noisefloor

  • > Mein Ziel ist es eine einfache Temperatur und Zeitsteuerung zu Programmieren und den Status auf einer Webseite im LAN anzeigen zu lassen

    Das geht mit AJAX, zum Beispiel so: https://blog.heimetli.ch/sensehat-ajax-flask.html


    > Womit setze ich jetzt das eigentliche Steuerungsprogramm um

    Mit einer Sprache die man beherrscht ;)


    > und wie übergebe ich die Werte am besten Live an die Weboberfläche?

    Heute wird meist AJAX eingesetzt, wie im Beispiel oben. Wer ganz modern sein will nimmt WebSockets.


    > Ist Node.js dafür das richtige?

    Wenn man es kann...


    Die Sprache auf dem Server ist eigentlich egal. Hauefig gebraucht werden Python, PHP, JavaScript oder auch Java. Wenn es eine WebSocket-Verbindung werden soll, dann geht das recht gut mit node.