Jump to content

Terrariensteuerung reallisieren


CChris

Recommended Posts

Hallo Zusammen,

 

ich bin zufällig auf Tinkerforge gestoßen und versuche nun herauszubekommen, ob meine Ideen mit diesen Modulen realisierbar sind oder nicht... ^^

 

Derzeit betreibe ich eine Steuerung meiner Terrarien (Licht und Temperatur) über eine Siemens LOGO!... funktioniert soweit auch sehr zufriedenstellend, jedoch vermisse ich hier ein paar schöne "Spielereien" wie z.B. Ausgabe der Temperaturwerte in einer GUI oder z.B. auf dem Smartphone zur Kontrolle unterwegs z.B.

 

Nun ist es so, dass man die LOGO ggf. über EIB/KNX auch mit anderen Systemen koppeln kann - damit das ganze letztendlich über einen FHEM Server läuft...

Über diesen wäre dann der Zugriff auf die Messwerte und ggf. ein Eingreifen auch möglich... nur ist dies nicht so ohne weiteres Realisierbar.

 

Daher interessiert mich nun, ob Tinkerforge ggf. das Potential hat, die Logo komplett zu ersetzen...

Wichtig wäre mir dabei, dass die Steuerung unabhängig von einer PC oder Smartphone-Software läuft...

Ich fürchte aber, dass es für Tinkerforge zumindest derzeit noch kein Logikmodul gibt, in welchem diverse Standardabläufe fest einprogrammiert werden können?

D.h. es muss paralell immer mindestens ein Rechner mitlaufen, auf welchem die Software zur Steuerung ausgeführt wird ... stimmts?

 

Oder lassen sich die Module von Tinkerforge ggf. mit einer LOGO und oder über EIB/KNX bzw. FHEM koppeln?

 

Ich weiß - sehr viele Fragen und vermutlich hab ich auch einfach zu hohe Ansprüche...?!

 

Gruß,

Chris

Link zu diesem Kommentar
Share on other sites

Hallo nochmals,

 

Angenommen, ich habe drei Terrarien.

Jedes braucht seine individuellen Einstellungen, was Temperatur, Luftfeuchtigkeit und Beleuchtungszeit betrifft.

 

Wie wäre es hier am geschicktesten vorzugehen, bzw. was kann Tinkerforge hier leisten?

 

Jedes Terrarium bekommt seine eigene "Einheit" - d.h. eine Hauptplatine und die entsprechenden Erweiterungen.

Ist es dann möglich, alle Einheiten an einen Rechner z.B. Raspberry anzuschließen?

Oder macht es sinn, dass auch jedes Terrarium z.B. einen Raspberry bekommt und die Daten dann jeweils über das Netzwerk ausgelesen werden?

 

So wie ich das verstehe, ist die Software für die Ausgabe ja selber zu Programmieren...

Hat jemand bereits Erfahrungen darin gemacht, mehrere in sich geschlossene Systeme auszuwerten und co. ?

 

Wie sieht es aus, sich die Daten z.B. auf einem Tablett oder Smartphone ausgeben zu lassen?

Geht dies "Problemlos" oder ist hier ggf. auch die Programmierung einer eigenen APP notwendig?

 

Ich weiß - viele Fragen... aber ich suche derzeit nach einem System, welches flexibel, aber auch schnell umsetzbar ist und möglichst viele Optionen bietet...

 

Danke und gruß,

Chris

Link zu diesem Kommentar
Share on other sites

Moin Chris,

du kannst 3 oder auch mehr Terrarien über einen Raspberry steuern.

Dafür brauchst du einfach je 3 mal:

- Step Down Power Supply (oder alternative Spannungsversorgung per USB für den Master)

- Masterbrick (je nachdem wie viele Bricklets du anschließen möchtest auch mehr von den Masterbricks)

- WIFI Master Extension oder RS485 Master Extension

- Bricklets für die Sensoren und Aktoren

 

Dann musst du ein Programm schreiben, welches die Tinkerforge-Module über WLAN ausliest und dir irgendwie zur Verfügung stellt (das ist dann deine programmiererische Freiheit, wie du das gestaltest).

 

Für die Anzeige der Daten auf einem Tablet oder Smartphone kannst du natürlich auch gleich eine Webseite auf dem PI programmieren, so dass du nur diese aufrufen musst. Alternativ besteht natürlich auch die Möglichkeit dir eine eigene App zu schreiben.

 

Wenn du weitere Fragen hast, dann immer her damit, dafür ist ja ein Forum da ;)

 

Gruß

rif

Link zu diesem Kommentar
Share on other sites

hehe^^

 

Fragen habe ich mit Sicherheit jede Menge :)

Vor allem, da ich mir über die Umsetzung noch nicht so wirklich im klaren bin...

 

Wie lassen sich z.B. Messwerte und co. über WLan auslesen?

es wäre für mich am besten, wenn ich schon mal ein bisschen probieren kann, wie sich die GUI oder das Webinterface z.B. Programmieren lässt, bevor ich jetzt gleich "Einkaufe" und anschließend klappts nicht, weil ich zu doof dazu bin^^

 

Wie gesagt - was mir im Augenblick z.B. bei der LOGO nicht gefällt ist die Tatsache, dass ich zwei Terrarien in der Programmierung drin habe... kommt jetzt ein drittes hinzu, muss erst die Software auf der Logo angepasst werden.

 

Hier wäre es schöner, wenn jedes Terrarium für sich ein eigenes System bildet, auf welche aber dann letztendlich von einer Stelle gesammelt zugegriffen werden kann.

 

Wie ließe sich das beispielhaft per C# oder via PHP abbilden?

 

Sprich:

Terrarium 1 - IP 192.168.10.1 -> jeweils die angeschlossenen Module

Terrarium 2 - IP 192.168.10.2 -> jeweils die angeschlossenen Module

Terrarium 3 - IP 192.168.10.3 -> jeweils die angeschlossenen Module

 

Gibt es hier irgendwo vlt. eine Demo-Möglichkeit?

Link zu diesem Kommentar
Share on other sites

Stehen deine Terrarien nebeneinander oder weiter voneinander entfernt?

 

Wenn sie nebeneinander stehen reduziert sich nämlich die Menge der benötigten Komponenten auf:

 

-Raspberry Pi als Rechner

-einer Step-Down-Power-Supply

dann ein Brick-Stapel aus drei mal (beispielhaft):

-Master Brick

    -Temperature Bricklet

    -Ambient Light Bricklet

    -ein oder zwei Bricklets (z.B. Quad Relay), die dann die Steuerung übernehmen

 

Damit hast du dann pro Terrarium einen Master Brick im Stapel. Das Programm auf dem Raspberry Pi steuert dann jedes Terrarium einzeln an. Zusätzlich kannst du auf dem Raspberry Pi noch einen Webserver laufen lassen und programmierst eine Webseite, über die du dann vom Handy, von Rechner, etc. alles anzeigen und steuern kannst.

 

Im Programm sieht das dann (sehr grob) so aus:

UID-Temp-Bricklet-Terrarium-1: xyz  (jedes Bricklet kannst du über seine UID ansteuern)

UID-Relay-Bricklet-Terrarium-1: 123

UID-Temp-Bricklet-Terrarium-2: abc

UID-Relay-Bricklet-Terrarium-2: 456

 

[...]

 

//Terrarium 1

if temp_1 > wert_max_1 then

  schalte relay_1

 

//Terrarium 2

if temp_2 > wert_2_max then

  schalte relay_2

 

 

Wenn du vorher schon mal bisschen rumprobieren willst: Lies mal das Tutorial und schau dir die Beispiel-Programme zu den einzelnen Bricklets an, da kann man schon gut ein Gefühl für kriegen, wie die Programme aufgebaut sind. Und falls Fragen sind, dafür ist das Forum ja da :D

Link zu diesem Kommentar
Share on other sites

Also die Terrarien stehen im Moment nebeneinander... aber das kann sich Zukünftig ja auch ändern.

Daher empfinde ich es als riesen Vorteil, wenn jedes Terrarium seine eigene Hardware bekommt, welche dann letztendlich nur in der Software "aktiviert" werden muss.

 

OK, nun dann noch eine weitere kleine Frage... lässt sich das TinkerForge System auch mit anderer Automatisierungssystemen "kombinieren"?

 

Also z.B. HomeMatic oder ist mittels FHEM etwas möglich?

-> vermutlich müsste hierzu auch eine FHEM Unterstützung selber programmiert werden?!

Link zu diesem Kommentar
Share on other sites

Okay, für den Fall empfiehlt sich dann die RS485-Extension (also an einem Terrarium ist der Raspberry Pi mit einem Master Brick für das Terrarium, darauf eine RS-485-Extension, über die dann die anderen Terrarien (jeweils wieder Master Brick+RS-485) angebunden werden), du könntest dann sogar den Code von vorher unverändert weiter verwenden.

 

Von Haus aus nein. Wenn müsstest du das selber programmieren. Wie gut das geht, hängt halt von den APIs der anderen Systeme ab.

Link zu diesem Kommentar
Share on other sites

Sehr schön :)

 

Nächste Frage:

Ist eine Art "Plug&Play" Option möglich?

Also ich schreibe jetzt z.B. ein Webinterface in PHP, welches auf dem RaspberryPI läuft.

Über die IP Adressen werden dann die einzelnen Module "konfiguriert" und gespeichert.

 

d.h. Temperatur f. Terrarium 1) 28° C und alles läuft soweit.

 

Kommt jetzt ein neues Terrarium dazu, müsste ich den Modulen ja vermutlich erst eine IP Adresse geben...

Geht dies dann nur Über USB und dem TFViewer?

 

oder ggf. auch mit einem Shell-Commando, welches sich z.B. über das Webinterface auslösen ließe?

Wäre dann eine Automatische Erkennung der angeschlossenen Komponenten möglich zu Programmieren?

 

Also ohne, dass man erst über andere Software alles konfigurieren müsste und den Quellcode speziell für diesen neuen Brick "kopiert" ?

Meine Idee wäre also wirklich der Versuch, eine möglichst Plug&Play fähige Automatisierung mit Tinker zu reallisieren... sofern ich dies Softwaretechnisch überhaupt hinbekomme... ;)

Link zu diesem Kommentar
Share on other sites

Meine Idee wäre also wirklich der Versuch, eine möglichst Plug&Play fähige Automatisierung mit Tinker zu reallisieren... sofern ich dies Softwaretechnisch überhaupt hinbekomme... ;)

 

Möglich ist das auf jeden Fall. Es hängt letztlich davon ab, ob du es in Software gießen kannst, aber das sollte machbar sein. Beispielsweise könntest du dir pro IP eine Konfiguration speichern und beim Herstellen der Verbindung alle Bricks/Bricklets enumerieren, wenn keines davon doppelt vorkommt oder du immer alles an den gleichen Anschluss anschließt, dann geht das sogar vollautomatisch (lies das als: du kannst es so programmieren, dass es vollautomatisch sein wird).

 

Ein Punkt den ich in diesem Thread noch nicht gefunden habe ist die Ausfallsicherheit. Da weiß ich jetzt natürlich auch nicht wie es um deine LOGO bestellt ist, aber solche Dinge solltest du im Design auf jeden Fall berücksichtigen.

 

Beispiel: Heizer wird eingeschaltet, um die Temperatur zu erhöhen -> WLAN fällt aus -> Terrarium enthält Grillfleisch

 

Tinkerforge sieht hier bereits einige Schutzmaßnahmen vor, du kannst beispielsweise ein Relay automatisch ausschalten lassen wenn es mehr als x Sekunden nicht mehr angesprochen wurde.

 

(Diese Sicherheitsbedenken sollten unabhängig von der Entscheidung TF/Siemens in deinem Kopf schwirren ;) )

Link zu diesem Kommentar
Share on other sites

hi, vielen Dank für den Hinweis mit den "Sicherheitsschaltungen"...

bei der Logo ist es so, dass alles an einem Stromkreis hängt... fällt hier etwas aus, geht weder die Logo, noch die Beleuchtung und auch die Beheizung nicht...

Da die Steuerung aber mit Tinkerforge von einem eigenständigen Gerät erfolgt, ist das auf jeden Fall ein Punkt, welcher zu berücksichtigen ist!

 

Ich werde jetzt erstmal versuchsweise eine Schaltung aufbauen mit folgenden Modulen - bitte teilt mir mit, ob ich hier mit meinen Gedanken korrekt liege:

 

1) Masterbrick 2.0

2) Temperature Bricklet

3) Humidity Bricklet

4) Dual Relay Bricklet

 

Erster schritt: Ausgabe von Luftfeuchtigkeit und Temperatur und Ein/Ausschalten eines Verbrauchers (230V)...

Link zu diesem Kommentar
Share on other sites

noch eine doofe Frage :-(

 

reagieren die Bricks selbstständig, wenn z.B. der Temperatursensor eine Temperatur misst, die einen definierten Schwellwert erreicht hat, oder muss dann die entsprechende aktion per Software erfolgen?

 

Also z.B. Temp1 = 30°C -> Ausgang3 = Off

Kann das die Hardware selbstständig, oder muss das permanent durch die Software überwacht werden?

Link zu diesem Kommentar
Share on other sites

hm... ok, d.h. ich müsste also einen Art Dienst schreiben, welcher konstant die Daten abfragt / diesen Callback abruft (?) und entsprechend reagiert...

 

Dieser schreibt die Daten dann z.B. in eine Datenbank, welche über ein Webinterface o.ä. ausgelesen werden können.

 

Alleine eine WebApp würde in dem Fall nichts bringen - da PHP ja nur durch Aufrufen der Seite ausgeführt wird... und dann ohne reload oder Benutzeraktion auch nichts passieren würde...

 

Sprich: Es müsste erstmal ein Kommunikationsserver oder so ähnlich erstellt werden.

Link zu diesem Kommentar
Share on other sites

Ich würde es vermutlich so machen:

 

unabhängige Komponenten

- Datenbank

- Webserver

- Kontrollprogramm

 

Web-Server

- Dient als Nutzeroberfläche

- Schreibt SOLL-Werte in eine Datenbank (Zieltemperatur usw)

wahlweise:

- Liest IST-Daten direkt

- oder Liest IST-Daten auch aus Datenbank

 

Kontrollprogramm

- Hat ständige Verbindung zu Bricks

- regelt Temperatur, Licht usw

- holt sich regelmäßig die aktuellen SOLL-Werte aus der Datenbank

optional:

- Schreibt IST-Werte in Datenbank

 

Die IST-Werte in der DB zu haben ist natürlich nett, weil man auch den Verlauf im Nachhinein einsehen kann.

Link zu diesem Kommentar
Share on other sites

Ich kenne da jemanden der das schonmal angefangen hat ^^

 

Jemand...

 

http://www.tinkerunity.org/forum/index.php/topic,1574.0.html

 

Ist aber ziemlich unvollständig, aber möglicherweise reicht es dir zum Üben ^^

 

Weil meine Scherze manchmal nicht so gut ankommen: Dieser jemand bin ich... Hab aber schon nen paar Tage nicht mehr dran gearbeitet... müsste ich eigentlich mal wieder ^^

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...