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.
Sören Drotleff schrieb: > *#1:* MySQL DB mit Python bearbeiten. Scheint mir aber ein bisschen zu > undynamisch und nicht sehr Ressourcen schonend Warum? Eine Datenbank ist doch ideal dafür, deine Werte zu speichern. Ist erprobt und du kannst über mehrere Connections gleichzeitig drauf zugreifen.
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.
Sören Drotleff schrieb: > *#1:* MySQL DB mit Python bearbeiten. Scheint mir aber ein bisschen zu > undynamisch und nicht sehr Ressourcen schonend Ich setze seit Jahren eine sqlite3-DB zum Loggen von Werten ein. Das lief auch auf einem 400MHz ARM. wendelsberg
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.