Dies ist eine alte Version des Dokuments!
LilyGo Pflanzen Monitor
Hat einen USB-C Anschluss -und ich kein USB-C Kabel. Aber Moment, mein Rasierer aus China hat doch einen. Ausprobiert und ging natürlich nicht. Es ist wohl wie bei den normalen USB-Kabeln. Es gibt welche, die nur Laden können, andere auch Daten übertragen. Also einen vom Herbert geliehen und siehe da, es geht.
Erster Versuch mit Mongoose-OS. An meinem Netbook extremst langsam (liegt aber am Netbook). Am Mac erst zu spät probiert, da ich dachte es geht gar nicht. War aber das oben beschriebene Kabel-Problem. Die Oberfläche und Programmierung sieht übersichtlich aus. Aber es wird immer alles in die Cloud hochgeladen und dann kompiliert zurückgeschickt. Ist halt blöd, wenn man seine WLAN-Kennwörter mit einbauen muss.
Zweiter Versuch dann wieder mit der gewohnten Arduino Umgebung. Da musste bei dem Beispiel erst mal dutzende Import zip Dateien eingeladen werden. Menü: Sketch→Bibliothek einbinden→.ZIP Bibliothek hinzufügen…
Bei dem Beispiel sind tolle Sachen dabei. AccessPoint, Abfrage der Reset Buttons, DeepSleep per Button, Statische Verbindung zum Heimnetzwerk, Smart Web-Access. Was das ist, musste ich erst nachschauen. Mit der richtigen App kann man wohl das Ding automatisch konfigurieren. Da ich das aber momentan nicht will, habe ich nicht weiter geschaut.
Ich wollte Batteriebetrieb, lange Laufzeit, Stündliche oder sogar nur tägliche Daten.
Aktueller Stand: Kleiner LiPo Akku, DeepSleep für 60 Minuten, dann Aufwachen, mit Heimnetz verbinden, Sensoren lesen und per MQTT an meinen Server schicken. Dort werden die Daten vom Raspberry abgeholt und in die Datenbank geschrieben. Kleines Problem dort war, dass ich die Daten nacheinander schicke, aber nur einen Datensatz schreiben wollte. Man brauchte dazu in Python globale variablen, in denen ich die anderen Werte erst zwischen speichere. Da muss man in der Funktion 'globals variable' schreiben, sonst geht es nicht. Und wieder eine Stunde für so was kleines verbraucht :)
Schade nur, dass jetzt die ganzen BlueTooth Geschichten, die das Teil hat, nicht genutzt werden.
Ach, eins noch. Der Licht-Sensor hat zwar im Originalprogramm, aber nicht in meinem abgespeckten funktioniert. Erst als ich einen me-Aufruf wieder eingebaut habe, und dann den Licht-Sensor 2 Mal aufgerufen habe, und noch ein paar Verzögerungen eingebaut habe, geht es.Erst beim zweiten Aufruf des Lichtsensors kommt was raus. Aber „don't change a running system“.
BH1750 lightMeter(0x23); //0x23 Adafruit_BME280 bme; //0x77 bool status = bme.begin(); // ohne das geht der lichtsensor nicht. da kommt 0xFF zurück. beim richtigen allerdings 0x60 if (lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE)) { Serial.println(F("BH1750 Advanced begin")); } else { Serial.println(F("Error initialising BH1750")); } delay(500); float lux = lightMeter.readLightLevel(); delay(500); lux = lightMeter.readLightLevel();
Auf dem älteren Raspberry Pi war der mysql-python connector noch nicht installiert.
sudo pip install mysql-connector-python
Noch was zu den Sensoren auf dem lilyGo:
- DHT12: die bessere Variante misst Temperatur/Luftfeuchtigkeit Externer Link
- BHI750/BH1750FVI: ist für das Licht zuständig Externer Link
- EC Messung: Salzkonzentration (Dünger/nutrients); zuverlässiger nur bei guter Bewässerung Externer Link
- Moisture, am Pin 32
Mir ist immer noch nicht der Unterschied zwischen soll/salt klar. Im Netz steht 'In the case of testing moisture, you can test the soil's salt and photosynthetic absorption, reasonable fertilization and proper sun exposure.'. Das Bild dort zeigt nur den Wert für soll an, der dort 3000 ist. Ich habe es durch 10 geteilt, weil das auch der andere anzeigt. Aktuell steht bei mir 320 (25.03.2020).