Im Post HiGrow-Sensor sorgt für das Wohl der Pflanzen hatte ich auf den HiGrow-Sensor hingewiesen, der zur Überwachung der Umweltbedingungen in Pflanzennähe eingesetzt werden kann.
Im Programm HiGrowESP32MQTT.ino werden die Sensordaten des dort eingesetzten DHT11-Sensors zur Messung von Lufttemperatur und Luftfeuchte, sowie die kapazitiv gemessene Bodenfeuchte und die Helligkeit erfasst und entsprechenden Topics von MQTT-Messages zugeordnet. Zu Kontrollzwecken werden diese Daten auch seriell ausgegeben und können durch den internen Monitor der Arduino IDE verfolgt werden. Das Programm HiGrowESP32MQTT.ino steht auf Github zum Download zur Verfügung.
Mit einem MQTT Client können die abonnierten Mitteilungen visualisiert werden.
Bei meinen Test ist mir aufgefallen, dass recht häufig nach dem Programmstart der Brownout Detector getriggert wurde und einen entsprechenden Reset ausgelöst hat.
Verfolgt man die Diskussion (z.B. hier https://github.com/nkolban/esp32-snippets/issues/168) dann scheint ein hoher Strombedarf während der Initialisierungsphase ein (der?) Grund für das Verhalten zu sein.
Der HiGrow-Sensor weist einen Batteriehalter für eine 18650-LiPo-Batterie auf. Bei meinen Tests war die Batterie nicht bestückt. Möglicherweise puffert eine bestückte Batterie dann diesen kurzzeitigen Strombedarf hinreichend.
Hallo hab den Sketch auf dem HiGrow hochgeladen. Allerdings funktioniert es bei mir nich der HiGrow startet immer wieder neu. Anscheinend ein Bootloop.
LikeLike
Was ist die Bootmessage?
Ich hatte ähnliche Probleme bei zu schwacher Stromversorgung.
LikeLike
Hallo
“
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13256
entry 0x40078a90
DeviceId: 207537695927856
Connecting to
…………….ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13256
entry 0x40078a90
DeviceId: 207537695927856
Connecting to
…………….ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:956
load:0x40078000,len:0
load:0x40078000,len:13256
entry 0x40078a90
DeviceId: 207537695927856
Connecting to
……..
So geht es immer weiter.
Normalerweise leuchtet die Blaue LED nicht nach dem flashen. Bei mir schon.
LikeLike
Was bringt eine stärkere Versorgungsspannung. Ein solches Verhalten hatte ich ja beschrieben.
LikeLike
Hallo.
Ich habe schon ein 2A Netzteil dran.
Danke trotzdem.
LikeLike
Hallo ckuehnel,
,
erstmal besten Dank für MQTT. Das Senden von Daten in irgendeine Cloud, auch wenn sich sich primär nur um Erdfeuchte handelt, ist nicht akzeptabel für mich.
Der MQTT Server im Heimnetz ist viel besser geeignet und FHEM kann die Daten gut weiterverarbeiten
Die reboot Probleme, welche Orhan beschrieben hat, treten sporadisch auch bei mir auf.
Nach dem Hochladen des Programms besonders häufig, auch mit Akku in der Halterung.
Verschiedene Netzteile haben keine Veränderung des Verhaltens gebracht.
Nun möchte ich das Ding im Akku-Betrieb laufen lassen und wollte fragen, ob die Akku-Spannung irgendwo direkt auslesbar ist.
Beste Grüsse
LikeLike
Nach Anfrage beim Hersteller soll es eine V2 geben, die die Betriebsspannung erfasst. In der von mir verwendeten V1 geht das leider nicht.
LikeLike
Die Brownout-Probleme kann ich nachvollziehen, sie treten bei mir aber nur auf, wenn Batterie UND USB-Gerät angesteckt sind. Meine 3 higrow funktionieren einwandfrei, wenn sie entweder nur am USB-Port eines PC stecken (Batterie raus), oder nur die Batterie gesteckt ist. Sobald ich das Gerät im eingeschaltetem Zustand mit Batterie nutzen möchte, passieren bootloops. Nicht immer, aber oft und bei allen drei higrows, die ich habe.
Vielen Dank für die Informationen und den Code. Wir haben ihn erweitert (json statt Einzelwerte in MQTT, device Characteristika in nvram statt hart im Code, BLE Gehversuche) und für einen proof-of-concept beim blockchain4.business Hackathon eingesetzt. Beizeiten werde ich den aufhübschen und im Weatherblocks-Projektrepo publishen.
Was hat es eigentlich mit dem Lichtsensor auf sich? Ist der bei der v1 überhaupt verbaut? Ich bekomme da eher „Zufallswerte“ und finde auch keinen passenden Sensor auf der Platine.
LikeLike
Beim Lichtsensor habe ich die gleichen Erfahrungen machen müssen. Die angekündigte v2 sollte einiges n Verbesserungen bringen. U.a. auch eine Spannungsteiler, um die Batteriespannung messen zu können.
LikeLike
hallo zusammen,
das brownout problem hatte ich auch. man kann die brownout detection auh ausschalten.
#include „soc/soc.h“
#include „soc/rtc_cntl_reg.h“
im setup teil:
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG,0); //disable browout detctor
und schon ist ruhe und die ständigen reboots hören auf.
schöne grüße 🙂
frank
LikeGefällt 1 Person
super Hinweis, hab ihn direkt ausprobiert -> Batterie drin und am USB angeschlossen, keine Reboots mehr. Danke fürs Teilen 🙂
LikeLike
Hi,
ich habe derzeitig 6 der Sensoren laufen, bin aber mit der Laufzeit im Batterie betrieb nicht wirklich zufrieden. Derzeitig lasse ich alle 30 min die Daten per MQTT verschicken und dann gehts wieder in den Deep Sleep. Leider ist nach 1W+ meist der Akku alle. Habe den Code schon ein bisschen angepasst. leider brachte das nur minimale Erfolge.
Wie sind eure Erfahrungen hier?
Gruß Daniel
LikeLike
Hallo,
genau, was ist gesucht habe. Vielen Dank.
Welche Libraries hast du verwendet.
Kannst du bitte die Links hierfür angeben?
Vielen Dank
Joachim
LikeLike
Hier sind die Links:
https://github.com/espressif/arduino-esp32
https://github.com/knolleary/pubsubclient/releases/tag/v2.7
https://github.com/adafruit/DHT-sensor-library bin mir aber nicht mehr sicher, es gibt auch eine spoeziell für ESP32
Gruss Claus
LikeLike
Vielen Dank für die schnelle Antwort!
Prima, hat gut geklappt.
Musst er noch einmal Arduino IDE neu installieren und alten Einstellungen / Verzeichnisse löschen.
Habe dort wohl etwas zerschlagen.
Gruß
Joachim
LikeLike
Prima, dass alles geklappt hat.
LikeLike
Pingback: Messung von Umgebungsbedingungen für Pflanzen – ckArduino
Hallo,
ich wollte eben den Sketch von Github kompilieren, jedoch bricht dieser recht schnell ab mit der Meldung:
HiGrowEsp32:50:59: error: ‚esp_deep_sleep_enable_timer_wakeup‘ was not declared in this scope
esp_deep_sleep_enable_timer_wakeup(1800 * uS_TO_S_FACTOR);
^
Ich habe auch nichts gefunden wo ich die IP vergeben kann. Fehlen da noch entsprechende Konfigurations Dateien?
LikeLike
Hallo Gorcon, bitte den genauen Link angeben. Ich schaue mir das dann an.
Handelt es sich um das Programm HiGrowESP32Pushover.ino?
Die WLAN und Pushover Zugangsdaten sind in die Datei arduino_secrets.h ausgelagert. Die habe ich anonymisiert bereitgestellt.
Handelt es sich um das Programm HiGrowESP323MQTT.ino?
Die WLAN und Pushover Zugangsdaten sind in die Datei credentials.h ausgelagert und dort anonymisiert bereitgestellt.
Beide Programme habe ich mit der Arduino IDE 2.0 RC8 erfolgreich compiliert. Screenshot habe ich dem Repository beigefügt.
Bitte kurzes Feedback.
Claus Kühnel
LikeLike