DIY - Raspberry Pi - ESP32 - Schranküberwachung mit I/O Broker

Hallo zusammen,

ich habe hier auf dem Board ein bisschen mitgelesen und es gibt immer wieder Posts über das Thema DIY-Sensoren Grow. Überwachung etc. Da ich selbst wirklich fast keine Ahnung von Elektrik und Programmieren habe hat mir ein guter Freund viel Input geben und den Rest habe ich im Selbststudium in den letzten zwei Wochen erlernt.

Immer lese ich, dass es fertige Lösungen gibt, die aber recht teuer sind oder halt irgendwas an dem Tool dann doch nicht dem entspricht was man will. Nochmal, also ich bin wirklich kein Experte, aber ich habe mir gedacht, dass was ich mir hier zusammengebaut habe könnte ich doch mal präsentieren. Es ist nix dolles, aber für den Anfang und für Anfänger wie mich sicherlich eine kleine Hilfe …

Ich wünsche mir, dass man sich hier über neue Sachen vielleicht austauschen kann und ich auch viel lerne durch euren Input. Ich habe mir ganz viel abgeschaut und aus Tutorials zusammengesucht, des Weiteren fange ich gerade auch erst selbst mit dem growen an.

Ich hoffe es fühlt sich niemand auf den Schlipp getreten, wenn eventuell das Thema schon mal thematisiert wurde. Ich weiß auch, dass viele von euch sagen, lass die Pflanze einfach wachsen, die Natur tut Ihren zweck, ohne Frage - sicherlich absolut richtig. Ich finde die Daten weiterzuverarbeiten einfach total interessant und eine Erweiterung für mein neues Hobby… Wen es nicht interessiert, der muss ja auch nicht lesen. Leute die schon mehr Ahnung haben von dem Thema werden vielleicht den Kopf über die Hand schlagen, ich weiß es nicht … da ich aber nirgendwo eine Sammlung gefunden habe hier:

Mit etwas Muße und Ambition, entdeckt man mit so einem PI das Land der „fast“ unbegrenzten Möglichkeiten.

Ich würde einfach mal damit beginnen, was ich hier nun für Hardware für die Steuerung und Überwachung habe, dann dazu Tutorials posten.

Die Hardware:

  1. Raspberry Pi 3 mit 32 GB Micro SD-Karte (SD-Karte sollte nicht unter 8 GB sein sonst gibt es eventuell mal Platzprobleme)

=> Betriebssystem is das aktuelle Raspbian Image ohne grafische Oberfläche.
=> I/O Broker Installation mit vielen Adaptern (Herzstück für das Verwalten der Clienten (
NodeMCU (Sensoren))
=> Der I/O Broker verarbeitet die Daten die von den Sensoren geliefert werden und man kann diese Daten nach eigenem Belieben grafisch ausgeben, Ferner kann man Daten zur Steuerung von z.B. Lüftern, Licht etc. (einfach allem) weiterverarbeiten.
=> Wenn man möchte kann hier z.B. einen Telegram Bot installieren, der darüber informiert, wenn Werte oder Schaltungen erfolgen.

  1. 2 x eine Aofo Mehrfachsteckdosenleiste mit jeweils 2 x 4 Steckdosen (einzeln programmierbar) und 4 x USB Ports (diese kann man aber nur alle 4 zusammen aus oder einschalten) geflashed über das Raspberry PI (hier ist wichtig beim flash, am PI ein Netzwerkkabel zu haben sonst gibt es Probleme, da dieser über das WLAN „irgendwas versucht zu machen“ aber nicht kann weil der "Port - oder ähnliches dann für die Internet Connection benutzt wird. Als Software läuft dort Tasmota drauf.

=> Hier kann man per WLAN mit 2 Leisten 8 Steckdosen einzeln ansteuern, schalten und mit Timern versehen. Durch Tasmota kann man die Leiste in den IO Broker einbinden.

  1. Eine - ESP32 NodeMCU Module WIFI mit CP2102 (Nachfolgermodell zum ESP8266) => Hier hatte ich aber Probleme, dass man nur ESP Easy flashen konnte (was alles gut funktioniert) und nicht Tasmota.

=> Dies ist ein kleiner Computer der über WLAN Daten an den IO Broker sendet, welche Daten er sendet liegt an euren Setup. Also welche Sensoren an eurer NODE angeschlossen sind. Man kann nicht unendlich viele Sensoren an eine Node anschließen da man durch die PINS begrenzt wird. (Hier habe ich aber zu wenig Ahnung, ich sage mal, soweit ich es verstanden habe, kann ich nicht 15 Sensoren an eine Node anschließen … das weiß ich nicht genau. Er muss mit 5V angeschlossen werden. Es kann ebenfalls Relais schalten …

Ich betreibe das Gerät über die USB-Leiste der Steckdose. Manchmal hatte ich Probleme, dass die Node nach ein paar Stunden abgestürzt ist. Den Fehler konnte ich nicht finden. Ich habe dann einen Timer so programmiert, dass die Node 2 x am Tag an und ausgeschaltet wird, dass dauert 20 Sekunden, dann sendet das Gerät wieder Daten. Seitdem habe ich gar keine Probleme mehr und es läuft völlig stabil.

=> Folgenden Sensor habe ich angeschlossen:

2 x DHT 22 - zum Messen der Luftfeuchtigkeit und Temperatur (Wenn das Kabel lang ist zwischen Sensor und Node, muss ein Widerstand zwischen die beiden Kabel
gelötet werden. Man kann dann z.B. an zwei Punkten messen und einen Mittelwert nehmen um genauer zu messen.

1 x BlitzWolf BW-SHP5 USB Steckdose um den Stromverbrauch aller Geräte genau zu ermitteln. (Gesamtleistung die durchfließt, sonst braucht man für alle Geräte jeweils eine Steckdose)

=> Folgenden Sensor möchte ich noch anschließen: (hier habe ich nicht genau eine Ahnung ob man alles an eine Node anschließen kann (was ich fast nicht glaube) oder nicht. Finde ich aber auch nicht dramatisch, dann benutzt man halt mehrere. ~ 8,00 € pro Stück + USB-Kabel zur Steckdose ist in Odnung, finde ich.

  1. Zwei Stufen Ralais um den Ventilator S&P TD350 entsprechend LA / LB zu regeln
  2. Je Topf 4 x 50kg Gewichtssensor mit HX711 AD Modul ( Gewichtserfassung für „Überwachung Gießen“)
  3. Für das Messen der Lichtstärke BH1750 Lichtsensor I2C Modul Arduino
  4. CJMCU MICS 6814 Kohlenmonoxid Stickstoff Sauerstoff Sensor Co No2 Nh3 Arduino (Ist das notwendig? Fände ich nice to have
  5. PH Wert und EC-Wert Messung im Medium und im Drain (das wird wahrscheinlich am ambitioniertesten, wenn man auf Dauer gute Werte haben möchte)
  6. Digitales Potentiometer um das Licht ggf. zu steuern

Was fehlt noch?

Software:

Über den Raspberry Pi Imager habe ich mir das akutelle Image auf die SD-Karte gezogen und dieses entsprechend konfiguriert:

Tutorial: Installation Betriebssystem PI

Danach kann man erstmal die Grundlage schaffen um die Steckdosen zu flashen. Hierfür benötigt man ein Tool was nur unter Linux läuft:

Turorial zum flashen von IOT Geräten ohne Löten

=> Wenn man dieses Tutorial erledigt hat, kann man schon fast ohne den Raspberry Pi,
die Steckdosen über Tasmota (Weboberfläche) ansteuern, Timer setzten und so weiter. Was fehlt nachdem man das 1. Tutorial geschafft ist, die Steckdosen Template in Tasmota zu konfigurieren. Dafür muss man in der Console in Tasmota folgende Befehle eingeben:

Geh’ in deine Tasmota-Weboberfläche, dort nach „Configuration -> Config Other“ und dort das in der Doku genannte Template hinterlegen:

{„NAME“:„AOFO-4AC-4USB“,„GPIO“:[255,255,255,255,255,255,0,0,255,255,255,255,255],„FLAG“:1,„BASE“:54}

Danach, ins Hauptmenü -> Console, Dort,die folgende Befehlsfolge pasten (sortiert irgendwie die GPIO Pins zu den Tuya Commands):

Backlog TuyaMCU 11,38; TuyaMCU 12,1; TuyaMCU 13,2; TuyaMCU 14,3; TuyaMCU 15,4 ; TuyaMCU 16,7

Um die richtige Zeit auf dem Gerät einzustellen, sonst funktionieren die Timer natürlich nicht richtig, damit hatte ich Probleme, weil ich es erst nicht gemacht habe
timezone99

Das sieht dann im Webbrowser am Ende so aus und funktioniert auch ohne einen Raspberry PI - flashen geht halt nur mit Linux. Aber auch nur mit der Steckdosenleiste sind Zeitschaltuhren die Vergangenheit. Ich glaube (habe ja keine Langzeiterfahrung), dass es auch sehr störunanfällig ist, da man ja auch eine gewisse Überwachung hat. Und ich weiß ja nicht wie es euch geht, aber diese ZSUen gehen mir RIIIIICHTIG auf den Nerv. Was ich damit schon für Probleme hatte … ob mechanisch oder Digital … nie wieder nach dieser Lösung.

=> Anekdote am Rand: Eine mechanische ZSU hatte ich dusseligerweise so hingelegt, dass sich nach einer Umrundung die Pins selbst durch eine Ecke an dem Stecker der Steckdose reingedrückt haben :smiley: … Joa … da fragt man sich 2 x ob man spinnt. Alles richtig eingestellt, der 1. Zyklus läuft ohne Probleme am nächsten alle Pins verstellt … O_o … klar mein Fehler aber trotzdem irgendwie Banane.

Die Timerfunktion:

Soooo dann hat man quasi schon mal die Grundlage geschaffen um Strom zu schalten an aus und Geräte die USB benötigen mit USB Kabeln zu versorgen.

Als nächstes würde ich dann die NODEMCU ESP32 mit (in meinem Fall ESP Easy) flashen. Das war am Anfang auch recht störrisch und kompliziert, da es hier wohl nur ein stabil funktionierendes Experimental Image gibt, daher würde ich euch wohl den ESP8266 empfehlen. Nachdem man sich darauf aber eingestellt hat war alles leicht.

ESP an den PC anschließen und dieses Tutorial verfolgen: Tutorial ESP32 Flash ESP Easy und für den ESP32 ganz unten auf Unterseite findet ihr dann den Link für die Software

Wenn Ihr die Schritte erldigt habt, erstellt der ESP ein WLAN, dieses verbindet Ihr, stellt dort eure WLAN Daten ein und ab sofort ist dann über eine Weboberfläche und IP der Client, die Nodemcu erreichbar.

Hier kann man dann verschiedene Geräte (Sensoren einbinden) um die Werte auszulesen und zu übertragen. Wenn man dieses Tutorial hier erledigt hat:

ESPEasy Einrichtung

Im nächsten Schritt können wir mit der Einrichtung der Sensoren in ESPEasy beginnen. Dazu rufen wir die ESPEasy Web-Oberfläche auf und klicken zunächst auf die Lasche „Hardware“. Auf dieser Ansicht können wir den pinMode der einzelnen Anschlüsse des ESP konfigurieren. Da wir ja Sensorwerte einlesen möchten, stellen wir hier den Pin 4 auf „Input“ und speichern die Einstellungen mit „Submit“. Anschließend wechseln wir auf die Lasche „Devices“. Auf dieser Lasche können wir nun unsere Sensoren definieren. Wir klicken also in der ersten Zeile im Task 1 auf „Edit“ und wählen als Device „Temperature & Humidity – DHT“. Nach dem wir das Device gewählt haben müssen wir nun weitere Einstellungen definieren. Im ersten Schritt vergeben wir einen Namen und das Delay des Sensors. Als IDX vergeben wir eine eindeutige Nummer und als GPIO Pin GIP-4 sowie als DHT Type: DHT22. Abschließend können wir noch optionale Einstellungen wie etwa die Namen für die beiden Werte oder das Format der Werte (Nachkommastellen, etc.) definieren. Ich habe die Werte so belassen.

In der Übersicht der Devices sehen wir jetzt den angelegten Sensor sowie die beiden Sensorwerte in grün hinterlegt.

Nun müsste man erreicht haben das die Temperatur und Luftfeuchtigkeit angegeben werden. Hier gibt es ein paar kleine Häkchen und Werte die man pflegen muss in der Webmaske und zack funktioniert es. Wichtig ist, dass der Sensor immer richtig an die Node angeschlossen wird. Niemals +/- Vertauschen und niemals 5V an den Sensor, ich habe mir zwei Sensoren geschrottet, weil ich zu hibbelig und unkonzentriert war.

Die Blitzwolf Tasmota Steckdose, hier kann man die Werte ebenfalls auslesen und weiterverarbeiten.


image

So damit hat man dann die ersten Sensorwerte.

Danach geht es an die Installation des I/O Broker auf dem PI, das war bei mir auch etwas fummelig, aber am Ende immer nur Konzentration und Bedienfehler des Users vor der Tastatur. Dieses Tutorial hier ist sehr einfach gehalten und hat mir zum Erfolg geholfen:
Installation I/O Broker: Tutorial

Wenn Ihr soweit seit geht es bald hier weiter. :-)

Ich habe mir Über eine Schnittstelle im I/O Broker ein kleines UI zurechtgeschoben (geht alles per DRAG und Drop, man muss nicht programmieren können, es ist wie ein Baukasten) … daran bastel ich natürlich ständig und ich muss noch lernen, aber hier soweit die UI-Seiten:

Hier kann man alles visualisieren wie man möchte.Man kann alles auf eine Seite bauen, alles in einen großen Graphen bringen oder die Messwerte einzeln auswerten … wie es euch beliebt.

Hauptübersicht: Kann im Webbrowser auf allen Geräten angezeigt werden

Hier kann man die Lampen und Lüfter manuell schalten und sieht auch in Echtzeit deren Zustand.

Details Temperatur und LF : Hier kann man gegen 06:00 Uhr sehen, dass meine selbst geschrieben Reglung (die noch lange nicht perfekt ist) die LF zwischen 40 - 55 % super geregelt hat. Ich benötige noch ein Relais um den Abluftventilator digital zu schalten, er läuft im Moment
auf der niedrigeren Geschwindigkeit, weil es angenehmer ist und ich auch fast immer in der Toleranz bin. Bald läuft es dann so, dass er bei zu niedriger LF nicht nur ausschaltet und bei zu hoher anschaltet, sondern auch noch den 2. Gang einschaltet, wenn er die LF nicht im 1. Gang
runterbringen kann, sprich der Wert auf Gang 1 55 % übersteigt und nicht runtergeht wird Gang 2 geschaltet. Wenn das nicht hilft muss man andere Maßnahmen ergreifen im Zelt => Ich glaube es funktioniert aber schon ganz gut.

Details Licht: Hier kann man sehen wann die Lampen geschaltet haben, die roten Balken zwischen den Zyklen sind Test"druck" werte auf den Buttons. An den ersten drei Tagen sieht man dann schön wie es richtig ist, sich kurz überschneidet und FarRed den Tag ausklingt.

Details Abluft: Hier kann man sehen wann die Abluft geschaltet hat um die LF zu kontrollieren, hier werde ich ebenfalls noch einen Bezug zur Temperatur hinzufügen.

Wie man sowas alles hinbekommt habe ich durch diesen Youtuber in der Tutorialreihe gelernt:
Hier wird alles super erklärt … schaut euch es an … Und das Video zu den Graphen in VIS

So das war es nun auch erstmal von mir … Leider kann ich keine Privatnachrichten schreiben, da ich nicht freigeschaltet bin, wann erreicht man das?

Bis dahin, Cybersmurf

14 „Gefällt mir“

Hey! :slightly_smiling_face::v:t3: Krasser Beitrag! Sehr schön.
Schau mal in den Vertrauensstufen nach. Da steht alles beschrieben!

1 „Gefällt mir“

Ach jaaaaa … ma richtig lesen und schauen und so ne’

1 „Gefällt mir“

Bombe! :smiley: super gemacht! Mega interessant.

1 „Gefällt mir“

Habe deinen Beitrag aufmerksam gelesen. Ich finde es ganz schön tapfer von dir, was du dir da antust. Und Respekt, weil du da schon ziemlich weit gekommen bist.

Ein paar Anmerkungen will ich beisteuern.
In der Embedded Welt ist Linux der Platzhirsch. Da gibt es ausschließlich Linux.
Weshalb du es da mit Linux immer einfach haben wirst.

Man kann jedes dieser Boards via Konsole flashen.
Es mag nur mit geringen Linuxkenntnissen schwierig werden, sich die dafür nötige Programmierumgebung einzurichten.
Es gibt eine Arduino-CLI Version der Entwicklungsumgebung. Wenn du in der Konsole halbwegs firm bist, wäre das ein guter Weg. (Bei mir läuft die auf dem Pi, den ich via SSH bediene). Es gibt für viele SOCs Module, die du dort einfach installieren kannst. (Vielleicht kann ja dieser Tip dein Flashproblem lösen. Für meinen Setup tut es das prima und vollständig)

Ich halte die Wahl deines Boards auch nicht für sonderlich glücklich.
Die „Updates via WLAN“ mögen ja bequem sein - sind aber gleichzeitig ein Einfallstor für die Übernahme durch Hacker Hinz&Kunz.
Außerdem sind deine Boards ziemlich limitiert in Anzahl von GPIOs, was die Möglichkeit Geräte zu steuern stark einschränkt.

Es gibt einige Sensoren für PH und EC Wert. Aber gute Sensorten in dieser Sparte gibt es kaum unter 30€. Fraglich, ob man das möchte.

Die Steuerung von Licht ist schwierig. Du müsstest die ja für jede Art von Beleuchtung entwickeln.
Ich behelfe mich vorerst damit, dass ich nur das Ein/Ausschalten steuere und das wird durch eine RTC getriggert.

Und letztlich würde ich dir raten, all deine Steuerkreise galvanisch zu entkoppeln. Teilweise sind es ja teuere Gerätschaften. Da will man keinesfalls beim Ausfall einer Komponente eine andere beeinträchtigen oder gar mit in den Abgrund reißen.
Falls ich deinen Setup richtig verstanden habe, sollte das ja einfach möglich sein.
Nimmst du einen halbwegs modernen AT Mega Chip landest du bei weit über 100 Geräten.
In deinem Setup wirst du alle paar Geräte einen weiteren Kontroller (und somit einen weiteren Übernahmekanditat) hinzufügen müssen.

Der DHT22 Sensor ist eher mies. Er neigt zu Ausfällen, weshalb du die Messungen nicht öfter als alle 10 Sekunden auführen solltest. Aber seine Messung ist außerdem sehr ungenau.
Es gibt sehr viel bessere Sensoren, wie z.B. BME/BMP280
(Liefert außerdem noch Luftdruck). Der kostet nicht viel mehr, ist aber hochpräzise und sehr viel stabiler.

Ein großes Problem hast du wohl jetzt schon (und es dürfte dir auch schon bewusst sein):
Es fehlt ein DB- Backend, das alle Sensordaten entgegennimmt und dann persistent speichert.

3 „Gefällt mir“

Ich habe jetzt das ganze noch nicht vollständig gelesen. Aber schaut sehr gut und Umfangreich aus!

Ich habe auch vor ca. einem Monat meine smarte Smarten Grow Schrank fertiggestellt. Ich habe aber alles selber und nur mit einem ESP-32 realisiert. Bei mir kommt der BME280 Temperatur und luftfeuchte Sensor zum Einsatz, da dieser deutlich genauere Werte liefert als die DHT sensoren. Für die Bodenfeuchte verwende ich einen billigen kapazitive Sensor, welcher wenn er einmal richtig eingestellt ist super funktioniert.

Meine Lampen steuere ich mithilfe eines selbstgebauten Phasenschnittdimmer, welcher für meine 230V COBs wunderbar funktionert. Man könnte aber auch einen Meanwell Treiber einfach über ein 10V PWM signal ansteuern.

Meine Software habe ich komplett selber geschrieben, aus Sicherheitsgründen und damit ich unabhängig von anderen Platformen und Sicherheitslücken bin. So habe ich ein Webinterface für alles was ich brauche und das ist auch nur lokal oder über vpn erreichbar. Die Messwerte und alles dazugehörige speichere ich direkt im Flash des ESP und die Gafische Darstelung leuft direkt im Browser über Charts.js was ein open source JavaScript ist.

Zusetzlich steuere ich auch die Abluft, Umluft und die Ventilatoren für die LED per PWM über den ESP.

Ich würde nicht sagen, dass es sich hier um einen Nachfolger handelt, beide ESPs sind eigentlich eigenständig und habe ihre eigenen Anwendungsfälle. Zusätzlich wird es auch in naher zukunft ESP 32S2 module geben, welche für Webcams und Sicherheitrelevante Anwendugen optimert ist. (Aber leider ohne Bluetooth)

  • Lichsensor ist auf jeden fall einfach, halte ich aber personlich für nicht so sinvoll.
  • Die Gassensoren kannst du für deinen zweck so zimlich vergessen, da dieses solange es sich nicht um sehr teure professionelle senoren handelt nichtr sehr sensibel sind und warscheinlich keine brauchbaren änderungen aufzeichnen werden.
  • PH und EC Messung sind natürlich nett und auch definitiv einfach machbar, da ich aber in meinem Leben bis jetzt noch nie meinen PH und EC gemessen ahbe und auch noch keine Probleme habe sehe ich hier für mich keinen großen nutzen aber wenn du es probieren willst probier es ruhig aus. Ich habe nur gesehen dass die Sensoren nicht sehr billig sind.
  • Ich denke mal, dass du einen Meanwell Treiber hast, diesen könntest du über ein 10V PWM signal steuern, ist sehr simpel zu machen.

Hier muss ich leider wiedersprechen, da der ESP 32 eine erhebliche anzahl an GPIOs hat welche für diesen zweck problemlos ausreichen sollte. Vorallem, da die meisten Senoren ja über einen einzigen SPI Bus laufen. Zudem kann man über eine SPI GPIO Erweiterungsboard für 2€ theoretisch hunterte Geräte, Sensoren, Lüfter ansteuern.

1 „Gefällt mir“

Du kannst nicht mehr Geräte dranhängen, als SlaveSelectleitungen existieren.
Außerdem können viele Sensoren nur wenig Adressen.
Beides limitiert das ziemlich.
Theoretische Maxima werden in der Realtiät eher nicht erreicht.
Und Sensoren mit SPI/I2C Interface kosten immer mehr.
Ich will nicht dagegen reden, ich möchte nur darauf hinweisen.
Ist halt eine Frage, worauf man Wert legt.

1 „Gefällt mir“

Ja natürlich gibt es Microconroller mit deutlich mehr IO ich meine halt nur, dass für eine Grow Box ein ESP 32 in 99% der fällen ausreicht, solange man es halt nicht komplett übertreibt :wink:

Das ist war aber die unterschidlichen Senoren haben ja meistens dan auch unterschiedliche Adressen und mehr wie 2-4 gleiche Senoren hat man nur selten.

1 „Gefällt mir“

Nu ja, den BMe/P280 betreibe ich fünffach.
Einmal außerhalb des Zeltes,
dann einen in der Kontrollerbox selbst und drei auf drei Höhen im Zelt.

Später will ich noch einen in fixem Abstand zur LED installieren, was kombiniert mit Abstandsmessung zu einer automatischen Höhenregulierung der LED führen soll.
Will ich die anständig machen, so würde ich einen Laserabstandsmesser verwenden, was seinerseits einen schwenkbaren Messkopf bedingt.
Und PENG sind gleich drei Servos, Laser und Sensor fällig.
(Die Kiste muss dann autonom die exakte Höhe aller Pflanzen messen können, was aufwendig durch Schwenken des Lasersensors und vielen Einzelmessungen gemacht werden muss)

1 „Gefällt mir“

Bekomst du bei den 3 verschieden höhen überhaupt verschiede Messwerte? Weil bei einer guten Luftzirkulation in der Box solte da ja nicht so viel um sein.

1 „Gefällt mir“

Das weiß ich noch nicht.
Deshalb will ich es ja präzise messen.
Tag und Nacht.
Mindestens eine deutliche Temperaturdifferenz vermute ich.
Je nach Beleuchtungsart.
(Mein Ding soll für alle möglichen Setups verwendbar werden)

1 „Gefällt mir“

Ja ich habe dein Projekt schon mal grob überflogen, sehr ambitionert! Ich wünsch dir viel Glück dabei!
Wenn du vor allem beim Thema Hardware Hilfe brauchst kannst du gerne bescheid geben, da kann ich dir sicher helfen.

Die BME280 sind dabei warscheinlich noch die beste Wahl. Ich habe 3 Stück von denen und zwischen denn habe ich eigentlich nur messdifferenz von 0,02° bei der Temperatur und 0,5% bei der Luftfeuchte.

2 „Gefällt mir“

Hallo DrGrow, vielen Dank für deinen Input. Das ist ja gerade mein Problem, ich bin nicht genug firm in der Konsole und im Programmieren, daher ist die Lösung über den I/O Broker für die Leute, die wenig Ahnung haben davon in meinen Augen sehr elegant. Des Weiteren kann ich dein Argument bzgl. Hackern nicht unterstützen.

Dann dürftest du zuhause erstmal grundsätzlich gar kein Internet / WLAN betreiben, weil immer potentielle Angreifer bestehen. Wenn ein System ordentlich eingerichtet ist, auch dieses System, dann behaupte ich ist es sehr schwer einzubrechen, der Aufwand ist es sicherlich nicht wert, da ich das Ganze auch nicht in irgendeiner Form kommerziell betreibe. Das WLAN ist z.B. komplett unsichtbar und taucht gar nicht auf, damit fängt es. Klar, wenn jemand aktiv Wardriving in meiner Umgebung betreibt und dann auf das unauffällige WLAN stößt, was er aktiv gesnifft hat … daaaaaaaann muss er mein WLAN hacken … ich weiß das ist in der Theorie möglich ok. Um dann weitere Kontrolle zu erhalten muss er den PI hacken welcher auf Linux läuft und ein starkes Passwort hat … oder meinen Router … alle Seiten sind über HTTPS gesichert.

Ich sehe das nicht, dass mich hier jemand aktiv attackiert … und diesen Aufwand betreibt.
Ferner habe ich noch 2 weitere Maßnahmen ergriffen die ich nicht weiter erläutern möchte. Da ist jeder seines eigenes Glückes Schmied - No Tell, No Smell, No Sell …

Ich bediene den PI auch nur über SSH … habe halt oben drüber den I/O Broker laufen. Kennst du das Programm? Deine Höhenverstellung der LED etc. könntest du damit sehr gut steuern, man kann dort Java Skript mit Blockly erstellen, dass ist total genial, man „programmiert“ quasi mit Lego Bausteinen.:

Als Code:

Für NOOBS wie mich, ist das halt der viel einfachere Weg. Ich habe auch schon den Code studiert und möchte es verstehen, dass dauert aber. Durch den IO Broker sind die Möglichkeiten der einfachen Visualisierung echt prima. Ich habe 3 DHT22 laufen (jeweils am Blattdach der Pflanze, davon bilde ich den Mittelwert), nicht die billigen gekauft. Die Werte die ich messe sind absolut korrekt ich habe 2 andere Geräte (davon 1 x analog) zur Kontrolle benutzt und ich bin wirklich zufrieden.

Das einbinden von neuen Sensoren etc. ist total easy.

Z.b. kann ich hier sehr gut ableiten, es wird wieder Zeit zum gießen … und dann habe ich vorhin gegossen. Natürlich verlasse ich mich nicht nur auf die Werte sonder mache auch eine Gewichtsprobe und schaue mir die Töpfe an … aber es hilft.

3 „Gefällt mir“

Kennst du den I/O Broker, ich verstehe deinen Ansatz, falls nicht schau es dir mal an. Ich denke, wenn man nötige Voraussetzungen trifft, hast du keine Probleme was die Sicherheit berifft (VPN etc.)

1 „Gefällt mir“

Blockly ist ganz sicher nichts für mich.
Ich bin seit Jahrzehnten Pythonista und spreche Bash nativ.
Da ich zudem einiges an Erfahrung in Hochsicherheitsrechenzentren mitbringe (40-jährige professionelle IT), sehe ich den Sicherheitsaspekt naturgemäß anders. Ganz anders.

Ein Messagebroker ist kein Hexenwerk - das ist schon lange Standard in ganz vielen und auch in ganz anderen Gebieten der IT. Denke nur an all die RPC Systeme, die seit Jahren zur Verfügung stehen.

Mein Ansatz weicht extrem vom deinem ab. Für jeden Sensor schreibe ich ein Python- Module, das sowohl ein CLI Interface bietet, im Regelbetrieb als Daemon läuft, aber auch von der Website aus bedient werden kann. Ein Async- Broker liefert dann alles bei der Datenbanke ein
Der User könnte jederzeit alles via Website bedienen, die ihrerseits selbstständig einen Onion- Service konfigurieren kann und den gesamten Controller dann damit via Tor- Netzwerk zur Verfügung stellt.
Komplettüberblick über alles in der Growbox vom Strand aus via Smartphone, das via Tor- Netzwerk kommuniziert.
Selbst die SSH Verbindung kann über das Tor- Netwerk aufgebaut werden (und ist natürlich auch via Webinterface konfigurierbar).
Und VNC, was mit NoVNC sogar im Browser auf einem Smartphone laufen kann, ist schon implementiert.
Ein VPN via Tor steht noch auf der Todo- Liste, wird aber ebenfalls vorhanden sein. Samt eigener CA Infrastruktur. Ebenfalls komplett ohne irgendwelche Provider.
Es braucht für die Box Z’ugang zum Netz und einen Tor- Browser auf einem Smartphone. Sonst nichts. Aber alles andere kann auch.

Die Daten werden alle in einer Postgresql Datenbank gespeichert. Aber nur, weil ich Postgresql bevorzuge. Ist halt - meiner Meinung nach - das einzig echte ernstzunehmende Datenbanksystem. Da ich aber natürlich einen ORMapper (SQLAlchemy) dazwischen habe, kann der User alle gängigen Datenbanksysteme bei der Installation wählen.

Und natürlich ist das ganze Ding lokalisierbar. (knappe 300 Sprachen können ootb laufen - falls entsprechend übersetzte Po- Files vorliegen)

Ich ziele damit schon auf einen universellen Growboxcontroller auf professionellem Niveau, den man auch verkaufen könnte. (Wenngleich ich das mit Sicherheit nicht selbst machen würde).

Mein Ziel ist es, eine komplett autonome Growbox zu basteln.
Sie mag irgendwo stehen. Solange sie genügend Strom und Internetanschluss hat, soll sie reiche Ernte garantieren. Automatische Bewässerung samt Feuchtemessung und Wiegen der Töpfe (und entsprechend algorithmische Plausiblitätsprüfung der Werte) steht auf dem Programm.

Viele Dinge in unseren Ansätzen sind also gar nicht soo verschieden.

Das automatische Ernten halte selbst ich für unmöglich - aber wir arbeiten daran.
Und bis dahin garantiert die nackte Gier, dass der Aufwand nicht umsonst war.

Gerne frage ich bei Hardware bei dir nach. Bei Software und insbesondere bei Systemfragen solltest du eher mich fragen, was ich dir gerne anbiete.

4 „Gefällt mir“

Ja kenne ich. Finde ich aber Graphisch nicht so ansprechend und ich breuchte noch zusätzlich wieder einen Server in meinem Netz der wiederum Strom braucht. So wie ich das ganze jetzt habe leuft halt nur der eine ESP, welcher nciht mal ein halbes Watt Strom braucht.

Zudem habe ich einfach viel Spaß daran was von Grundauf selber zu Entwickeln. Zusätzlich bin ich dan komplett unabhänig und es ist genau auf meine Ansprüche zugeschnitten.

Weil von einer kompletten Automatisierung bin ich garkein so großer Fan ich will meine Pflanzen noch immer selber gießen und mir ihren Gesundheitszustand täglich selber ansehen. Ich nutze meine Platform eigentlich nur zur Steuerung alles elektrischen Komponeneten und zur überwachung des Klimas, das reicht mir.

1 „Gefällt mir“

Gerne, weil als nächstes steht noch iregendwann eine sichere Zeitraffer Kamera an. Dabei warte ich aber noch auf den neuen ESP32 S2 mit Hardware AES/RSA und nem sicheren internen Key Storage. Damit kann man sicher was nettes auf die Beine stellen.

wow endlich gibt es hier mal was für NERDs. Danke mal an alle Beteiligten. werd mich zuruecklehnen und in die Pi-Welten versinken, wie einst Atlantis in den Fluten des Gedaechtnisses…

1 „Gefällt mir“

Das lustige is ich hatte nur den originalen Pi und war nie ein Fan davon, da die Leistung für den Preis sehr zu wünschen übrig lässt, vorallem bei den horenden Preisen für den PI 4, für ein paar Euro mehr kann ich mir da gleich einen richtigen PC bauen.

Für manche Anwendungsfälle hat er aber auf jeden Fall seine Daseinsberechtigung. Obwohl für das meiste auch noch ein ESP32 ausreicht. Sobald man halt eine richtige Datenbank haben will komt man halt nicht drum rum.

PS: habe gerade gesehen, dass es ne SQLlite Bibliotek für den ESP32 gibt :laughing:
Müsste für die meisten Zwecke ausrechen. Ich bin immer wieder überascht wie leistungsfähig dieser 3€ Micro ist. Ist aber bei zwei Kernen und 240MHz ist das auch nicht verwunderlich.

2 „Gefällt mir“

Ich tendierte eher zum Banana Pi , da ich erst ein Jahr growe. mir ging es mehr um den Anschluss einer Hard-Disk.hatte auch ne Zeit lang den Router von Banana Pi. Denke aber, ich liebaeugel jetzt schon mal wieder damit, mir nen Pi zu zulegen; denke ein 3A oder 3B wuerde den Job auch erledigen, beide gibt es mitlerweile deutlich günstiger

1 „Gefällt mir“