Plantbot V1 – Teil1

Ein kurzer semi-Teaser zum Plantbot V1, bevor ich alles vergesse.

(ja, Foto ist gruselig, ich mach mal bessere)

Das Ding hat ein “Grow-Light”, Wasserpumpe, WLAN und MQTT-Anbindung.

Ich werde den Artikel sicherlich noch ausbauen. Leider fehlen mir Bilder vom Build-Process, aber da ich eh noch an der Firmware und Hardware verbessern muss und das Ding deshalb öfters auf der Werkbank steht, kommt da sicherlich noch was

Idee kommt von hier.

Mir gefiehl in erster Linie die Ästhetik und der simple Aufbau. Ich hatte vorher mit dem Gedanken eines modularen, vertikalen Systems gespielt, es wollte sich jedoch nie so recht ein klares Bild ergeben.

Hier ist die Sache einfach. Paar Bretter sägen, Box draus bauen, Löcher rein und paar mal mit der Oberfräse drüber.

Was nicht vom Original übernommen wurde:

  • Alexa fliegt natürlich raus.
  • die Relaisplatine fliegt raus – ich will ja die Pumpe und die RGBs dimmen können
  • das Gefriggel mit dem ESP8266 per AT-Kommandos lassen wir mal
  • die globige Lampe wird durch ein paar zusammengestückelte LED-Strips ersetzt
  • und wozu da überdies noch 2 komplette Arduinos verbaut sind, erschließt sich mir auch nicht ganz

Was übernommen wurde:

  • Design, aufgehübscht mit ein paar eingelassenen, eloxierten Alu-Streifen/Profilen
  • vorerst die Peristaltik-Dosierpumpe – mal schaun, wie die sich macht

Nach ein wenig hin und her hat sich dann ergeben:

3 Push-Buttons (die Alu-Vandalismus-Variante wg. der Ästhetik), natürlich mit pulsierendem LED-Ring. Dazu brauchts schon mal 3 PWM-Kanäle und 3 I/Os. 3 PWM für die RGB-Strips. 1-3 PWM für 1-3 Pumpen (hab momentan noch keine kleinen Magnetventile). 3 ADC für Soil-Moisture-Sensoren und 3 I/O um diese lediglich bei Bedarf zu schalten (Oxidation, Korrosion, Elektrolyse).
I2C brauchen wir auch um dort noch ein BH1750 und ein BME280 anzustöpseln. Zur not tuts ein DHT11 am GPIO.

Pumpe und RGB werden mit N-Channel Mosfets angetrieben. STP16NF06L lagen quasi grad rum, andere tuns natürlich auch. Hier hat sich gezeigt, dass ein 10k Pulldown durchaus seine Berechtigung hat. Was auf dem Breadboard funktionierte, machte auf der geätzten Platine nur Probleme. Keine Ahnung warum, aber auf dem PCB waren die Fets immer durchgeschaltet. Ob da nun was anlag oder nicht. Dazu später mehr.

Summa summarum: ESP8266 hat schonmal einen PWM zu wenig und nur einen ADC. Das ganze mit Expandern nachzurüsten wär eine Option, einen Arduino-Nano per i2C oder UART anflanschen eine andere. Brauchste wieder ein Übertragungsprotokoll und musst auf 2 Controllern gleichzeitig entwickeln…
Ich hab dann einfach einen ESP32 genommen. Der hat die PWMs , ADCs und ausreichend GPIOs. Ist mir zwar ein wenig zu fett, aber reduzieren kann man später immer noch. (Ich komm mir dann immer wie so ein hipper Webdeveloper vor, der für ne statische Webseite erst mal 120 npm packages nachlädt…)
Die PWMs bringen dort ein weiteres Problem mit sich, das kriegt man aber hin…

Das UI….
Ich hatte über ein OLED nachgedacht. Stylisch in nem kleinen abgesetztem Cube aus Buche. Rotary-Encoder aus nem Festplattenmotor – schön glänzender Edelstahl. Lecker. Da muss man sich dann allerdings erst wieder eine komplizierte Menustruktur und Nutzerführung ausdenken. Und ich wollt ja nicht meinen Lebensabend mit diesem Problem verbringen 🙂

Es sind also die 3 Buttons geworden. Blau gedrückt = Pumpe läuft. Weiß klicken = Licht an/aus. Grün drücken = WLAN an/aus.
Damit wär dem WAF genüge getan (“Waaas? Wozu braucht der Blumentopp WLAN?!” “Wozu brauch ich ein Webinterface um den vertrockneten Basilikum zu gießen?” 😀 )

Da hier im Haushalt eh mindestens 1 Raspberry mit Influx/Grafana/Mosquitto läuft, wird das Ding einfach zum Zwecke der Automatisierung und Datenanalyse überdies per MQTT angebunden. Steuerung und UI übernimmt dann Node-Red. Ich bin zwar absolut keiin Freund von Node-Red, aber das ist in 5 Minuten zusammengeklickt und funktioniert erst mal. Und ich hatte eine gewissen Deadline zu halten (Geburtstag).
Das Ding muss dann zwar permanent online sein wg. der Steuerbefehle – also nix mit Deep-Sleep – aber ich brauchte schnelle Erfolge. Direkt ein Webinterface in den ESP einbauen kann man später immer noch.

Das wars erst mal mit Teil 1.
In Teil 2 geh ich dann genauer auf den Build-Process ein und ein paar Firmware-Geschichten über die man unweigerlich stolpert.
Bei der Kiste gabs ein paar Entscheidungen die Dinge unglaublich vereinfachen, bei der Platine für die MosFets gabs auch ein paar Fehler, die man nicht wiederholen muss. Und die Firmware ist eh ein Kapitel für sich.

Bis dahin!