AquaControl

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo!

    Hab jetzt schon länger hier mitgelesen und endlich mal Zeit für die Vorstellung meines Projektes gefunden.

    Erst mal will ich allen Mut machen, die so wie ich, eigentlich keine besonderen Kenntnisse haben, ein eigenes Projekt zu starten. Dank der vielen Leute, wie hier im Forum, die ihr Wissen weitergeben kommt man doch recht gut weiter. Ich habe dabei nie eine Frage hier stellen müssen, da eigentlich bereits (fast) alles im WEB zu finden ist :shy:. Geduld und Beharrlichkeit führen zum Ziel.

    So jetzt zum Projekt. Ich wollte immer schon gerne mein Aquarium betreuen, auch wenn ich nicht daheim bin. So kam ich dann auf den Raspi. Mir geht es nicht um Automatisierung, sondern um den direkten Zugriff, also ein Bild anschauen, oder einen kurzen Film, Futter geben, die Nachtbeleuchtung ein oder ausschalten und die Wassertemperatur checken.

    Hier sieht man den Aufbau:

    Aufbau.jpg

    An den Raspi ist mit einem 2 Meter Flachbandkabel die Raspicam angeschlossen. Hier kann ich per Tastendruck ein Bild machen und direkt anschauen. Wenn ich sehen will ob alle gesund und munter schwimmen, kann ich einen 25 Sekunden Film aufzeichnen. Der muss dann allerdings per Tastendruck in MP4 umgewandelt werden, bevor man ihn anschauen kann.
    Webcam.jpg

    Mit dem Relais steuere ich die LED-Nachtbeleuchtung und den Futterautomaten an. Dafür hab ich mir einen 12V Getriebemotor gekauft der schön langsam dreht und die Zeit bei der Programmierung so eingestellt, das er einmal 360° dreht und dann etwas Futter auskippt. Da ich kein Risiko eingehen wollte, schalte ich über die Relais nur die 12 Volt Netzteile.

    Automat.jpg

    Dann gibt es noch den Temperatursensor. Bei jeden Tastendruck wird der gemessene Wert in eine MySql DB geschrieben, damit man die Veränderungen später sehen kann. Auf dem Bild sieht man, dass die Beleuchtung um 17:30 Uhr angeht und dann die Temperatur steigt.

    temp.jpg

    Gesteuert wird alles über 2 Apps für iPhone5 und iPad. Die habe ich mit Flash und Adobe Air erstellt.
    Hier sende ich einfach die Befehle zu einer PHP Seite. Bei der iPad Version hab ich dann eine größere Auflösung für Bild und Video eingestellt, da ich hier in der Regel W-Lan habe.

    Aquaapp.jpg

    Das war es auch schon. In Zukunft plane ich noch die Raumtemperatur zu erfassen und die Durchflussmenge des Filters.

    Noch vor 3 Monaten hätte ich nie geglaubt so was selbst hin zu bekommen, dank Euch und Google war das möglich - Danke!

  • dbv
    Prinzipiell hast du Recht.
    Allerdings waren das zuviele Baustellen.
    Linuxanfänger, Programmieranfänger, Nichtelektroniker, C++ als falsche Anfängersprache gewählt, usw, usw......

    Mal schauen, evtl. schaue ich mir Python mal an und versuche mich in die Elektronik ein zu fuchsen.....

    Aber wie heisst es so schön:
    Über manche Berge muss man drüber, sonst geht der Weg nicht weiter ...

    Gruß

    Michael

    • Offizieller Beitrag

    Wir alle standen mal so da wie du. Alles gleichzeitig ist natürlich schon ein Brocken ;). Das wird schon und mit python wirst du schnell Erfolge feiern. Ich zähl mich ja selbst noch als Nicht-Elktroniker obwohl ich mittlerweile schon einiges an Bauteilen an meine Pi/Aduinos gelötet habe...Mühsam ernährt sich das Eichhörnchen

  • Hallo Michael,

    mir ging es nicht anders. Hab lediglich etwas Erfahrung mit PHP.
    Man muss sich einfach ein (nicht zu schwieriges) Ziel setzen und dann beharrlich dran bleiben.
    Sobald man ein Ziel erreicht hat, kann man das Nächste angehen.

    Grüße
    Stefan

  • Hallo Stefan,

    Leider bin ich kein Autodidakt und Sprachen sind prinzipiell nicht meine Stärke.
    Mit Englisch hapert es schon heftig, die folgenden Probleme kannst du dir ja dann vorstellen :D
    Dein Projekt hat mir aber sehr gut gefallen und gibt mir einen Motivationsschub und schürt Hoffnung....

    Gruß

    Michael

  • Ein kleines Update der Funktionen.

    Es werden jetzt noch die Raum - und Gehäusetemperatur des Raspi gemessen und in der Mysql-DB gespeichert.
    Zusätzlich gibt es noch eine IR-Leuchte die per App eingeschaltet werden kann, um auch bei Dunkelheit mit der IR Cam Bilder machen zu können.
    Die Cambilder werden gespeichert und können in einer Übersicht angeschaut bzw ausgewählt und gelöscht werden.
    Ein Kühler mit 4 Lüftern zur Wasserkühlung kann jetzt auch per App zugeschaltet werden.

  • mySQL: nun ja, bei mir ist das einfach nur deshalb, weil ich damit auch bei meinen anderen WEB-Projekten arbeite..

    bin einfach nur zu bequem mich in ein anderes DB-System einzulesen.. und wenn ich über die Android-APP dann am RasPi unter 2% Auslastung lese, dann mache ich mir um auch wenig Sorgen, dass es mein RasPi nicht schafft.. zumal max. 2-3 Personen die Daten nutzen...

    Suche Gleichgesinnte für mein Projekt!
    jamesmatik_200.png
    soll ein Baukasten (Software und Hardwaremodule) für Temperatur-Logging, kleine Steuerungsaufgaben und Smart-Home werden.

    Einmal editiert, zuletzt von RasPi-Azubi (4. Juni 2014 um 10:37)

  • Hallo zusammen,

    es gibt wieder ein paar neue Funktionen.
    Mit einer Schlauchpumpe [Anzeige] wird jetzt per Cron alle 6 Stunden 2 Ml Düngeflüssigkeit ins Aquarium gepumpt. In der DB wird der Erfolg erfasst und die Menge addiert. Die Temperaturen werden jetzt auch alle 4 Stunden per Cron gemessen und zusätzlich auch Grafisch dargestellt.

    graf.jpg

  • Da ich jetzt schon mehrere Anfragen per PM bekommen habe, ob es eine „Bauanleitung“ gibt oder ich „helfen“ kann. Will ich hier mal anfangen zu zeigen, wie ich das Projekt realisiert habe.

    Es muss aber für jeden klar sein, ohne die Bereitschaft sich selbst rein zu hirnen, wird das nichts. Nur Code kopieren und dann soll alles funktionieren klappt halt nicht. Fragen per PM bringen auch nichts, ich will ja nicht ständig die gleichen Fragen beantworten, hier im Forum haben alle was davon. Das hier ist jetzt nur ein Anfang, immer wenn ich Lust und Zeit habe, geht es dann weiter.

    Meine Fähigkeiten beim programmieren und auch bei der Hardware sind sehr bescheiden, deshalb wird mancher Codeschnipsel von mir deutlich verbesserungfähig sein. Letzlich hab ich auch nur hier im Forum und aus anderen Quellen Beispielcodes gesucht und diese an meine Anforderungen angepasst. Auch die Hardware läuft bei mir immer über max. 12 Volt, die per 8 Kanal 5V Relais Modul per GPIO an bzw abgeschaltet werden.

    Hier ein reduzierter Funktionsumfang beispielhaft.

    Bilder mit Raspi Kamera Modul manuell, und automatisch erstellen, speichern bzw aufrufen.
    Temperatur von Raum und Wasser messen, speichern und grafisch darstellen.
    Pflanzendüngemittel automatisch in Aquarium pumpen.
    Eine Funktion an/abschalten z.B. Kühlung, Licht etc.
    Futter per Automat geben.


    Folgende Hardware hab ich verwendet:
    Nicht vergessen, falls ihr was bestellt, unterstützt das Forum per redirect link!

    Raspberry PI Modell B
    WLAN-Stick [Anzeige]

    Als Webcam:
    Raspberry Pi NoIR Kamera-Modul [Anzeige]
    Kabelverlängerung [Anzeige]

    Zum schalten:
    8 Kanal 5V Relais Modul [Anzeige]

    Zum Temperatur messen:
    Lufttemperatur [Anzeige]
    Wassertemperatur [Anzeige]

    Für den Futterautomat:
    Motor [Anzeige]

    Für die Düngung:
    Pumpe [Anzeige]
    Schlauch [Anzeige]

    Sonstiges:
    Kabel [Anzeige]
    Drahtbrücken [Anzeige]
    Steckbrett [Anzeige]
    Pullup-Widerstand von 4,7 kΩ

    Als erstes arbeitet Ihr diese hervorragenden Tutorials von ps915 durch.

    Wir brauchen den SSH Zugang um auf den Raspi zuzugreifen, auch ohne dass er an einem Monitor hängt.
    Apache damit wir einen Webserver haben, PHP5 da die Programmierung per PHP ausgeführt wird und MYSQL bzw phpMyAdmin um unsere Messdaten zu speichern.
    FTP-Server Installation ist nicht unbedingt nötig.

    Ende erster Teil

    Einmal editiert, zuletzt von kess (24. Februar 2015 um 13:26)

  • Teil 2

    Vorausgesetzt die Installation in Teil 1 hat geklappt geht es jetzt weiter mit der Temperaturmessungen.

    Erstmal muss noch wiringPi installiert werden.
    Ich habe dieses Tutorial verwendet:

    Im Netzt gibt es viele Tutorials wie der 1-wire Temperatursensor DS1820 angeschlossen wird.
    Ich habe dieses hier verwendet:
    1-wire Temperatursensor DS1820 am Raspberry Pi (GPIO-direkt)

    Ihr solltet jetzt den Family-Code des Sensors und seine eindeutige Identifikationsnummer kennen.
    Wenn nicht wechselt nach

    Code
    cd /sys/bus/w1/devices


    mit

    Code
    ls

    solltet ihr Ordner mit den Identifikationsnummern finden.

    Jetzt erzeugt eine PHP Datei im www-Verzeichnis. Ich nenne sie mal steuerung.php

    Code
    cd /var/www
    Code
    sudo nano steuerung.php

    In die steuerung.php Datei kopiert ihr diesen Code und ändert eure Identifikationsnummern ab [code=php]<?php


    //Temp auslesen Wasser
    $temperatureSensorPath = "/sys/bus/w1/devices/xxxxxxxxxx/w1_slave";//Bei xxxxxxxxxxxxxxx muss eure eindeutige Identifikationsnummer rein

    $tempSensorRawData = implode('', file($temperatureSensorPath));
    $tempSensorTemperatureWasser = substr($tempSensorRawData, strpos($tempSensorRawData, "t=") + 2);

    $temperatureWasser = sprintf("%2.2f", $tempSensorTemperatureWasser / 1000);
    $timestamp = time();

    //Temp auslesen Raum
    $temperatureSensorPathr = "/sys/bus/w1/devices/xxxxxxxxxxxxx/w1_slave";//Bei xxxxxxxxxxxxxxx muss eure eindeutige Identifikationsnummer rein

    $tempSensorRawDatar = implode('', file($temperatureSensorPathr));
    $tempSensorTemperatureRaum = substr($tempSensorRawDatar, strpos($tempSensorRawDatar, "t=") + 2);

    $temperatureRaum = sprintf("%2.2f", $tempSensorTemperatureRaum / 1000);


    //Messung anzeigen
    echo "<p class='h2'>$temperatureWasser Celsius Wassertemperatur</p>";
    echo "<p class='h2'>$temperatureRaum Celsius Raumtemperatur</p>";


    ?>
    [/php]

    Speichern mit strg x nicht vergessen.

    Jetzt könnt ihr mit einem Browser die steuerung.php aufrufen und ihr solltet die Temperaturwerte angezeigt bekommen. Sieht noch nicht schön aus, aber Hauptsache es funktioniert erst mal.

    Ende Teil 2

    Einmal editiert, zuletzt von kess (24. Februar 2015 um 17:59)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!