Go Down

Topic: Wemos D1 über digitales Signal aufwecken...? (Read 426 times) previous topic - next topic

MucFB

Hallo Zusammen!

Hat einer von euch schon einmal Erfahrungen damit gesammelt, einen Wemos D1 Mini per digitalem Signal aus seinem deepsleep Dornröschenschlaf zu wecken...?

Hintergrund:
Der Klassiker für Anfänger: Die Wetterstation. Ich habe dabei einen Mess-Wemos draußen und einen Anzeige-Wemos drinnen, die über Funk kommunizieren (NRF24L01).
Um Batterie zu sparen wird der Mess-Wemos in einen unbegrenzten Deepsleep versetzt (mit Zeit=0) und soll über den Interrupt Pin des NRF24 aufgeweckt werden.

Ich habe es schon mit verschiedensten Mitteln geschafft, schöne 5V und 0V am RST Pin zu erzeugen, aber mein Wemos reagiert darauf nicht sehr entgegenkommend... Bei 5V an RST bootet er nicht und bei 0V startet er nicht neu.

Hat da jemand von euch irgendwelche Erfahrungen, unabhängig von NRF24 usw...? Bin für jeden Hinweis dankbar, weil ich über der Schaltung langsam verzweifle...  :smiley-confuse:

Vielen Dank im Voraus!

PS: Bei Fragen nach Details/Schaltung/Komponenten usw. bitte einfach kurz schreiben, Danke!

ardubu

der ESP benötigt eine steigende Flanke am Reset Pin.

amithlon

Hallo,

für 5V an Reset wird der ESP8266 auch nicht soviel Verständnis haben, das ist ein reines 3,3V IC...
Zum Rest: keine Ahnung, meine "Wetterstation" mit BME280 und BH1750 hate einen "nackten" ESP8266-12 dran, schickt ihre Daten alle 5 Minuten per MQTT ins WLAN und schläft ansonsten. Betriben mit einer LiFePO4 Zelle.
Wenn schon nRF24 warum dann ein D1 mini und nicht z.B. ein AVR pro mini?
Man könnte auch drinnen mit auf dem D1 mini einen AP aufmachen und einen Webserver laufen lassen, dann kann der draußen alle x Minuten mit GET dort eine Seite aufrufen und die Parameter mitschicken.

Gruß aus Berlin
Michael

MucFB

#3
Dec 10, 2019, 09:03 pm Last Edit: Dec 10, 2019, 09:06 pm by MucFB
Erstmal Danke an die Antworten!

der ESP benötigt eine steigende Flanke am Reset Pin.
Hast du da eine Quelle für mich? Hab nur gelesen, dass man den RST auf ground ziehen muss (hier z.B.:https://github.com/homieiot/homie-esp8266/issues/258). Mache das bei der Station für drinnen über nen Taster direkt auf ground, da funktioniert das auch. In der offiziellen Doku hab ich leider nix dazu gefunden...

Hallo,

für 5V an Reset wird der ESP8266 auch nicht soviel Verständnis haben, das ist ein reines 3,3V IC...
Zum Rest: keine Ahnung, meine "Wetterstation" mit BME280 und BH1750 hate einen "nackten" ESP8266-12 dran, schickt ihre Daten alle 5 Minuten per MQTT ins WLAN und schläft ansonsten. Betriben mit einer LiFePO4 Zelle.
Wenn schon nRF24 warum dann ein D1 mini und nicht z.B. ein AVR pro mini?
Man könnte auch drinnen mit auf dem D1 mini einen AP aufmachen und einen Webserver laufen lassen, dann kann der draußen alle x Minuten mit GET dort eine Seite aufrufen und die Parameter mitschicken.

Gruß aus Berlin
Michael

Du meinst, die 5V könnten schuld sein, dass er nicht bootet? Das teste ich mit 3,3V nochmal, auf jeden Fall einen Versuch wert...Wenn 3,3V anliegen müsste er aber auf jeden Fall booten, oder?

Ich hatte das schon mal mit MQTT auf der Adafruit Seite. Allerdings wollte ich das Ganze so gestalten, dass es nur läuft, wenn ich die Info brauche, also am liebsten dass alles aufwacht, wenn ich nen Taster drinnen drücke und ich dann den aktuellen Wert angezeigt bekomme, "on-demand" sozusagen.

Den AVR pro mini schau ich mir mal an!

Grüße aus München, vom anderen Ende Deutschlands sozusagen ;)

ardubu

Quote
Mache das bei der Station für drinnen über nen Taster direkt auf ground, da funktioniert das auch.
Aber erst wenn du den Taster losläßt.

amithlon

Hallo,

Hast du da eine Quelle für mich? Hab nur gelesen, dass man den RST auf ground ziehen muss (hier z.B.:https://github.com/homieiot/homie-esp8266/issues/258). Mache das bei der Station für drinnen über nen Taster direkt auf ground, da funktioniert das auch. In der offiziellen Doku hab ich leider nix dazu gefunden...
genauer: Du brauchst einen L-Impuls an Reset einige 10 ms lang. Reset auf L halten kannst Du nicht, die Stromaufnahme ist dann höher als im DeepSleep (von anderen gemessen, habe ich nicht nachgeprüft).
Ich habe mir den nRF24L01 nicht im Detail angesehen, aber zumindest der muß doch auf Empfang sein bei Deinem Projekt? Der RX zieht ja da schon über 10mA, die habe ich ja als Durchschittsverbrauch bei meinem WLAN-Kram alle 5 Minuten bei weitem nicht. Außerdem will ich auf die Anzeige schauen und nicht erst hinlaufen und Taste drücken.
Was misst denn Deine Wetterstation alles und mit welchen Sensoren?

Gruß aus Berlin
Michael
 

volvodani

#6
Dec 11, 2019, 08:44 am Last Edit: Dec 11, 2019, 08:44 am by volvodani
Du kannst das auch über einen festen Timer intern machen also mit ESP.deepsleep(µs) dann musst du nur eine Brücke von D0 nach RST machen dann kümmert er sich selber drum.
>Hier< habe ich das so gemacht und die Wetterstation liefert die Daten an einen WEMOS D1 mit Nextion und Openweathermap als Empfänger die Kommunikation ist via UDP Server auf dem Empfänger. Der Sender schickt die Daten an opensensmap.org >HIER hin<.
Start war im September und bis jetzt läuft es zuverlässig bis auf ein paar Problemen am anfang mit dem BME280 (wahr wohl B-Ware).
Gruß
DerDani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

MucFB

Aber erst wenn du den Taster losläßt.
Habs nochmal getestet, ist wirklich so! Ich hatte meine Info von hier, ganz unten, Möglichkeit 2:
Deepsleep
Da war die Rede von "Falling Edge", aber er startet nur neu wenn er von GND wieder auf high wechselt!
Vielen Dank schon mal für die Info!

Ich habe mir den nRF24L01 nicht im Detail angesehen, aber zumindest der muß doch auf Empfang sein bei Deinem Projekt?
...
Was misst denn Deine Wetterstation alles und mit welchen Sensoren?
Solange der NRF24 Strom hat bleibt er auf Empfang. In meinem Sketch kann ich beim NRF24 einstellen, auf welche Ereignisse er mit einem Interrupt reagiert. Zur Stromaufnahme kann ich noch nichts genaues sagen, ich teste das wenn der Rest funktioniert ;)
Ich nehm den BME280 für Temperatur/Luftdruck/Luftfeuchte

Du kannst das auch über einen festen Timer intern machen also mit ESP.deepsleep(µs) dann musst du nur eine Brücke von D0 nach RST machen dann kümmert er sich selber drum.
>Hier< habe ich das so gemacht und die Wetterstation liefert die Daten an einen WEMOS D1 mit Nextion und Openweathermap als Empfänger die Kommunikation ist via UDP Server auf dem Empfänger. Der Sender schickt die Daten an opensensmap.org >HIER hin<.
Start war im September und bis jetzt läuft es zuverlässig bis auf ein paar Problemen am anfang mit dem BME280 (wahr wohl B-Ware).
Gruß
DerDani
Mit festen Aufwachzeiten hatte ich es auch schon, aber ich möchte in dem Fall keinen kontinuierlichen Mitschnitt von Daten sondern wirklich nur on-demand aktuelle Wetterdaten. Da es sein kann, dass ich auch mal zwei Tage nicht raus gehe weil ich über nem Projekt brüte müsste er dann auch nix messen :)

Mein Problem ist also:
Ich habe ein Signal vom NRF24 Modul, das von 3,3V auf 0V fällt und muss daraus ein Signal machen, dass auf 0V fällt und dann wieder steigt. Hat da jemand eine gute Idee für mich?

(Habs schon mal mit dem IC 74HCT123 versucht, der sollte eigentlich auch einen Impuls ausgeben, aber das hat irgendwie nicht so recht funktioniert...)

Danke schon mal an alle für ihre Tipps!

amithlon

Hallo,

naja, wenn Du unbedinkt Strom verbrauchen willst...
Es müßte mit einen 74HC123 gehen, der HCT ist nicht mehr für 3,3V spezifiziert.
Ich würde allerdings einen CD4538 nehmen, habe aber jetzt ncih verglichen, ob der sparsamer im Stromverbrauch ist. Der nRF24L01 kann leider nicht genug Strom gegen Low, sonst würde ein 100n zwischen INT und Reset und ein PullUp 10k auf jeder Seite reichen.
Man könnte natürlich mal testen, ob z.B. 100k PullUps und ein 10n Kondensator noch einen ausrechenden Reset-Impuls zustande bringen. Evtl. geht auch noch hochohmiger + kleinerer Kapazität.

Gruß aus Berlin
Michael

MucFB

Danke für deine Antwort, Michael!

naja, wenn Du unbedinkt Strom verbrauchen willst...
Bezieht sich deine Aussage auf die Arbeit mit dem NRF24 oder auf die Benutzung von ICs?

Man könnte natürlich mal testen, ob z.B. 100k PullUps und ein 10n Kondensator noch einen ausrechenden Reset-Impuls zustande bringen. Evtl. geht auch noch hochohmiger + kleinerer Kapazität.
Das werd  ich zeitnah mal testen und Rückmeldung geben! Der Wemos D1 hat übrigens schon fest verbaut einen 10k Pullup am RST Pin (Wemos-D1 Schema)

Merci nochmal und Grüße aus München!

amithlon

Hallo,

Bezieht sich deine Aussage auf die Arbeit mit dem NRF24 oder auf die Benutzung von ICs?
auf beides, hatte ich in Post #5 schon angesprochen.
Widerstand beim D1 mini stimmt, teste es einfach. Der PullUp auf nRF-Seite muß nur dafür sorgen, daß sich der Kondensator in annehmbarer Zeit wieder entladen kann wenn INT auf H geht. Ich habe jetzt nicht ins Datenblatt geschaut, ob INT ein PushPull Ausgang ist, wenn ja sollte es da auch ohne PullUp gehen. Kannst ja einfach mal mit 10n anfangen, ob ein INT Low den ESP zum sicheren Starten bringt.
 Ist zugegeben eine Simple-Lösung, habe ich aber schon mehrfach so eingestzt, allerdings mit einem CMOS-Gatter als Quelle.

Gruß aus Berlin
Michael

volvodani

Die Frage die ich mir stelle wenn ich dann "soviel" Elektronik in Bereitschaft lasse wie das mit dem Stromverbraucht ist im vergleich zu eriner zyklischen Übertragung.
Was verbraucht der NRF den so wenn er auf Empfang steht?

Gruß
DerDani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

Go Up