wie dynamischen Raspberry Webserver mit Sensoren und Python einrichten?

Gast #5918420
Lesenswert?

Hallo zusammen,


*Frage:*
zu Webapplikationen  Servern  Websockets in Verbindung mit Raspberry 
und Python:
wie bekomme ich eine Website, die mit einem Python script Daten in beide 
Richtungen möglichst synchron austauschen und anzeigen kann ohne, dass 
die Seite immer neu geladen werden muss???

*Projekt Beschreibung:*
Ich möchte mir ins Zimmer verschiedene Funktionen einbauen 
(Klatsch-Licht, Sonnenaufgang Simulation, Temperaturanzeige, Pflanzen 
Bewässerung, Musiksteuerung, …) das Ganze soll sowohl über irgendwelche 
Knöpfe (in Zukunft vielleicht auch Touch Displays) und vor allem über 
eine Website gesteuert und ausgelesen werden können. Als Hardware würde 
ich auf einen Raspberry als Headunit und weitere Raspberrys oder 
Arduinos als Nodes für einzelne Funktionen zurückgreifen, hier sollen 
keinerlei Grenzen gesetzt sein, alles beliebig erweiterbar.

Das wichtige ist: es sollen Infos wie Temperatur sowohl über die Website 
als auch über zB ein Display an einem Node verfügbar und auch 
veränderbar sein.

*aktuelle Ideen:*
Mein Plan: Wenn ich die Daten in einem Python Script auf einem RPi 
sammle und verarbeite kann ich sie von dort aus zB über I2C wieder an 
die entsprechenden Nodes verteilen…

wie bekomme ich aber eine Website, die mit dem Python script die Daten 
in beide Richtungen möglichst synchron austauschen und anzeigen kann???
meine Ansätze bisher waren zB ein Bottle Server mit Websocket zum 
regelmäßigen aktualisieren der Daten - war in der Umsetzung aber 
scheinbar zu komplex für mich. Alternativ hatte ich auch schon einen 
LAMP Server laufen, aber wie tauscht dieser die Daten am besten mit 
Python aus?
*#1:* MySQL DB mit Python bearbeiten. Scheint mir aber ein bisschen zu 
undynamisch und nicht sehr Ressourcen schonend
*#2:* Textdatei als Schnittstelle zwischen PHP und Python. Ist aber 
glaube ich auch nicht das dynamischste, alle paar Sekundenbruchteile 
eine Textdatei zu öffnen und Werte abzugleichen?

Kann mir jemand einen Tipp geben was der beste Ansatz für mein Projekt 
ist? Ich könnte auch extra einen PC als Server nutzen, wenn das hilft, 
also Hardware technisch sollten keine Grenzen gesetzt sein…

Es sollte also möglich sein, dass die Website zB Temperatur werte aus 
dem Python Script immer aktuell ausgeben kann, ohne dass dafür die Seite 
neu geladen werden muss.
#5918517
Lesenswert?

Ich würde einen Python basierenden Webserver als Schnittstelle zu der 
Hardware schreiben der die Daten/Requests per JSON versendet und 
entgegennimmt.

Der Webbrowser kann dann mittels Javascript die JSON Daten nachladen und 
die Webseite entsprechend darstellen.

Die Webseite kommt entweder auch über diesen Webserver oder über einen 
davon unabhängig laufenden Apache/lighttpd.... Müsste dann natürlich 
Javascript benutzen. Theoretisch könnte auch der Apache/lighttpd mit PHP 
auf den Python-JSON Server zugreifen.
Gast #5918530
Lesenswert?

Bei allem was du vor hast würde ich eine Home Automation Lösung 
empfehlen.

Die mit den meisten Schnittstellen  zu Aktoren und Sensoren (auch und 
gerade Bastellösungen) ist wohl FHEM.

Dann gibt es noch openHAB, NodeRED und Co.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren