Anregungen und Featurerequests für meine AutoGrowController Hard- und Software

Ich habe mir ein kleines Riesenprojekt vorgenommen.
Ich will als Fernziel eine vollautonome GrowBox basteln.

In der ersten Stufe soll als Zentalrechner ein Raspi dienen, der folgende Funktionen bietet:

  • Webserver im Tornetz von außen erreichbar und per Smartphone oder Desktop steuerbar.
  • Livevideostreaming durch Webcam (mit Infrarotsicht und „LED Licht Filter“ zur natürlichen Darstellung)
  • Messung des kompletten Stromverbrauchs.
  • ständige Messung von Temperatur und Luftfeuchtigkeit
  • Messung von Feuchtigkeit in den Töpfen mit automatischer Bewässerung
  • Erstellung von Zeitlupenvideos über jeden Grow
  • Verwaltung von Inventar, Produktionsmittel (Dünger, Erde etc.), Kostenübersicht
  • Bestellvorschläge
  • Growprotokoll
  • Steuerung und Dimmung des Lichts (so dass man Koordinaten eingeben kann und Sonnenauf- und Untergang nach diesen Koordinaten simuliert werden können
  • Beschallung mit klassischer Musik - die wirkt, bewiesen, optimal auf Pflanzen

Ausbaustufe 2

  • Messung von PH und EC jeden Topfes samt entsprechender Einspeisung von Dünger pro Topf
  • Höhenmessung aller Pflanzen samt Höhenregulierung der Leuchten
  • Robotikarm zum Remote- Trimmen der Pflanzen

Das Ding dauert natürlich und wirft die Frage auf, warum ich jetzt schon hier protze.
Ich würde von euch gerne Vorschläge und Ideen sammeln, was vernünftige und benötigte Features sind, die miteingebaut werden sollten.

Selbstverständlich werde ich alle Schaltpläne samt Bestückungslisten, die komplette Software, Dokumentation und Hilfe dazu frei veröffentlichen. 100% open source.
(Und logisch wird alles i18n/l10n sein)

Unter anderem wird dieses System auch fähig sein, direkt bei den einschlägigen Shops Bestellungen zu tätigen, Angebote anzuzeigen usw…
(Was nur sauber funktionieren kann, wenn die mitspielen wollen)

Eure Ideen? Vorschläge? Und möglichst viele Details und Erklärung dazu?

8 „Gefällt mir“

Ob du es glaubst oder nicht, genau da bin ich auch gerade dran. :sunglasses:
Nur bin ich noch eine Spur größenwahnsinniger. :rofl:
Im Grunde denke ich da an die gleichen Features wie du. Vielleicht sollten wir uns mal austauschen.

Wenn du Lust hast, gibt es auch noch mehr zu sehen. :wink:

Noch ein kleiner Schnappschuss :sunglasses:

ABER HALLOO!!!
Ja, klar!
Wie, wo, wann?

Ich bin strenger open sourceLer, reiner Bashist und Pythonista.
Meine Websites bastele ich mit dem ASG- Server Hypercorn,
kann abba - logisch - nginx-uwsgi-flask auch mit memcached (die anderen klar auch).

Raspi 4B wäre Frontend mit openVPN via Tor mit SSH '(als Emergency- killswitch).
Intern Zigbee mit openHAB für die Devices.
Zumindest nach meiner jetzigen Idee.

Ich habe auch schon mit einem LED Hersteller Kontakt aufgenommen und bin nach sehr positiver Resonanz zuversichtlich eine obercoole Dim- Funktion für ein LED Array leicht zu schaffen.

LASS UNS REDEN!

Kleine Info zu meinem Tech-Stack:

  • 2 Frontend Server (Ubuntu mit Apache)
  • 1 Datenbank Server (Ubuntu mit MSSQL)
  • 1 Deployment/Management Server (Ubuntu)
  • ASP.NET Core Blazor 3.1 mit C#
  • Storage ohne Ende
  • Cloudflare
  • Bootstrap
  • Kompletter Build und Release über Azure Pipeline

Ich will das auf lange Sicht auch in ein Open Source Projekt verwandeln. Aber das wäre auch kein selbst gehostetes Projekt sondern würde „in der Cloud“ laufen. So wie diese Seite.
Mir ist vor allem wichtig, das der Content frei ist. Also eine freigiebige CC Lizenzierung. Welche genau steht noch in den Sternen :wink:

Und bisher dachte ich bei der API mehr daran Meßdaten zu protokollieren, aber weniger zu steuern. Aber eins nach dem anderen.
Ich bin jetzt soweit das meine GrowMatrix(R) so einigermaßen funktioniert, man den Grow durch verschiedene Stadien laufen laseen kann und Bilder dazu tackern.
Später kommen noch Events/Aktionen und natürlich die Messdaten API

Tolle Idee,

ich habe mal in einem Ami Forum von einem ähnlichen Vorhaben gelesen, der Mensch schon relativ weit, finde gerade den Post nicht wieder.

Grundsätzlich sollte das alles sogar mit nur einem einzigen Raspberry möglich sein, sofern dir die Raspberry-Kamera ausreicht.

Deine Ausbaustufen 2 ist auch relativ einfach, bis auf der Robotik Arm zu realisieren.

@Edgar.Neubauer

Wofür hast du so viele Server für das Projekt?

Insgesamt finde ich es eine geile Sache! Ich schau es mir gerne an und versuche euch zu unterstützen :slight_smile:

1 „Gefällt mir“

Hmm, die DB ist bei mir egal.
Ich setze den ORM SQLAlchemy ein und kann damit mehr oder weniger im laufenden Betrieb zwischen sqlite, mysql, postgres und, und, und wechseln (samt Migration; die aber nicht live; fordert wenigstens sehr kurzes Zögern für die Clients)

Mit Clouds habe ich kein Problem - wenn es meine Cloud ist. Sonst bin ich da schon eher unerfahren und sehr, sehr kritisch. (Ich kann sehr wohl bei eine guten Provider eine Multicluster Cloud aufsetzen und administrieren)
Aber, ich denke, für Growzwecke ist aus Sicherheitsgründen nur ein Weg denkbar:
Do it on your own on your own hardware.
Do your own cloud.

Cloudflare find ich ziemlich gut. Und verwende deren 1.1.1.1 selbstverständlich.
Auch deren Tor- DNS find ich goil.

Probleme habe ich mit Azure. (Ich war mal vor langer Zeit bei denen)

Was aber egal sein soll.

Probleme wird unser verschiedener Hintergrund uns genügend bescheren:
Du C# vs. ich als Pythonista.

Die Distri ist mir völlig egal.
Ich verwende derzeit auf Servern Debian, auf Desktops openSUSE.
Habe mir aber auch schon mit LFS eine eigene Distri gebastelt.
(und logisch viele andere auch 3g (GesehenGelöschtGelacht)

Mein Projekt ist nicht als selbst gehostet designed, sondern als Webseite.
Die beiden Webserver sind je einer für die Englische und einer für die Deutsche Version. Die Datenbank steht „hinter“ den Webservern und ist von außen nicht erreichbar. Die Webserver sind von außen nur auf der Webseite erreichbar. Updates und Wartung läuft über die Hintertür. :wink: Das ist einfach eine für mich saubere Architektur und dient auch der Sicherheit.

Das was @DrGrow vorhat sieht eher nach einer selbst betrieben Lösung aus.
Und ich denke grade schon daran, das zu verschmelzen :smile:

Cloud ist vielleicht auch nicht ganz treffend, es ist eine Webanwendung. So wie dieses Forum.
Es hat auch seine Vorteile, wenn man das Beweismaterieal nicht daheim hat :wink:
Aber du hast schon recht, man muss auch die Sicherheit beachten.
Zum Beispiel habe ich mir für die API was überlegt, damit vom Messdatenraspi keine Rückschlüsse auf den Account möglich sind. Anhand der API Logindaten kann nieman checken welcher Grow es denn war.

Azure ist nur das Code Repo und die Build und Release Pipeline. Im Betrieb spielt das keine Rolle.

Es gibt in Israel eine Firma, die das alles mehr oder minder längst verkauft.
Aber eben nicht open source.

Was der Ami macht, würde mich sehr interessieren: Such den Post, such den Link!

Dass die Raspi- Kamera ausreicht, glaube ich eher nicht. (Aber ich probiere das natürlich damit als erstes aus). Da gibt es zuviele Ecken und Kanten, denke ich . On verra.

Und der Robotik- Arm ist ein Problem.
Extrem kostentreibend und überhaupt nicht leicht.
Es gibt ein open source Projekt für die autonome Gärtnerei. Ein Typ in den USA.
Aber auch der hat seine Tools selbst mit 3-Druck gebastelt.
Du brauchst in der Endausbaustufe schon enorm komplizierte Tools.
Beim Pruninig und Trimming MUSS die Kamera exakt jedes Objekt präzise lokalisieren und die Wege dorthin ohne Schaden für die Pflanzen erkennen können.
High-end CV, wie ein Pythonista schreiben würde.
Um nur ein Problem zu nennen.

Aber deine Hilfe nehme ich sehr, sehr gerne an.

Was dir Frage aufwirft, wie man in einem anonymen Forum überhaupt vernünftig zusammenarbeiten kann.
Nichts ist leicht.
Aber leicht ist schwer alles.

1 „Gefällt mir“

Naja, wir werfen erst mal unsere Ideen hier in einen Topf. Step 1 ist hiermit sozusagen angelaufen.

Naja, es ist ja ein vielschichtiges Projekt.
Dem Server ist egal auf welchem Tech Stack das Raspi läuft, das die Messdaten liefert. :wink: Und da rede ich noch nicht von irgendwelchen Steuerungen.

Mein initialer Gedanke war auch nicht alles zu automatisieren, sondern mehr zu tracken und daraus eine wissenschaftliche Datenbank zu kreieren.
Anhand der getrackten Grows kann man dann z.B. genau feststellen wie lange eine Sorte üblicherweise in der Blüte ist. Um ein einfaches Beispiel zu nehmen.
Und dieses Wissen soll dann frei zur Verfügung gestellt werden.
Man überlege sich nur mal was man aus millionen getrackter Grows herauslesen kann :crazy_face:

1 „Gefällt mir“

Ok, das hatte ich so nicht vernommen. Ich finde beide Projekte sehr interessant.

Das wäre ja über verschiedene Ansätze möglich!

Wegen der Bild -/ Videoqualität? Hast mit der Raspi-Kamera natürlich den direkten Vorteil, dass du alles so bauen kannst- Soft- und Hardware- wie du es brauchst/willst.

Du brauchst eine heftige Logik dafür… Das würde auch im Grunde nur funktionieren wenn du mit Steckis arbeitest, ansonsten hast du bei Mutanten etc noch wieder ein zusätzliches Problem ^^ Schwierige Geschichte…

https://www.google.de/amp/s/amp.reddit.com/r/raspberry_pi/comments/4g8gsn/raspberry_pi_indoor_automated_growing_system_for/

https://fruxe.co/

Gerade das Fruxe Projekt sollte man sich mal genauer anschauen :wink:

1 „Gefällt mir“

Ich hätte auch noch ein Feature auf dem Radar.
Mangel und Schäldlingserkennung per Foto.
Das ist doch für ein Phytonista nur ein Dreizeiler :clown_face:

Inzwischen glaube ich aber, das Ihr hier die Größenwahnsinnigen seid. :laughing:
Ich habe Messen/Steuern/Regeln mal beruflich gelernt und kann euch sagen, das wird ein Mammutprojekt :smile:

3 „Gefällt mir“

Da frage ich mich gerade wie du das realisieren würdest, also mit welchem Equipment?

Dafür bräuchte es doch mehrere Kameras die bei Wachstum der Plants mitwachsen, da sich ständig die Position ändert :man_shrugging:t2:

Du machst ein Foto und lädst es hoch. :wink:
Nicht im laufenden Betrieb, sondern als Tool für jemand der keine Ahnug hat.

@Shallow: Oh ja, nicht nur ein schwieriges Problem, sondern ein unlösbares.
Würde es mich sonst interessieren?

@Edgar.Neubauer und @Shallow: Meine Websites können von Haus aus knapp 300 Sprachen, falls ein Sprachkundiger sie übersetzt hat. Sie laufen einfach, und sobald eine neue Übersetzung geliefert wird, sehen alle Menschen aus diesem Sprachkreis die Website in ihrer Sprache. Ohne Neustart, Theater oder Brimborium.
Sie sind zudem von Haus aus clusterfähig. Du kannst sie bei egal welchem Provider weltweit zusammenschalten.
Ich bin ein gut 60-jähriger alter Sack, der sein ganzes Leben lang eigentlich nur EDV gemacht hat. Auf hohem Niveau.

Ich will auch all die Erfahrung, die sich in diesem einen kleinen Raspi (mit einer großen USB- Platte ansammelt) allen Menschen ebensofrei zur Vergügung stellen.
Aber, @Edgar.Neubauer, ich glaube nicht, dass es dazu nötig ist einen zweiten Server mitzubetreiben.
Das hielte ich eher für kontraproduktiv: Schlußendlich wäre im Ernstfall genau dieser Server der Verrat an den Usern.
Unter ganz gar keinen Umständen werde ich - entgegen meines Wissens - einen User ausliefern. Never, nowhere, nada, nothing.
Mögen die User frei und selbst entscheiden, ob sie ihrer AutoHomeGrowBox erlauben all ihre Erfahrung hier oder anderswo zu veröffentlichen.
Und wenn sie es mit meiner Software veröffentlichen, werden sie das nur vollständig anonymisiert via TOR können, und jedes einzelne Bild, jedes Bild in jedem Video wird nur gefakte Metadaten enthalten: Jedes einzelne Bild -egal ob nur Bild, oder Video - wird über einige Filter und somit versierte Transformationen laufen, dass jedes Rückrechnen auf ursprüngliche CCDs völlig sinnlos ist.
No information, unless you yourself explicitly demand me to do so, ist der Grundsatz aller meiner Geräte.
Punkt.
Und von diesen Prinzipien weiche ich nicht ein Jota ab.
Doppelpunkt.

@Shallow Ja, Es ist heftige Logik, die ein solcher Robotarm voraussetzt.
Nicht nur, dass er 3D Modelle seiner Umgebung direkt „sehen“ muss, er muss auch autonom lernfähig sein. Er muss seine Werkzeuge selbstständig holen und ohne Schaden für die Pflanzen einsetzen können. Und das auch noch von einem Android, das am Strand in Tailand rumlungerd, remote-controlled. Via TOR.
Nicht umsonst habe ich das in ein easy Nahziel und Phase zwei „utopisch“ geteilt.

1 „Gefällt mir“

Check. Raff ich :smile:

Der Robotarm muss per definitonem ALLE Positionen erreichen können.
Und da er auch sehr, sehr präzise lokale räumliche Orientierung braucht,
hat er notwendigerweise auch eine Webcam an der Spitze mit integriert.
Das dürfte die billigste Implementation sein.

Mit openCV wird dann der Rest erledigt.
Also wären Photos zur Krankheitserkennung der Pflanzen gerade mal ein „Abfallprodukt“.
(Das steht aber eh schon auf der List)

Das funktioniert nach meinem Verständnis aber nur mit einer einzigen Pflanze. :thinking: