Atlas Scientific Sensoren pH Leitwert etc.

Begonnen von danieljo, 14 November 2015, 15:16:08

Vorheriges Thema - Nächstes Thema

danieljo

Da ich nirgendwo hi nweß mit diesem Thema poste ich es mal hier.

Es geht um die ph Sensoren der Firma Atlas Scientific

http://www.atlas-scientific.com/product_pages/circuits/ezo_ph.html

Sehr preiswerter Sensor wie ich finde. Die Sensoren unterstützen Serielle Datenübertragung und I2C Bus.

Ich wollte mal Fragen ob jemand hier aus dem Forum sowas schon in Betrieb hat mit FHEM. Denke ich aber eher weniger da es nur für solche Interessant ist die einen Pool im Garten, Teich oder Aquairum.

Ich würde gerne den Sensor an meinem Aquarium einsetzen. Eine pH Elektrode habe ich bereits und den Sensor wollte ich nächste Woche mal kaufen. Der Hersteller bietet unter anderem diverse Beispiel Codes für Arduino und Raspberry in Python.

Hauptfunktion soll sein einfach den pH-Wert über den I2C Bus in FHEM reinzubekommen.


danieljo

So ich habe den Sensor mal bestellt. Das ganze soll übrigens an einem Raspberry Pi2 zum laufen kommen. Welches auf Debian läuft.

AxelSchweiss

Hi
Ich habe auch Interesse da ich mir in 2016 eine automatische Poolsteuerung bauen will.
Das ganze soll dann mit eine Raspi oder Arduino gelöst werden.
Es gibt hier im Forum schon einen Beitrag der auch PH-Probes verwendet .... mal sehen ob ich den wieder finde dann verlinke ich den hier.
Allerdings gibt es dann immer noch das Problem das man die Probes dann mit einer Lösung kalibrieren muss .... gibt' da nix wartungsfreies ?

Was mir noch fehlt ist die Messung der Chlor-Konzentration.

danieljo

Zum Thema Chlor Messung kann ich leider nix sagen da ich eher aus der Aquaristik komme.

Das Kalibrieren der pH-Elektrode ist leider unerlässich. Es sei aber gesagt wenn man "gute" Elektroden hat und diese im Pool im "dunklen Bereich" vor der Sonne geschützt (Algen Bildung) reicht es normalerweise vollkommend aus wenn man diese 1 mal im Jahr neu kalibriert.

Meine im Aquarium Kalibriere ich 2 mal Jahr. Wobei einmal im Jahr genügen würde. Die Kalibrier-Flüssigkeiten kosten nicht die Welt Meist bekommt man ein ganzen Set für 20€.

Ich sage mal so. Beim Aquarium habe ich ganz andere Arbeiten die mehr aufwand sind wie mal eben das Kalibrieren der Elektrode wenn ich da an Filter reinigen denke oder sowas in der Richtung. Man kann sich die Arbeit vielfältig vereinfachen dennoch bleiben bestimmte sachen übrig die gemacht werden müssen ;)

Zurück zum Thema. Die Platine soll wenn möglich an den I2C Bus des RPi gehangen werden. Ein Beispiel Script auf der Hersteller Seite ist ja vorhanden. Jetzt wäre die Frage ob man aus FHEM heraus das Script starten kann und das Ergebniss des Scriptes zurück an FHEM leitet. Wäre ja fürs erste genügend. So ein FHEM-Modul wäre ja ganz nett. Aber mir fehlt das Wissen dazu sowas zu programmieren.

AxelSchweiss

Nun .... da gibt es mehrere Möglichkeiten
Ich würde das Script nicht aus FHEM heraus aufrufen um blockierende Funktionen zu vermeiden.

So würde ich das machen ( schlagt mich, beißt mich)
1) Einrichten eine Telnetports (4711?) auf localhost ohne Passwort
2) Einrichten eines Dummy mit dem reading ph_wert , oder so.
3) Das Script wird per Cron-Job alle fünf Minuten, oder auch öfter, aufgerufen.
4) Das Script macht nach jedem Aufruf, also erst wenn es den PH ermittelt hat, einen Connect via dem Telnetport zu FHEM auf.
5) Das Script schreibt jetzt mittels setreading den aktuellen PH-Wert in das reading des Dummy.

Vorteil davon :
Beide Teilsysteme sind voneinander entkoppelt und kommunizieren über eine definierte Schnittstelle.
Keine Blocking-Probleme falls das Script etwas unvorhergesehenes macht.
Du kannst event-on-change-reading und co. für notifys verwenden

Nachteile:
bitte ergänzen

Icinger

Nachdem die Platine ja auch UART kann, könntest du diese auch seriel an den Pi anschliessen und das ganze dann per ECMD laufen lassen.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

danieljo

Beides Gute Ideen. Theoretisch könnte man das ganze auch ohne dem vorgefertigtem Script über UART steuern da kann man auch einstellen ob man ein einzelnens Reading nehmen möchte oder dauerhafte Messung usw.

AxelSchweiss

ECMD ... What'n dat
Nie gehört :-)
Hört sich nach einem Parser für die serielle Schnittstelle an.
Wäre natürlich um Welten besser.

Icinger

ZitatHört sich nach einem Parser für die serielle Schnittstelle an.

Genau das ist es auch :)
Schau mal in die commandref :8
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

danieljo

#9
So der pH Sensor von Atlas Scientific's ist heute angekommen. Ich habe jetzt ein Test RaspberryPi2 fertig gemacht zum probieren und testen.
Als Distru kommt das Debian System zum Einsatz. Fürs erste will ich das ganze über die UART Schnittstelle realisieren.

Ich habe mir jetzt die Serielle Schnittstelle freigeben und mittels dem programm "minicom" bekomme ich jetzt schön brav jede Sekunde den pH-Wert übermittel.

Das Fomat der empfangen Daten sieht wie folgt aus:

6.8721

Jetzt bleibt die Frage wie bekomme ich diesen Wert der mir jede Sekunden über die UART Schnittstelle übermittelt wird in FHEM als "reading" rein?

Icinger

Hast eine Protokoll-Beschreibung von der seriellen?
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

danieljo

#11
Zitat von: Icinger am 17 November 2015, 20:31:38
Hast eine Protokoll-Beschreibung von der seriellen?

Ich habe mein Betirag über deinem nochmal editiert mittlerweile bekomme ich ohne mein zutun auf der Seriellen über minicom folgende Werte jede Sekunde übermittelt

6.8721

Anbei die PDF des Sensors

http://atlas-scientific.com/_files/_datasheets/_circuit/pH_EZO_datasheet.pdf

Daten-Typ ist Flaoting Point ; format ist String und ansonsten ne Standart UART Konfiguration:

9600 bps
8 data bits
1 stop bit
no parity
no flow control



Icinger

Ist ja ansich eh ganz simpel aufgebaut, da lässt sich schon was draus machen.
Wenn du willst, können wir morgen mal nen Hangout oder FB-Chat machen, und das ECMD zusammenstöpseln
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

danieljo

Zitat von: Icinger am 17 November 2015, 20:48:22
Ist ja ansich eh ganz simpel aufgebaut, da lässt sich schon was draus machen.
Wenn du willst, können wir morgen mal nen Hangout oder FB-Chat machen, und das ECMD zusammenstöpseln

Ja ist anscheinend echt recht einfach. Einfach Strom an den Sensor und er fängt direkt an jede Sekunden den Messert zu übertragen.

Da würde ich mich sehr drüber freuen wenn wir das irgendwie zusammen hin bekommen würden :) Meint wegen ruhig über FB-Chat.

Gleich wollte ich auf der Test Plattform noch das aktuelle FHEM draufschmeißen.

danieljo

Ich habe mittels

define EZO_pH ECMD serial /dev/ttyAMA0@9600

schonal das ECMD angelegt fällt eigentlich nur noch das reading  ;D