Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)

  • Nachdem ich auch hier im Forum schon einiges über DIY-Projekte zur Thematik Poolsteuerung und Überwachung gelesen habe möchte ich nun mal etwas beitragen.



    Basierend auf einem Raspberry Pi mit Windows 10 IoT Core habe ich ein kleines Gateway programmiert, was die Atlas Scientific EZO Messumformer über Netzwerk zugreifbar macht, sie sozusagen ins Internet der Dinge bringt.



    Funktionsumfang (aktueller Stand)


    • Messen und ausgeben der folgenden Werte

      • Temperatur
      • pH-Wert (Temperatur kompensiert)
      • Redox Potential


    • Ausgabe der Werte über folgende Schnittstellen

      • REST API
      • Siemens LOGO! Schnittstelle (Ethernet)
      • Integrierte Weboberfläche


    • Die Konfiguration und Kalibrierung der Messumformer ist per integrierter Weboberfläche möglich.



    Hardware


    wb-ezo-hat_small.jpg


    Kern bildet, wie erwähnt, ein Raspberry Pi, in der Version 3B. Die Versionen 3B+ und 4 laufen aktuell nicht ohne weiteres mit Windows 10 IoT. Zur Messwerterfassung kommen EZO Messumformer von Atlas Scientific zum Einsatz, diese sind digital per I2C Schnittstelle an den Raspebbry Pi angeschlossen. Um die Module elektrisch sauber mit dem Raspberry Pi zu Verbinden nutze ich das EZO HAT Tentacle T3 von Whitbox Labs, dies isoliert auch gleich die Module für pH- und Redox Messung. Des Weiteren wird ein Netzteil, eine Speicherkarte und ggf. ein passendes Gehäuse benötigt.



    Aufbau


    Der Aufbau beschränkt sich auf das zusammenstecken der Komponenten. Gelötet werden muss nicht.



    Sonden und Fühler


    Für die Messung von pH-Wert und Redoxpotential können gängige Sonden verwendet werden, wichtig ist nur, dass sie mit einem BNC Stecker versehen sind. Ich verwende die Einstabmessketten aus der BlackLine vom Hersteller JUMO.
    Zur Temperaturmessung wird ein PT1000 Fühler benötigt, welcher ebenfalls mit einem BNC Stecker ausgeführt sein muss.



    Weboberfläche


    web-interface-live-data_small.jpg


    Über die Weboberfläche lassen sich die aktuellen Messwerte anzeigen, Kalibrierungen für die einzelnen Module vornehmen und generelle Einsetllungen konfigurieren.




    REST API


    Über die REST API kann das EzoGateway an beliebige übergeordnete Systeme angebunden werden. So bieten zum Beispiel die meisten Heimautomatisierungs-Systeme (FEHM, ioBroker, openHAB, etc.) die Möglichkeit eine REST API zu bedienen. Aber auch eigene Webprojekte können durch die API einfach adaptiert werden.



    LOGO! Schnittstelle


    logo-screen_small.jpg


    Wer eine Siemens LOGO! Kleinststeuerung verwendet kann mit dieser Schnittstelle die erfassten Messwerte per Ethernetverbindung direkt an die LOGO! übertragen und dort entsprechend weiter verarbeiten. Eine detaillierte Beschreibung der Schnittstelle ist im Projekt-Wiki (LOGO! Interface) auf GitHub zu finden.



    Meine Anwendung


    Ich hatte/habe das Gesamtsystem jetzt so gut 4 Monate im Einsatz. Zusätzlich zu dem veröffentlichten Quellen nutze ich noch einen SQL-Adapter um die Messwerte zyklisch zu loggen. (Würde den Adapter beim nächsten Merge zum öffentlichen Branch hinzufügen.


    Download


    Das gesamte Projekt liegt auf GitHub zum freien Download. Da ich noch nicht dazu gekommen bin Tests zu schreiben würde ich das Entwicklungsstadium als Alpha-Version einordnen (zudem sind manche Implementierungen eher gewachsen als sauber umgesetzt...). Eine fertig kompilierte Version steht somit nicht zur Verfügung. Wer will kann sich eine Version gerne selber kompilieren, testen oder gar mitarbeiten. Mehr als die kostenlose Entwicklungsumgebung Visual Studio Community von Microsoft ist nicht erforderlich.


    Projekt auf GitHub: EzoGateway
    Wiki auf GitHub: EzoGateway - Wiki
    Step by Step Anleitung mit Stückliste: Setup Instructions (noch nicht vollständig)



    Grüße Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    cooles Projekt - würdest du noch angeben, wo du die Elektronik-Teile (beschafft hast? Entweder bin ich zu doof oder onkel google zeigt mir nur shops in US oder UK... :(

    Meine Baustelle:
    - Brainpool Überlaufbecken mit 6x3x1,5m (27m³) in grau // geliefert am 26.05.2020 :)
    - Poolsteuerung: Procon.IP mit Salzelektrolyse
    - Speck Prime Eco VS mit SFA Cantabric 600mm
    - Primavera Deluxe GSA
    - Solar / WP noch in Planung


    PN bitte nur für persönliche Themen - Fragen zum Projekt bitte in meinem Bauthread stellen: https://www.poolpowershop-forum.de/f...ufpool-6x3-1-5
    (Da oft die gleichen Fragen per PN kommen, hilft es dort auch anderen Zwinkern)

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Könnte man an den Pi jetzt noch ohne weiteres nen kleinen TouchMonitor anschließen, der die Werte gleich vor Ort anzeigt?

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Prinzipiel ja. Die Software selber besitzt allerdings keine Oberfläche.


    Es kann aber per Webbrowser (Bestandteil von Win10 IoT) auf den lokalen Webserver und die integrierte Weboberfläche zugegriffen werden. Somit hat man am Pi selber (bzw. am angeschlossenen Monitor) vollen Zugriff auf das EzoGateway.



    Habe das mal schnell ausprobiert:


    web-interface-local-on-pi_small.jpg

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Danke für den schnellen Test. Damit wird Dein Projekt jetzt interessant für mich. Na mal schauen, was der Winter so bringt ...

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Quote from maker7;553453

    Hi Stefan,
    guck mal hier: https://github.com/100prznt/EzoGateway/wiki/St%C3%BCckliste Da, hab ich auch Quellen aus Deutschland aufgeführt.


    Grüße Elias


    dank dir - ich hatte nicht weit genug runtergescrollt, sondern nur die Teileliste angeschaut Am Kopf kratzen

    Meine Baustelle:
    - Brainpool Überlaufbecken mit 6x3x1,5m (27m³) in grau // geliefert am 26.05.2020 :)
    - Poolsteuerung: Procon.IP mit Salzelektrolyse
    - Speck Prime Eco VS mit SFA Cantabric 600mm
    - Primavera Deluxe GSA
    - Solar / WP noch in Planung


    PN bitte nur für persönliche Themen - Fragen zum Projekt bitte in meinem Bauthread stellen: https://www.poolpowershop-forum.de/f...ufpool-6x3-1-5
    (Da oft die gleichen Fragen per PN kommen, hilft es dort auch anderen Zwinkern)

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Auf der Suche nach einem Messgerät zur Messung des Leitwertes / Salzgehaltes habe ich mit diesen Komponenten ein Messgerät hierfür zusammengesteckt und mit einem kleinen OLED-Display versehen... läuft gut!



    [Blocked Image: https://up.picr.de/37398243ea.jpeg]


    Basis ist ein Raspi 3 B+ mit Tentacle T3 und Sensoren für Leitwert sowie Temperatur (zur Korrektur der Leitwertmessung bzw. korrekten Ableitung des Salzgehaltes).

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Dank Maker7 tatkräftiger Unterstützung, bin ich gerade dabei ein EzoGateway in Betrieb zu nehmen und die Messdaten, welche meine Loxone Haussteuerung über die Rest-Api abruft, auswerten zu lassen.
    Den Raspberry habe ich dazu zusammen mit einem 5 Inch Monitor in ein kleines Gehäuse gesetzt. Die Stromversorgung des Monitors wird nur beim betreten des Technikraums durch die Haussteuerung angeschaltet. Das Ganze sieht momentan so aus.
    20200206_204909.jpg

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Das sieht doch schonmal richtig gut aus.


    Dann werde ich die mittlerweile native verfügbare Oberfläche (der oben beschriebene Umweg über den Web-Browser ist nicht mehr nötig) mal noch um ein paar Funktionen erweitern. Konfiguration und Kalibrierung machen hier ja absolut Sinn.


    Grüße Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    @ Bullpower. In Verbindung mit Loxone wäre das für mich auch sehr interessant. Könntest du etwas genauer erklären wie du vorgegangen bist und welche Bauteile du verwendet hast ?

    What's life without a little pain



    Futurpool 8 x 4 x 1,5
    PPS 600 , 2x Astral 17.5, 4x Multiflow Einlaufdüsen
    Dolphin E10, Poollab.


    Solarabsorber: Solarripp und Solarrapid

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Also Grundsätzlich benötigst Du die Bauteile wie im Ausgangspost von maker7 beschrieben (Raspberry 3b, Tentacle Board, Ezo Module). Optional hab ich dann das Ganze in eine ein feuchtraumgeeignetes Gehäuse gesetzt und zusätzlich einen kleinen Monitor mit eingebaut. Die Software für den Raspberry ist das EzoGateway von maker7.


    Hier gibt es zu beachten, dass sich die Software noch in der Entwicklungsphase befindet. Das heißt, es gibt noch kein SD-Karten Image, welches Du einfach auf ne Karte brennst und in den Raspberry steckst. Noch ist es etwas aufwendiger. Du musst als erstes Windows 10 IoT auf dem Raspberry installieren. Anschließend das Projekt in Vissual Studio laden und dort dann auf den Raspberry kompilieren lassen. Die entsprechenden Hilfen gibt es dazu in einer wiki auf dem GitHub Projekt. Wenn Du technisch unbedarft bist, wird das "noch" nix werden. Mit etwas technischem Verständnis bekommt man es aber hin (auch ohne Programmierkenntnisse).


    Wenn der kleine Wunderkasten läuft, dann ist der Rest eigentlich ganz einfach. Das EzoGateway hat eine Rest-Api. Die kannst du wunderbar per Loxone (Virtueller Http-Eingang) ansprechen. Anschließend kannst du die empfangenen Werte von Redox, Ph und Temperatur mit Loxone weiterverarbeiten. Ich bastel gerade an der entsprechenden Steuerung. Das umfasst automatische Pumpensteuerung, die Solarsteuerung und natürlich das ansteuern der Dosierpumpen. Ich kann Dir gern wenn alles fertig ist (spätestens Ende April) das entsprechende Programm für die Loxone zur Verfügung stellen. Du müsstest es dann nur noch auf Deine Installation entsprechend anpassen (ich habe z.B. ne geregelte Pumpe und kann unterschiedliche stufen ansteuern lassen).


    Ich denke (hoffe) auch, das maker7 bis zum Saisonstart die erste offizielle Release-Version seines EzoGateways zur Verfügung stellt, so dass es jeder recht einfach nutzen kann. Bisher sieht es ganz gut aus. Fast täglich verbessert er das Programm, behebt Fehler und ergänzt weitere nützliche Funktionen. Ich bin da ganz zuversichtlich, dass das Endprodukt ein echter Knaller wird und sich viele Nutzer mit externen Steuerungen (Loxone, Siemens Logo! etc.) sehr darüber freuen werden.

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Vielen Dank für die ausführliche Antwort. Das bekomme ich hin denke ich.
    Bei Fragen weiß ich ja wo ich hin muss :)

    What's life without a little pain



    Futurpool 8 x 4 x 1,5
    PPS 600 , 2x Astral 17.5, 4x Multiflow Einlaufdüsen
    Dolphin E10, Poollab.


    Solarabsorber: Solarripp und Solarrapid

  • AW: Wasserwerte mit Raspberry Pi messsen (REST API, Siemens LOGO!)


    Wenn Du den Raspi nur zum Daten einsammeln brauchst und kein Display benötigst, dann bietet der Hersteller des Tentacle-Boards jetzt ganz neu für 24 EUR auch ein passendes Raspigehäuse an.

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • EzoGateway - Beta-Release (Wasserwerte mit Raspberry Pi messsen)


    Um den Aufwand der Einrichtung zu vereinfachen gibt es die EzoGateway App jetzt als fertig kompiliertes App Paket.


    [Blocked Image: https://img.shields.io/github/release/100prznt/EzoGateway/all.svg?logo=github&style=popout-square&label=EzoGateway&color=ff2e64]



    Das App Paket kann im Release Feed als Beta-Release herunter geladen werden. Anschließend lässt es sich mit ein paar Klicks direkt auf dem Raspberry Pi mit Windows IoT installieren und ausführen.


    Die detaillierte Vorgehensweise wird im Wiki beschrieben:




    Neben zahlreichen kleinen Verbesserungen verfügt die App jetzt über eine grafische Oberfläche, welche direkt am Raspberry Pi, per angeschlossenen Monitor, angezeigt werden kann. (Dies ist optional, die Konfiguration erfolgt unverändert über die Web-Oberfläche auf einen beliebigen Endgerät.)


    built-in-gui.jpg
    [COLOR="#696969"]Anzeige der aktuellen Messwerte direkt am Raspberry Pi[/COLOR]




    Geplant ist jetzt, die App mit aktuellem Funktionsumfang in eine getestete Version 1 zu überführen.
    Hierbei lässt sich zwar einiges durch Softwaretests abdecken, doch eine finale Aussage über Stabilität und Zuverlässigkeit lässt sich erst durch einen möglichst breiten Feldtest treffen. Daher möchte ich mich an dieser Stelle auch nochmal in aller Form bei Buellpower bedanken. Durch sein bisheriges umfangreiches Feedback und seinen Willen sich in die Thematik einzuarbeiten, konnten nicht nur Schwachstellen in der Software aufgedeckt werden, auch sind und werden zustimmend nicken so einige Verbesserungen und Erweiterungen in das EzoGateway einfließen.


    Für Fragen und Anregungen bin ich hier im Thread, per PN oder auch über den Issue-Tracker auf Github erreichbar.




    Grüße
    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • AW: EzoGateway - Beta-Release (Wasserwerte mit Raspberry Pi messsen)


    Ich weiß nicht ob ich etwas falsch verstanden habe. Die Temperaturdiv. Messung macht ihr nicht über den Ra.Pi oder ? da ja nur ein Temp. Fühler angeschlossen ist.

    What's life without a little pain



    Futurpool 8 x 4 x 1,5
    PPS 600 , 2x Astral 17.5, 4x Multiflow Einlaufdüsen
    Dolphin E10, Poollab.


    Solarabsorber: Solarripp und Solarrapid

  • AW: EzoGateway - Beta-Release (Wasserwerte mit Raspberry Pi messsen)


    Nein, gesteuert wird von EzoGateway nichts. Es liefert Dir die Werte von Redox, PH und Temperatur. Die Werte musst Du dann mit einer entsprechenden Steuerung weiter verarbeiten. Viele hier im Forum nutzen dazue eine Logo! von Siemens. Ich nehme dafür Loxone, weil das System von der Haussteuerung eh da ist. In Loxone gibt es sogar einen eigenen Baustein für Solar (ok, der ist zwar eigentlich zur Steuerung der solaren Unterstützung bei der Warmwasserbereitung - geht aber auch für die Solarsteuerung beim Pool). Wie gesagt, wenn Du Loxone hast, dann kann ich Dir meine Steuerung geben. Sind bisher 4 Arbeitsblätter für Pumpe, Solar, PH und Redox.

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • EzoGateway - Hardware/PCB (Wasserwerte mit Raspberry Pi messsen)


    Für die kommende Saison möchte ich dem EzoGateway noch ein schönes Gehäuse und ein paar extra Hardware-Features spendieren.


    Gerade die EZO RTD Module sind mir hier irgendwie überdimensioniert, vor allem preislich. Technisch, lässt sich hier nichts bemängeln. Aber im vorliegenden doch recht engen Temperaturbereich gibt es günstigere Lösungen, welche ebenfalls mit ausreichenden Genauigkeiten verfügbar sind. Ins Auge gefasst habe ich 1-wire Temperatursensoren (DS18B20). Das EzoGateway wird also um eine 1-wire Schnittstelle erweitert, welche den Anschluss mehrerer externer (Temperatur-) Sensoren zulässt. Soll nun nicht nur die Temperatur zur Kompensation der pH-Messung erfasst werden, sondern vielleicht auch noch Lufttemperatur, Beckentemperatur, Solar-Vor- und Rücklauf, so kommt man schnell auf eine Einsparung im 3-stelligen Bereich, im vgl. zur Umsetzung mit den EZO RTD Modulen.



    Los geht es mit einer passenden Platine, welche sich aktuell in Produktion befindet.


    Neben den Aufnahmen für bis zu drei EZO Module (zwei isoliert) stehen bis zu 4 externe 1-wire Kanäle zur Verfügung. Spannungsversorgung erfolgt über ein Standardnetzteil im Bereich von 9 - 36 VDC. Ausgeführt ist die Platine als inverse HAT, das Raspberry Pi wird also verkehrt herum aufgesteckt und über den GPIO-Header verbunden auch die Spannungsversorgung des Pi erfolgt über diese Schnittstelle. Die Leiterplatte mit allen Komponenten passt in ein robustes Aluminiumgehäuse (Alubos 1000), welches entsprechende Aussparungen für die Schnittstellen haben wird.


    EzoGatewayPcb.jpg
    [COLOR="#696969"]Ansicht der EzoGateway Platine[/COLOR]



    Grüße
    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Sieht ja inzwischen echt gut aus. Ich bin immer noch begeistert. Die Software dazu läuft übrigens inzwischen seit Wochen im Testbetrieb ohne Probleme durch.

    Unser Pool:
    Stahlwandpool Oval • 7x3,5x1,35m (85% versenkt) • Folie 0,8mm Sand • 2x Multiflow • 1x Ocean M5 deluxe • Bilbao 500 • Aqua VARIO Plus (potentialfrei angesteuert) • 54W LED RGB Scheinwerfer • 24m² Dolphi-Ripp • Poolsteuerung per EzoGateway und Loxone


    Baubericht: Ein Büromensch greift zum Spaten

  • Hallo Elias, ich habe bereits eine Dosieranlage (inkl. Web Zugang) für PH und Redox, möchte diese jedoch in meiner SmartHome Lösung (ioBroker) einbinden, was jedoch nicht geht.
    Denkst du dass ich die vorhandene PH und Redox sonden (BNC Anschluss) über einen T-Stück für beide Anlagen nutzen könnte? So könnte ich die bestehende Dosieranlage zum dosieren brauchen und deine Lösung um die Werte in meine ioBroker VIS darzustellen.Pool Temperatur habe ich übrigens mit einem WeMos D1 Mini (Akku Betrieben) gemacht. Diese liegen in beiden Skimmer.


    Gruss Massimo

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!