RasPi Zero Hub – Webinterface & Konfiguration per WebSocket

Veröffenticht am 17.03.2026    von     in der Kategorie Projekt: RasPi Zero Hub, Raspberry Pi     bisher keine Reaktionen


LINKS NOCH BEARBEITEN!!!!

 

Im vorherigen Beitrag habe ich die Sensorik sowie die Messwert-Aufbereitung des RasPi Zero Hub beschrieben.

Dieser Artikel widmet sich einem zentralen Merkmal des Projekts: der Laufzeit-Konfiguration ohne Neustart.

Der RasPi Zero Hub ist kein statisches Messgerät. Viele Parameter sollen im Betrieb angepasst werden können – ohne:

  • Neustart des Raspberry Pi

  • erneutes Einlesen von Konfigurationsdateien

  • Unterbrechung der Messungen

Genau hier kommt der WebSocket-Ansatz zum Einsatz.

 

1. Warum WebSocket statt klassischer Konfigurationsdatei?

Eine klassische Konfigurationsdatei hat zwei strukturelle Nachteile:

  • Änderungen erfordern Neustart oder Reload

  • Der aktuelle Zustand ist nicht live sichtbar

Der RasPi Zero Hub nutzt deshalb WebSockets, um:

  • Konfigurationswerte live zu ändern

  • Statusinformationen zurückzugeben

  • eine direkte Verbindung zwischen Browser und Python-Logik herzustellen

Der WebSocket läuft ausschließlich lokal auf dem Raspberry Pi und ist kein Remote-Steuerungssystem.

 

2. Rolle des Webinterfaces

Das Webinterface ist eine reine Steuer- und Konfigurationsoberfläche.

Über das Webinterface können u. a. angepasst werden:

  • Schwellenwerte

  • Anzeigezeiten

  • Aktivierung externer Dienste

  • Speicherintervalle

  • LED-Steuerungszeiten

Alle Änderungen wirken sofort.

 

3. Architektur: Wer spricht mit wem?

Die Kommunikation erfolgt in drei Schritten:

  1. Browser verbindet sich per WebSocket

  2. Python-Server empfängt JSON-Nachrichten

  3. Python aktualisiert interne Variablen

Der WebSocket greift niemals direkt auf Sensoren zu und schreibt keine Datenbank.

 

4. Browser-Seite: Aufbau der WebSocket-Verbindung

Im Webinterface wird die Verbindung aktiv aufgebaut.

Das Webinterface übernimmt ausschließlich Anzeige und Transport.

Es enthält keine Entscheidungslogik.

 

5. Senden von Konfigurationsdaten

Änderungen werden als strukturierte JSON-Pakete übertragen.

Der Browser sendet nur explizit gesetzte Werte.

Es erfolgt kein pauschales Überschreiben aller Konfigurationsparameter.

 

6. WebSocket-Server in Python

Der WebSocket-Server läuft parallel zur Sensorlogik.

Jede Nachricht ist ein JSON-Objekt.

Es gibt keine Einzelbefehle, sondern strukturierte Zustände.

 

7. Übernahme der Konfigurationswerte

Die empfangenen Daten werden geprüft und in interne Variablen übernommen.

Die Änderungen wirken unmittelbar.

Zusätzlich erfolgt eine persistente Speicherung:

Damit bleiben Änderungen auch nach einem Neustart erhalten.

 

8. Rückmeldung an den Browser

Der WebSocket dient auch der Statusübertragung.

Der Browser sieht jederzeit:

  • aktuelle Messwerte

  • aktive Konfiguration

  • Systemzustand

 

9. Touchsensor als Interaktionsebene

Neben dem Webinterface existiert eine physische Eingabe: der Touchsensor.

Der Touchsensor verändert ausschließlich die Anzeige-Seite.

Er trifft keine Entscheidungen über Messwerte oder Logik.

Damit bleibt auch hier die Zuständigkeit klar getrennt.

 

10. Sicherheit & Abgrenzung

Der WebSocket ist bewusst:

  • nicht über das Internet erreichbar

  • nicht authentifiziert

  • nicht für fremde Clients gedacht

Er ist Teil des lokalen Geräts – vergleichbar mit einem Konfigurationsmenü an einem Display.

Externe Kommunikation erfolgt ausschließlich über die dedizierte API.

 

11. Fazit

Der WebSocket ist das Bindeglied zwischen Nutzer und laufendem System.

Er ermöglicht:

  • Live-Konfiguration

  • transparente Zustände

  • flexible Anpassungen ohne Neustart

Gleichzeitig bleibt die Kernlogik vollständig im Python-Code.

Der WebSocket setzt Zustände.

Die Logik entscheidet.

 

 

Wenn du diese Artikelserie bisher nicht kennst, hier sind die bisher erschienenen Einträge des Projekttagebuchs.

Der vollständige Projektcode des RasPi Zero Hub steht als Download zur Verfügung.
Alle Python-Dateien, Konfigurationen sowie die Weboberfläche sind dort gebündelt abrufbar:

👉 Zum Download des vollständigen Projektcodes


Transparenz-Hinweis:

Die auf dieser Seite verwendeten Produktlinks sind sogenannte Affiliate-Links zu einem Partnerprogramm. Für dich entstehen dadurch keine Mehrkosten, ich erhalte durch deinen Kauf über den Link eine kleine Provision.


Wolfgang Raab – Betreiber von webnist.de

Mein Name ist Wolfgang, ich beschäftige mich nun schon seit 1985 mit der EDV und im Besonderen mit der Software- und Webentwicklung.

Auf diesem Blog schreibe ich über Dinge, die mich begeistern, beschäftigen und ich der Meinung bin, es könnte für andere interessant und hilfreich sein.

Als großer Fan des Raspberry Pi finde ich es spannend, wie man den kleinen Computer in Verbindung mit dem IoT und Smart Home nutzen kann. Deshalb behandeln viele Beiträge auch genau dieses Thema.

Ich bin ein leidenschaftlicher Leser und Fotograf. Wenn ich nicht gerade in einem spannenden Roman versinke, bin ich oft unterwegs, um die Schönheit der Welt mit meiner Kamera einzufangen und zu teilen.

Weitere Infos und Fotos findest du auf einem der folgenden Plattformen.






Mehr erfahren?

Besuche die "About"-Seite meines Blogs und finde heraus, wie du mit mir in den Bereichen Web- und Mobile-Programmierung und Raspberry Pi zusammenarbeiten kannst. Hier beginnt deine digitale Reise.


Unterstützen

Dieser Beitrag hat dir gefallen und konnte dir bei deinem Projekt oder Problem behilflich sein? Dann würde ich mich sehr freuen, wenn du dich mit einer noch so kleinen Spende erkenntlich zeigen möchtest.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Notwendige Felder sind mit * markiert.

 

Kleiner Hinweis, alle Kommentare werden moderiert.

Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.

Entdecke die Welt von Webnist.de

Erfahre mehr über die Hintergründe meines Blogs und wie ich dich bei deinen digitalen Projekten unterstützen kann.

Aktuelles Video auf YouTube

In diesem Video stelle ich mein Projekt „RasPi Zero Hub“ im aktuellen Entwickleraufbau vor.