Forum

Einloggen | Registrieren | RSS  

WolfgangW(R)

15.08.2021,
17:58
 

Grundlegende Frage zu IOT mit ESP8266-01 (Elektronik)

Hallo an alle

Ich sitze hier und plage mich seit längerem mit einem wohl eher grundlegendem Problem herum. Ich habe in etlichen vielen Sites über den ESP8266-01 gelesen, habe mir zum Testen auch ein paar erworben.
Eigentlich hatte ich das so verstanden, dass ich z.B. Arduino nehme, ein paar Sensoren zum Messen anschließe, oder Relais, oder was mir sonst noch einfällt. Zusätzlich noch einen ESP8266-01, der Signale vom Arduino erhält und diese dann in MQTT-Pakete umgewandelt weiterleitet.

Wenn ich dann aber in den Blogs nachlese, sieht es eher danach aus, dass der ESP8266 dort den Arduino ersetzt.
Ich hatte mich vor Wochen deshalb für den ESP8266-01s entschieden, da ich nicht so viel Leistung benötige, wie es für die anderen größeren Brüder notwendig ist. Mir ist wohl bewusst, dass ich auch diese in einen Stromsparmodus versetzen kann, aber ich hatte mir das eben wie gesagt anders vorgestellt.

Die Frage also lautet schlicht:
Habe ich die Sache hier einfach nur grundlegend falsch verstanden, oder funktionier das als Kombination, indem z.B. ein Arduino die Arbeit übernimmt und der ESP dann die nur zum Senden eingeschaltet wird.

danke schon mal an alle die mir hier weiterhelfen
Wolfgang

Zerhacker

15.08.2021,
18:21

@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

Hi

» Die Frage also lautet schlicht:
» Habe ich die Sache hier einfach nur grundlegend falsch verstanden, oder
» funktionier das als Kombination, indem z.B. ein Arduino die Arbeit
» übernimmt und der ESP dann die nur zum Senden eingeschaltet wird.
»
» danke schon mal an alle die mir hier weiterhelfen
» Wolfgang

Grundsätzlich kannst du das einfach kombinieren, wenn du entsprechendes Wissen hast (Programmierung, Anschließen...)

Aber du kannst das ESP auch einzeln benutzen und programmieren, was auch üblicher ist, denn wenn du es z.b. nur als Sensor benutzen wölltest, ist ja der extra μC überflüssig, und du bräuchtest nur den entsprechenden Sensor.

Mfg, schönen Tag noch.

WolfgangW(R)

15.08.2021,
18:42

@ Zerhacker

Grundlegende Frage zu IOT mit ESP8266-01

» Hi
»
» » Die Frage also lautet schlicht:
» » Habe ich die Sache hier einfach nur grundlegend falsch verstanden, oder
» » funktionier das als Kombination, indem z.B. ein Arduino die Arbeit
» » übernimmt und der ESP dann die nur zum Senden eingeschaltet wird.


» Grundsätzlich kannst du das einfach kombinieren, wenn du entsprechendes
» Wissen hast (Programmierung, Anschließen...)

ok, am programmieren wird es nicht wirklich scheitern - denke ich.
Anschließen vermute ich mal auch nicht. Es ging hier eigentlich nur darum, ob ich den "kleinen" ESP mit einer entsprechenden Schaltung kombinieren kann, die z.B. einen ATMEGA 328P enthält. Aber das hast du ja hier mit deiner Auskunft

» Aber du kannst das ESP auch einzeln benutzen und programmieren, was auch
» üblicher ist, denn wenn du es z.b. nur als Sensor benutzen wölltest, ist ja
» der extra μC überflüssig, und du bräuchtest nur den entsprechenden
» Sensor.
beantwortet. Das sollte mir eigentlich auch ausreichen.

vielen Dank
Wolfgang

Gast

15.08.2021,
19:56

@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

Der ESP ist der Tod vom Arduino.
(Das bessere ist der Feind des guten)

xy(R)

E-Mail

15.08.2021,
20:22

@ Gast

Grundlegende Frage zu IOT mit ESP8266-01

» Der ESP ist der Tod vom Arduino.
» (Das bessere ist der Feind des guten)

Nur dumm, dass Arduino auch auf ESP läuft.

Gast

15.08.2021,
20:46

@ xy

Grundlegende Frage zu IOT mit ESP8266-01

» » Der ESP ist der Tod vom Arduino.
» » (Das bessere ist der Feind des guten)
»
» Nur dumm, dass Arduino auch auf ESP läuft.
Aus Sicht der Hardware, nicht aus Sicht der IDE.

xy(R)

E-Mail

15.08.2021,
20:50

@ Gast

Grundlegende Frage zu IOT mit ESP8266-01

» » » Der ESP ist der Tod vom Arduino.
» » » (Das bessere ist der Feind des guten)
» »
» » Nur dumm, dass Arduino auch auf ESP läuft.

» Aus Sicht der Hardware, nicht aus Sicht der IDE.

Unsinn.

bastelix(R)

17.08.2021,
22:37

@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

Die ESP-01 waren mit die ersten und günstigsten Platinchen mit dem ESP8266 Chip. Die ganzen Beiträge zu dem Thema "ESP01 als WLAN-Modem mit dem Arduino verwenden" sind recht alt. Funktioniert tut das schon, ob es Sinn macht kommt drauf an was du genau basteln willst.

Wenn du damit experimentieren willst musst du nur beachten, dass der ESP8266 mit 3V3 arbeitet, die meisten Arduinos mit 5V. Wenn das ganze instabil läuft, solltest du den ESP01 mit der aktuellen Firmware flashen. Ist bei mir zwar schon ein paar Jahre her, aber hätte ich damals gleich die aktuelle Firmware eingespielt hätte ich mir ein paar frustreiche Bastelabende voller Fehlersuche erspart ;-)

Wenn du etwas Konkretes damit basteln willst lohnt es sich vielleicht den Arduino durch eine "größere" ESP-Platine zu ersetzen, dann sparst du dir die Kommunikation zwischen Arduino und ESP8266 und schreibst dein Programm (auch mit der Arduino IDE) direkt für den ESP8266.

WolfgangW(R)

18.08.2021,
11:32

@ bastelix

Grundlegende Frage zu IOT mit ESP8266-01

» Die ESP-01 waren mit die ersten und günstigsten Platinchen mit dem ESP8266 Chip. Die ganzen Beiträge zu dem Thema "ESP01 als WLAN- » Modem mit dem Arduino verwenden" sind recht alt. Funktioniert tut das schon, ...
» ... ESP8266 mit 3V3 arbeitet...

Das ist mir soweit bekannt. Das Problem, das ich bislang hauptsächlich habe war das Verständnisproblem, ob die beiden - am Ende wird kein Arduino mehr stehen, nur jetzt zum prototyping.

» ... instabil läuft, solltest du den ESP01 mit der aktuellen Firmware flashen. Ist bei mir zwar schon ein paar Jahre her, aber hätte ich damals
» gleich die aktuelle Firmware eingespielt hätte ich mir ein paar frustreiche Bastelabende voller Fehlersuche erspart ;-)

Gut, das war ein guter Tip. Ich werde dem entsprechend Beachtung schenken, Danke!

» Wenn du etwas Konkretes damit basteln willst lohnt es sich vielleicht den Arduino durch eine "größere" ESP-Platine zu ersetzen, dann sparst » du dir die Kommunikation zwischen Arduino und ESP8266 und schreibst dein Programm (auch mit der Arduino IDE) direkt für den ESP8266.

Konkret wird's, sobald ich das Problem grundsätzlich gelöst habe. Der Plan: Mit dem Atmega, aber auch einem der ATTiny, eben von der Aufgabenstellung abhängig die Arbeit zu erledigen, Die Kommunikation via MQTT soll der ESP-01 erledigen, da er zu schwach für größere Aufgaben aber durch gezielte Abschaltung (Sleep) nichts macht. Die größeren Brüder des ESP-01 habe ich mir angeschaut. Ich würde diese als Notlösung betrachten, wenn ich meine Version nicht lauffähig bekomme.

Einfach gesagt, der Atmega arbeitet, der ESP-01 kommuniziert via MQTT mit dem Raspberry, wenn alles klappt, füllt sich die Datenbank.
Die Kommunikation zwische Atmega und ESP-01 sollte sich - mehr als Frage gedacht - über RX/TX realisieren lassen? Dann aber fangen die Probleme mit dem Verständnis wirklich an.
Soweit ich verstehe, muss die "Kommunikationssoftware" auf den ESP geschrieben werden. Das wäre nun die Frage, kann das so, wie hier im letzten Absatz beschrieben funktionieren?

LG und Danke
Wolfgang

bastelix(R)

19.08.2021,
00:21
(editiert von bastelix
am 19.08.2021 um 00:28)


@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

» Die Kommunikation via MQTT soll der
» ESP-01 erledigen, da er zu schwach für größere Aufgaben aber durch gezielte
» Abschaltung (Sleep) nichts macht.
Der ESP01 hat 32Bit und ein paar mehr MHz als der ATMega/Tiny, aber ich denke dir geht es um die IO-Pins und den Stromverbrauch.

» Einfach gesagt, der Atmega arbeitet, der ESP-01 kommuniziert via MQTT mit
» dem Raspberry, wenn alles klappt, füllt sich die Datenbank.
» Die Kommunikation zwische Atmega und ESP-01 sollte sich - mehr als Frage
» gedacht - über RX/TX realisieren lassen?
Genau, einfache serielle Kommunikation.

» Soweit ich verstehe, muss die "Kommunikationssoftware" auf den ESP
» geschrieben werden. Das wäre nun die Frage, kann das so, wie hier im
» letzten Absatz beschrieben funktionieren?
Du hast zwei Möglichkeiten.

1. Du betreibst den ESP01 als WLAN-Modem, dann muss da drauf nur die Firmware laufen mit der sich der ESP als solches betreiben lässt (war bei mir vorinstalliert, aber halt in einer buggy Version). Der Arduino schickt dann über die Serielle Konsole AT-Befehle zur Kommunikation.

2. Du schreibst für den ESP01 Code der die WLAN-Verbindung aufbaut, die Werte vom Arduino via RX/TX abfragt und per MQTT verschickt. Dann musst du auf dem Arduino etwas einbauen, dass er auch auf die Anfragen über die Serielle Schnittstelle reagiert.

Ich würde fast zu Option 2 raten, die ist programmiertechnisch etwas aufwändiger aber vermutlich etwas stabiler und du vergeudest nicht unnötig viel Speicher auf dem ATMega (der Tiny ist dafür eh zu klein) für AT-Befehle und einen MQTT-Clinet für den ESP gibt es schon fertig als lib.

Nur für den Fall, dass du darüber nachdenkst: Der ESP braucht zum Aufbau der WLAN-Verbindung 140mA in der Spitze, zwar sehr Kurz aber das ist weit über dem was ein ATMega/Tiny auf einem IO-Pin liefern kann. Also falls du den ESP via µC ein/ausschalten willst brauchst du noch eine Treiberschaltung. Das rentiert sich aber kaum wenn man den deep sleep Mode des ESP8266 verwendet (verbraucht dann nur 20µA). Dafür muss man am ESP01 noch eine Brücke von einem Pin (ich glaube es ist Pin 16) des ESP8266 ICs zu einem IO-Pin löten. Wenn man einen IO-Pin am µC frei hat kann man das auch anders lösen (ESP in Tiefschlaf schicken und durch den µC aufwecken).

WolfgangW(R)

19.08.2021,
13:40

@ bastelix

Grundlegende Frage zu IOT mit ESP8266-01

Klasse Bastelix,

das war eigentlich genau das was ich gesucht habe mit allem drum und dran.
Danke für den tollen Tip. Ich denke damit kann ich dann auch Leben.

LG Wolfgang

WolfgangW(R)

19.08.2021,
20:41

@ bastelix

Grundlegende Frage zu IOT mit ESP8266-01

Hallo Bastelix,

eine dumme Frage noch zum Abschluss.

Die Variante 2 ist die, die ich schon im Sinn hatte und hier trennt sich halt die Spreu vom Weizen, das mit den 140mA hatte ich nicht bedacht.

» Nur für den Fall, dass du darüber nachdenkst: Der ESP braucht zum Aufbau der WLAN-Verbindung 140mA in der Spitze, zwar sehr Kurz aber » das ist weit über dem was ein ATMega/Tiny auf einem IO-Pin liefern kann. Also falls du den ESP via µC ein/ausschalten willst brauchst du noch
» eine Treiberschaltung.

» Das rentiert sich aber kaum wenn man den deep sleep Mode des ESP8266 verwendet (verbraucht dann nur 20µA).
Das mit den 20µA wäre soweit ok, ich denke das ist nicht übertrieben.

Und jetzt wird's aber nochmal unklar...
» Dafür muss man am ESP01 noch eine Brücke von einem Pin (ich glaube es ist Pin 16) des ESP8266 ICs zu einem IO-Pin löten. Wenn man
» einen IO-Pin am µC frei hat kann man das auch anders lösen (ESP in Tiefschlaf schicken und durch den µC aufwecken).

Der ESP8266-01 hat doch nur 8 Pins, oder meintest du wirklich den IC auf dem ESP-Board? Die Alternative IO-Pin am µC, sofern du hier den ATMega gemeint hast wäre dann doch eher noch realisierbar. Aber irgendwie scheine ich gedanklich an dir vorbeizureden.

LG Wolfgang

PS: Hättest du hier ein Schaltungsbeispiel?

bastelix(R)

20.08.2021,
01:48
(editiert von bastelix
am 20.08.2021 um 01:48)


@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

Hallo Wolfgang,

» Und jetzt wird's aber nochmal unklar...
» » Dafür muss man am ESP01 noch eine Brücke von einem Pin (ich glaube es ist
» Pin 16) des ESP8266 ICs zu einem IO-Pin löten. Wenn man
» » einen IO-Pin am µC frei hat kann man das auch anders lösen (ESP in
» Tiefschlaf schicken und durch den µC aufwecken).
» Der ESP8266-01 hat doch nur 8 Pins, oder meintest du wirklich den IC auf
» dem ESP-Board?
Ja, ich meine den IC (ESP8266) auf dem ESP01 Board



Bildquelle und ausführlichere Infos: https://randomnerdtutorials.com/esp8266-deep-sleep-with-arduino-ide/

» Die Alternative IO-Pin am µC, sofern du hier den ATMega
» gemeint hast wäre dann doch eher noch realisierbar.
Man kann da schon eine Brücke rein löten, es ist aber a ganz schönes gefotz. Darum würde ich bei dem Ansatz ESP + µC eher den ESP so programmieren, dass er dem µC sagt "Ich geh dann mal tief schlafen" und der µC weckt den ESP dann auf wenn er wieder senden soll, sofern ein Pin am µC übrig ist.

Wie man den Pegelwandler für den Rest-Pin realisiert wäre noch zu überlegen. Wenn du eh einen fertigen Baustein dafür verwendest braucht man da nicht länger nachdenken, ansonsten hätte ich eine Idee die mit einem 10k-Widerstand auskommen sollte. Der Rest passiert per Software, aber da bin ich mir noch nicht sicher ob das eine gute Idee ist. Ein NPN-Transistor und zwei Widerstände funktionieren auf jeden Fall.

WolfgangW(R)

20.08.2021,
12:47

@ bastelix

Grundlegende Frage zu IOT mit ESP8266-01

Hallo Bastelix

Vielen Dank nochmal an dich. Ich habe mir das was du geschrieben hast für mich zusammengefasst und denke, dass ich den Weg wie du beschrieben hast nachvollziehen und umsetzen kann. Das mit der Brücke am ESP-01 geht definitiv nicht. Dazu bräuchte ich jüngere Hände :-D

Jetzt muss ich dich aber doch nochmal belästigen, da ich eben was Software anbelangt besser bin als bei der Hardware und es hier eben doch am tieferen Verständnis mangelt. Spreu/Weizen, sagte ich ja schon. Es ist halt Hobby und nicht Beruf.

Du hast hier noch einen Lösungsansatz beschrieben, bei dem ich noch nicht sicher bin
» Wie man den Pegelwandler für den Rest-Pin realisiert wäre noch zu
» überlegen. Wenn du eh einen fertigen Baustein dafür verwendest braucht man
Welchen Baustein hättest du hier im Sinn?

» ..., ansonsten hätte ich eine Idee die mit einem 10k-Widerstand auskommen sollte. Der Rest passiert per Software, aber da
» bin ich mir noch nicht sicher ob das eine gute Idee ist. Ein NPN-Transistor und zwei Widerstände funktionieren auf jeden Fall.
Könntest du mir bitte für diese Option noch eine Skizze geben?

Das müsste es dann aber auch gewesen sein. Sonst habe ich alles verstanden. Die Anweisungen hier waren sehr klar.
LG Wolfgang

bastelix(R)

21.08.2021,
23:46

@ WolfgangW

Grundlegende Frage zu IOT mit ESP8266-01

Hallo Wolfgang

» Jetzt muss ich dich aber doch nochmal belästigen, da ich eben was Software
» anbelangt besser bin als bei der Hardware und es hier eben doch am tieferen
» Verständnis mangelt. Spreu/Weizen, sagte ich ja schon. Es ist halt Hobby
» und nicht Beruf.
:lookaround: Das ist bei mir genau so. Hauptberuflich entwickle ich Webanwendungen, Schwerpunkt eCommerce :rotfl: µC und so Elektronik-Basteleien sind auch bei mir Hobby. Also genieße meine Äußerungen zur Elektronik mit Vorsicht ;-) Aber normalerweise interveniert dann schon ein Profi wenn ich Mist schreibe :-D

» Du hast hier noch einen Lösungsansatz beschrieben, bei dem ich noch nicht
» sicher bin
» » Wie man den Pegelwandler für den Rest-Pin realisiert wäre noch zu
» » überlegen. Wenn du eh einen fertigen Baustein dafür verwendest braucht
» man
» Welchen Baustein hättest du hier im Sinn?
Einen Arduino der mit 3V3 arbeitet :-D

Ich dachte du hast dir in einer der Anleitungen die du gelesen hast schon was passendes Rausgesucht. Ist bei mir ja schon etwas länger her. Habe eben nochmal kurz nachgeschaut und die meisten verwenden nur einen Spannungsteiler für RX. Für den Reset würde ich dann folgenden Schaltung verwenden.

Welchen Transistor (oder MOSFET) du verwendest ist in dem Fall relativ egal, er sollte nur mit Strom und Spannung arbeiten können die der Arduino liefern kann (also max. 20mA bei 5V). Hintergrundwissen zu Transostoren als Schalter findest du übrigens hier: https://www.elektronik-kompendium.de/sites/slt/0208031.htm

Ich hab mir überlegt, dass man theoretisch auch mit der Schaltung auskommen könnte und den Rest dann über die Beschaltung des Pins am Ardino macht

Der Arduino-Pin ist als INPUT geschaltet. Für den Reset wird der Pin als OUTPUT geschaltet und auf LOW gesetzt. Dann wieder auf INPUT umgestellt. In der Theorie sollte das klappen, aber da müsste man nochmal nachlesen welchen states die Pins beim Booten haben und ggf. messen wie sich das ganze elektrisch verhält wenn der Pin umgeschaltet wird. Würde mich zwar interessieren, aber ich habe aktuell keine Zeit für einen Testaufbau. Schlimmstenfalls grillst du mit dem Ansatz einen ESP01 - also ich würde es nicht drauf ankommen lassen .

Gruß
Bastelix

WolfgangW(R)

22.08.2021,
14:40

@ bastelix

Grundlegende Frage zu IOT mit ESP8266-01

Hallo Bastelix,

das war's jetzt aber wirklich. Damit hast du mir jetzt wirklich alles in die Hand gegeben, was ich brauche, bzw. bei dem ich mir noch nicht sicher war. In der Tat hatte ich hier einige mögliche Lösungen, die weitgehend mit dem übereinstimmen, was du zuletzt noch gezeigt hast.
Es hatte sich jetzt einfach nur so angehört, als ob du noch ein 5. Ass im Ärmel gehabt hättest. Deshalb meine Frage vorher.

Nochmal für alle Bemühungen meinen herzlichsten Dank.

LG Wolfgang