NEWS
Anfänger Beratung für Projekt.
-
Hallo,
ich plane gerade eine Aquariumsteuerung und bin dabei nur durch zufall auf iO Broker gestoßen.
Obwohl ich schon mit dem Python Code angefangen habe wollte ich mir das ganze doch mal genauer anschauen.
Zum Projekt:
Eine Raspberry Pi 3 Aquarium-Steuerung für:
-Temperatur, Messung mit DS18B20 (wenn unter x°C Relais schalten für Heizung, wenn über x°C aus)
-Wasserstand, Messung mit HC-SR04 (Schaltung wie bei Temperatur nur mit Wasserstand)
-PH Messung mit CO2 anpassung
-LED Steuerung (An/Aus, Farben, Effekte, Sonnenaufgang [Daten aus dem Internet holen)
-Kalender (nächstes anstehendes Ereignisse wie Füttern, Wasserwechsel usw. anzeigen)
-Steuerung über Handy/Tablet übers Internet
-Steuerung über TouchScreen vom Raspberry
(Übersicht über die Messwerte und einstellungen, LED Einstellungen, Sollwert Eingabe [Temp, Wasserstand usw.])
usw.
Zu den Fragen:
-
Bin ich bei iO Broker richtig?
-
Wie geht man vor? Mit Node-Red die Schaltung aufstellen und dann mit VIS ne GUI erstellen?
-
Gibt es bei Node-Red alle Ansteuerungen (Relais, DS18B20, DHT22, HC-SR04, BH1750, evt. PH messung), ich habe in Node-Red nichts gefunden.
-Könnte mir wer ein Beispiel Anhand von [Temperatur, Messung mit DS18B20 (wenn unter x°C Relais schalten für Heizung, wenn über x°C aus)] erstellen?
Gruß und Danke
-
-
Hallo Gummix,
willkommen im Forum! Ich denke, du bist bei ioBroker genau richtig. Spielt letztlich keine Rolle, ob man ein Haus oder ein Aquarium steuert.
Zur Anbindung der DS18B20-Sensoren kann ich nichts sagen. Ich glaube, sie lassen sich über node-red und aber auch über den GPIO-Adapter anbinden.
Hier hat mir die Suche im Forum auch ein Skript und einen Flow ausgespuckt:
http://forum.iobroker.net/viewtopic.php … it=DS18B20
Bei der Steuerung der Heizung über die Temperatur solltest du an eine Hysterese denken (auch mal im FOrum suchen), damit im Grenzbereich der Schalttemperatur die Heizung icht ständig ein/ausgeschaltet wird.
Letztlich ist die Logik der Schaltungen kein Problem, wenn die Sensoren sich mit dem RasPi einlesen lassen.
LED Steuerung geht mit allerlei LED-(Controller-)Anbietern (Hue, Milight, Homematic, etc.)
Es gibt einen Kalender Adapter, der bei Ereignissen im Kalender Variablen setzen kann.
Die Visualisierung erfolgt über den VIS-Adapter. Er erzeugt eine Webseite auf dem Host. Diese kann von allen möglichen Endgeräten angezeigt werden. Wie die Oberfläche aussieht, kannst du selbst per Drag&Drop von sogenannten Widgets bestimmen. Zuerst sollte aber die Logik gebaut werden, dann die Visualisierung.
Lies mal http://www.iobroket.net und schau dir die auf der Seite verlinkten Videos an.
@Gummix:Könnte mir wer ein Beispiel Anhand von [Temperatur, Messung mit DS18B20 (wenn unter x°C Relais schalten für Heizung, wenn über x°C aus)] erstellen? ` Beschreib mal genau, welche Logik das Programm haben soll.
Gruß
Pix
-
Hi,
danke für die erste Erklärung.
Wichtig ist mir halt das ich alle augezählten Sensoren nutzen kann (und die automatische Sonnenaufgang/Untergang ermittlung)
In Python/Raspberry kann ich alle Sensoren einlesen.
Die (effekt) LED sollten eigendlich direkt über das Raspberry angeschlossen und angesteuert werden (WS2801)
Die Normale LED Beleuchtung wird über PWM und ne KonstantStromquelle ebenfalls über das Raspberry direkt gesteuert.
Zum Temperatursensor
In Python ist es etwa so gelöst:
Min Temperatur festlegen (TMin)
Max Temperatur festlegen (Hysterese 3°C) (TMax)
Wert vom DS18B20 abgreifen und durch 1000 teilen (T)
Wenn T <tmin dann/heizung(relais)/an<br="">Wenn T>Tmax dann Heizung(Relais) aus.
Die Relais sind auch über GPIOs gesteuert.
Gruß</tmin>
-
Wenn es am raspberry funktioniert lässt es sich auch in iobroker einbinden. Auf die eine oder andere Art.
Da du anscheinend mindestens rudimentäre Kenntnisse von Python hast sollte es für dich nicht zu schwer sein, etwas ein zu binden was nicht schon eingebunden ist.
Es gibt auch noch npm module, die haben nichts mit iobroker zu tun und es gibt Millionen die unzählig Möglichkeiten bieten.
So auch zum Beispiel die ws2801 am rpi zu steuern. https://www.npmjs.com/package/rpi-ws2801
Gesendet von meinem m8 mit Tapatalk
-
Naja, Python.
Aber wie das ganze dann mit iO Broker mit dem einbinden klappen soll weiß ich (noch) nicht.
(muss man das net mit Java regeln?)
-
(muss man das net mit Java regeln?) `
Nein, mit Javascript. -
und davon habe ich 0 Plan.
-
und davon habe ich 0 Plan. `
Dafür gibt es das Forum -
-
Ah, ok.
Kannt ich auch noch nicht.
Muss ich mir morgen mittag mal anschauen.
Gruß
-
Also,
ich scheitere schon beim hinzufügen des Sensors.
nehmen wir mal den DS18B20:
https://flows.nodered.org/node/node-red … b20-sensor
Ich habe den installiert:
pi@raspberrypi:~ $ npm install node-red-contrib-ds18b20-sensor node-red-contrib-ds18b20-sensor@1.2.6 node_modules/node-red-contrib-ds18b20-sensor └── underscore@1.8.3
Aber er wird nicht in der "Node" liste angezeit.
Neustart habe ich gemacht.
Auch habe ich versucht den in
cd $HOME/.node-red
zu installieren (wie es unter "Adding Nodes" steht)
Aber er taucht einfach nich auf.
Was mache ich falsch?
Gruß
-
Die Anleitung auf node-red.org gilt für die standalone-Version.
Wenn du im Adapter nodes hinzufügen willst, gibst du sie einfach in der Konfiguration im dafür vorgesehenen Feld ein und startest den Adapter neu.
Gruß
Rainer
-
Hi, also du meinst:
-Unter Instanzen auf node-red.0 drücken
-Unter Zusätzliche NPM-Module npm install node-red-contrib-ds18b20-sensor eintragen?
-
Hi, also du meinst:
-Unter Instanzen auf node-red.0 drücken
-Unter Zusätzliche NPM-Module npm install node-red-contrib-ds18b20-sensor eintragen? `
knapp daneben!Nicht den Befehl, sondern nur den Paketnamen, z.B. node-red-contrib-ds18b20-sensor, wenn er denn so heisst.
Gruß
Rainer
-
Ah ok,
hab ihn in der liste.
Jetzt noch kurz den Sensor in Pi einstellen und mal schauen ob er läuft.
Muss ich das "node-red-contrib-ds18b20-sensor" jetzt immer da stehen lassen oder ist und bleibt das Modul dann drin?
Danke und Gruß
-
Immer drin lassen solange du es in Flows verwendest.
Gruß
Rainer
-
Ok, gut.
eine Wichtige Frage habe ich dann noch.
Den Flow startet man mit "Deploy" aber wie halte ich ihn wieder an bei z.B: einer Intervallabfrage?^^
Oder geht das nur indem man die Instanz neu startet?
Gruß
-
deploy ist nur so ähnlich wie installieren.
Damit der flow regelmäßig läuft, musst du inject verwenden und da den Intervall eingeben.
Schau dir vielleicht mal die node-red tutorials an?
-
Naja, da stehen ein paar Basics drin.
Aber allgemein gibt es scheinbar recht wenig Infos zu dem ganzen.
Ich such seit ner Stunde nach einer Möglichkeit den Output vom Sensor auf 2 Stellen zu runden.
Leider habe ich noch nicht Ansatzweise etwas gefunden was da für einen Anfänger verständlich und umsetzbar ist.
-
Naja, da stehen ein paar Basics drin. ` stimmt - nämlich zB wie das mit deploy und inject funktioniert
Wenn dir die "Basics" zu wenig sind, kannst du ja hier alles durchlesen: http://noderedguide.com
Eine Stunde um in google "javascript runden" einzugeben?