Kostenlose Poolsteuerung mit dem Raspberry Pi: Veröffentlichung

Du wolltest schon immer wissen, was ein Pool kostet? Hier gibts alle Infos -> Ein Überblick über alle anfallenden Kosten beim Poolbau
Screenshot von Github von der Poolarino® Poolsteuerung

Rückblick

Als wir uns 2019 mit dem Poolbau auseinandergesetzt haben, stieß auch ich zwangsläufig irgendwann auf das Thema Poolsteuerung. Ich habe das halbe Netz nach einer für mich passenden Lösung durchforstet und bin nicht fündig geworden. Die am Markt verfügbare Software mag funktional alles mögliche abbilden können, allerdings ist für mich persönlich die Optik auch ein ganz entscheidender Faktor. Und da ich mir kein halbes Windows 95 ins Wohnzimmer hängen wollte, musste etwas Eigenes her! Aus dieser Idee heraus habe ich dann recherchiert, wie sich das ganze am besten realisieren lässt und dann entschieden, los zu legen. Entstanden ist eine Poolsteuerung auf Basis eines Raspberry Pi 3b +, welche bei uns im Wohnzimmer hängt. Der erste Prototyp den ich programmiert habe, war aber weit weg vom jetzigen Design. Optisch ebenfalls sehr Windows 95, unaufgeräumt und nicht optimiert für den Raspberry Pi sah das ganze so aus:


Ansicht der alten Poolarino® Poolsteuerung


So konnte das natürlich nicht bleiben, also hab ich diverse Änderungen und Verbesserungen vorgenommen. Als Basis für das Design habe ich die Auflösung des offiziellen Raspberry Pi Touch Displays genommen (800px x 480px). Die neue Version hat mit der alten nichts mehr gemein und sieht gänzlich anders aus:


Die Poolsteuerung im neuen Design mit Temperaturgraphen

Ziemlich aufgeräumt und mit dem Finger super bedienbar kommt das neue Design daher. Auf einen Blick die wichtigsten Werte erfasst und in der Lage, mal eben schnell bspw. Solar oder Licht zu aktivieren.

Kosten

Ich möchte gar nicht zu tief auf das Thema Kosten eingehen, denn die gibt es hier nicht. Die Poolarino® Poolsteuerung auf Basis des Raspberry Pi ist und bleibt kostenlos. Vielleicht aber kurz etwas zu den Beweggründen: Es gibt viele Poolsteuerungen die teilweise auch sehr teuer sind. Einerseits ist das Poolprojekt an sich für uns schon ziemlich teuer gewesen und andererseits wollte ich eine quelloffene Lösung haben, die ich im Bedarfsfall selbst erweitern kann. Deshalb ist die Poolarino® Poolsteuerung kostenlos und quelloffen. Jeder der möchte kann das Github-Repository auschecken und mit entwickeln. So können wir gemeinsam die Software weiter aufbauen und vielfältiger machen.


Benötigte Komponenten (Einkaufsliste)

Neben der Software wird natürlich auch etwas Hardware zum Schalten, Steuern und auslesen benötigt. Anbei eine kleine Aufstellung, was ich für meine Raspberry Pi Poolsteuerung eingekauft habe:


Menge Artikel Link
10x Digitaler Temperatursensor von AZ-Deliver DS18B20 https://amzn.to/355tvrg*
2x Raspberry Pi 3b + https://amzn.to/2SbY49H*
2x SanDisk Ultra 32Gb https://amzn.to/2K2Xy9p*
1x Raspberry Pi 7" Touch Display https://amzn.to/2yKaleE*
1x Raspberry Pi Touch Display Case https://amzn.to/3cTzX7D*
1x 4-Kanal Relais-Karte für den Raspberry Pi https://amzn.to/2Y2AJuO*
1x Shelly 4 Pro (Wenn bei Amazon nicht lieferbar, direkt bei Shelly ordern) https://amzn.to/2W1c3Qx*
1x 3-Wege Motorkugelhahn für Solaranlage 50mm PVC https://amzn.to/2yanDAS*


Einrichtung der Poolarino® Poolcontrol auf dem Raspberry Pi

Schauen wir uns die Einrichtung der Poolarino® Poolsteuerung auf dem Raspberry Pi an. Wir benötigen einen Raspberry für das Backend und einen für das Frontend. Das Backend ist quasi die Schaltzentrale und das Frontend unsere abgesetzte Gui fürs Wohnzimmer, Poolhaus oder wo es eben passt. Wichtig ist natürlich: Die Geräte müssen sich im selben Netzwerk befinden.


Einrichtung des Backends der Poolarino® Poolsteuerung

  1. Installation von Raspbian Lite Minimal auf dem Raspberry Pi
  2. Installation von Node
    1. curl -sL https://deb.nodesource.com/setup_12.x | bash -
    2. apt-get install -y nodejs
  3. Clonen des Repositorys von Github, explizit das Backend (alles außer den angular-src Ordner)
  4. Packages installieren -> npm i
  5. Anlegen einer database.js Datei im Ordner config/ mit dem Inhalt:
    1. module.exports = { database: 'mongodb://{MONGO_USER}:{MONGO_PASS}@{SERVER_IP:SERVER_PORT}/{AUTH_DB}', secret: 'SecretYouLike' }
  6. Entweder ihr nehmt eine kostenlose MongoDB von MLAB zum Beispiel, oder ihr installiert MongoDB zusätzlich auf dem Raspi (so hab ich es gemacht).
  7. Ich empfehle zur Verwaltung pm2 -> npm install pm2 -g
  8. Mit pm2 start app ist dann alles getan, das Backend läuft. In der Console sollte ungefähr sowas stehen "Server running on port XYZ" und "Connected to Database..."
  9. Wichtig ist für den Wetterbericht, dass ihr euch noch einen API-Schlüssel bei openweathermap.org besorgt und diesen in der weatherforecast.js-Datei eintragt! Anschließend legt ihr über die forecast?id= fest, welchen Bericht für welche Region ihr haben wollt.


Einrichtung des Frontends der Poolarino® Poolsteuerung (Touch-Display)

  1. Installation von Raspbian mit Desktop.
  2. Dann gehts lokal auf dem PC weiter:
    1. Bauen des Angular Produktes mit ng build --prod
  3. Das fertige Kompilat kommt dann wieder auf den Raspberry für das Backend in einen separaten Ordner und muss von einem Webserver bereitgestellt werden (alternativ kann man auch den ganzen angular-src Ordner kopieren, die Packages installieren und dann mit ng serve --host 0.0.0.0 laufen lassen. Ist aber eigentlich nicht für den Produktiveinsatz gedacht!

Als Autostart-Startoptionen für den Chromium auf dem Touch-Display Raspi hab ich noch folgendes festgelegt: (nano /etc/xdg/autostart/chromium.desktop)


Code
[Desktop Entry]
Type=Application
Name=Chromium
Comment=Chromium Webbrowser
NoDisplay=false
Exec=chromium-browser --noerrordialogs --disable-session-crashed-bubble --disable-infobars --force-device-scale-factor=1.00 --kiosk "http://192.168.178.45"


Außerdem hab ich unclutter installiert, das lässt den Mauszeiger verschwinden -> apt-get install unclutter



Technisches zur Poolarino® Poolsteuerung

Im Wesentlichen waren das alle Schritte die notwendig sind, um das System in Betrieb zu nehmen. Die IP-Adresse des Shellys muss natürlich noch angepasst werden, aber das sind wohl kleine Handgriffe (app.js). Programmiert ist die Anwendung im MEAN-Stack, also MongoDB, Angular, Express und NodeJS. Ich freue mich über Beteiligung am Github-Projekt damit wir noch Erweiterungen / Ergänzungen vornehmen können.


Wo kann ich die Poolarino® Poolsteuerung downloaden?

Ein direkter Download der Poolarino® Poolsteuerung für den Raspberry Pi ist nicht möglich. Die entwickelte Software ist quelloffen und unter GPL stehend auf Github veröffentlicht worden. Den Link zum Sourcecode findest Du im Hauptmenü unserer Seite oder hier -> https://github.com/tamsch/poolarino_poolcontrol


Was tun bei Problemen, Anmerkungen, Vorschlägen?

Wenn ihr Probleme auf Probleme stoßt, etwas positiv oder negativ bewerten möchtet oder Vorschläge für eine Weiterentwicklung habt, dann meldet Euch gerne im Forum an. Im Bereich "Software zur Poolsteuerung" findet ihr die drei Themenschwerpunkte:


Beste Grüße und viel Spaß mit der kostenlosen Poolsteuerung by Poolarino®! :)



*Die mit einem Stern gekennzeichneten Links sind Amazon-Partnerlinks. Weitere Informationen dazu findest Du in unserer Datenschutzerklärung.

Antworten 333

  • Hi,


    brauche ich also 2 Pis?

    Habe noch ein paar alte, sollen das gleiche sein?

    Zugriff per Ipad ohne Display geht nicht?


    Oder sollen die Fragen in ein anderes Unterforum?


    Gruss

    Thomas

  • Moin Thomas,

    ja, zwei Raspis werden schon benötigt, wenn Du das abgesetzte Display haben möchtest.


    Das Problem am iPad ist die Auflösung aktuell, derzeit gibt es nur ein Layout für 800 x 480 px. Welches iPad hast Du denn? :)


    LG

  • Ich hab noch ein einser..

    Das wirds aber wohl nicht mehr machen..


    Ansonsten benutze ich halt das Air2.


    Gruss

    Thomas

  • Moin Thomas,

    also ich glaube auf dem iPad dürfte es aktuell gruselig aussehen. Der Stylesheet gibt nichts anderes her als 800 x 480px. Ich müsste mal an einem überarbeiteten Layout arbeiten, so dass es auf dem iPad zumindest bedienbar ist.


    Beste Grüße

  • Naja,

    Ich werde die Woche mal versuchen einen Raspi zu installieren.

    Dann nächste Woche einige der fehlenden Komponenten noch bestellen..



    Falls das alles nix für den Pool wird, wird halt ein zweiter Reifeschrank 😇

    Brauche ich 2x den 3er Pi oder geht auch noch eine ältere Variante, habe noch 2stk. 2B oder so hier rummfliegen..


    Gruss

    Thomas

  • Für die Anzeige sollte es auch der ältere tun denke ich. Weiß aber nicht, wie abwärtskompatibel das Display ist. Das musst du einfach mal ausprobieren. Alternativ sonst dann wenn es nicht geht einfach einen nachordern :)


    LG!

  • Hallo Zusammen,

    ich plane gerade einen eigenen Pool im Garten zu installieren. Jedoch bin ich noch auf der Suche nach einer Poolsteuerung, die ich an Netzwerk anschließen kann und glaube hier richtig zu sein.

    Dein Beitrag zu Realisierung gefällt mir gut und kommt dem Nahe, was ich mir selbst vorstellen kann. Könntest du noch einen Verdrahtungsplan bzw. ein Schema sowie ein paar Bilder der beiden Raspberry posten. Warum du 2 Stück verwendest ist mir noch nicht ganz klar.

    Vielen Dank & Grüße aus Herzo

  • Was ist die Mindestgrösse der SD Karte?

    Du hast 32 er angegeben.. habe hier halt noch ein paar 16er und 8er rumliegen..


    Gruss

    Thomas

  • Moin Poolrama,

    eigentlich war gar nicht so viel zu verdrahten. Der Motorkugelhahn wird einfach an zwei die Relais-Karte angeschlossen, die mit dem Raspi (GPIO-Pins) verbunden ist. Für die Temperatursensoren hab ich mir einen Telefondraht-Verteilerkasten bestellt, genauer gesagt, diesen hier: https://www.amazon.de/gp/produ…tle_o07_s00?ie=UTF8&psc=1 Da hab ich dann alle Temperatursensoren angeschlossen und bin dann quasi mit einem Kabel an den Raspi gegangen. Sonst musst Du alle Temperatursensoren in Wago-Klemmen an den Raspi anstöpseln, total fummelig. Das war für die Steuerung schon alles.


    Die Zuordnung der Temperaturen im Frontend läuft in der pool-control.component.ts. Da sind die IDs der Sensoren verknüpft mit den Graphen. Brauchst nur auf die ID Deiner Sensoren anzupassen und die Graphen so zu benennen, wie Du sie gerne hättest.


    Die zwei Raspis hatte ich, weil ich einerseits das ganze Controlling auf dem Raspi im Poolhaus gemacht habe (da waren ja die Temperatursensoren und das Relais angeschlossen) und den anderen Raspi hatte ich mit dem Touch-Display im Wohnzimmer hängen (zwecks Steuerung).


    Wenn Du noch Fragen hast sonst, meld Dich einfach, ich helfe wo ich kann!


    Hanghuhn Denke auch 8Gb sollten kein Thema sein, ich hatte einfach noch welche da und ein paar größere bestellt, damit ich die im Zweifelsfall noch mal in die Kamera stecken kann oder oder :).


    Schönen 1. Mai!

  • Hallo Tammo,


    vielen Dank für die Informationen. Könntest du noch ein paar Bilder machen, damit ich mir dies einfacher vorstellen kann. Welche Relais-Modul hast du für die Pumpe und das Wegeventil verwendet. Kann die Steuerung auch den PH-Wert / Chlor-Wert bestimmen bzw. regeln?

  • Diskutieren Sie mit! 323 weitere Antworten