Arduino mit dem ESP-01s

Hallo,

ich möchte meinen Arduino Mega mit einem ESP-01s Modul ausstatten. Dafür muss ich (glaube ich) das ESP-01s Modul zuerst flashen. Leider macht das jede Website auf eine andere Art und ich bin schon echt am verzweifeln weil ich nicht weiß wie ich das machen kann, dass mein Arduino Mega ins Wlan kann.

Ich weiß, dass es für diese Frage bessere Foren gibt aber Arduino ist mir doch das sympathischste.

Weiß jemand wie ich das ESP-01s Modul flashen kann, sodass ich mit dem Arduino Mega kommunizieren kann?

Liebe Grüße

Was ist denn aus diesem Vorhaben geworden?
Die meisten Helfer freuen sich über eine Rückmeldung.

Und ohne jegliche Rückmeldung oder Antwort auf unsere Fragen fällt es schwer weitere Antworten zu geben.
Nur soviel, der ESP muss nicht programmiert werden.

Hallo,

der ESP8266-01 hat von Hause aus eine Software drauf die Du über eine serielle Schnittstelle Deines Arduino ansprechen kannst. Dazu gibt es sogenannte die AT Befehle. Zum einlesen finde ich die Seite ganz gut ESP8266 und ESP8285 Module Anleitung.

Allerdings richtig Spaß macht das nicht.

Besorge Dir ein Board an das WIFI onboard hat. Emfehlen könnte ich Dir ein ESP8266 Node MCU Modul.

Heinz

Rentner:

Allerdings richtig Spaß macht das nicht.

Gebe ich dir absolut Recht.
Allerdings zu Anfang wäre das schon mal ein Start, grad weil der ESP01 für Anfänger sehr umständlich zu programmieren ist.

Und hier gibt es einen Sketch (inkl. div. AT-Kommandos) der als Einstieg in abgewandelter Form genutzt werden kann.

Naja lieber würde ich dann doch mit einem Arduino arbeiten, da ich mich hier einfach sehr wohl fühle und wenigstens die Grundlegenden Sachen verstehe.

Gibt es keinen Weg die AT-Kommandos zu umgehen und stattdessen wie gewohnt mit Arduino IDE den Chip zu programmieren?

Liebe Grüße

Hallo,

Du kannst jeden ESP mit der Arduino IDE programieren. Gerade wenn es um WIFI sachen geht gibt es reichlich Beispiele im Netz.

Wenn Du unbedingt den ESP-01 mit Deinem Arduino verheiraten willst musst Du überlegen wie die miteinander reden sollen. AT ist das sicher am einfachsten da musst Du an dem ESP nichts machen. I2c geht da auch noch . Aber wozu der Umweg das ist eindeutig verschlimmbessert.

Heinz

jule2000:
Gibt es keinen Weg die AT-Kommandos zu umgehen und stattdessen wie gewohnt mit Arduino IDE den Chip zu programmieren?

Auch das gibt es. Da musst du dir dann einen Programmieradapter besorgen und das Flashen macht dann die IDE. Dazu benötigst du die aktuelle Core-Erweiterung zum ESP8266.

Und mit den AT-Befehlen kann ich auch Daten von einer Datenbank überschreiben bzw. lesen?

Liebe Grüße

jule2000:
Und mit den AT-Befehlen kann ich auch Daten von einer Datenbank überschreiben bzw. lesen?

Liebe Grüße

Lies dir einfach mal den Link von Walter durch.
Selbst habe ich mit den AT-Befehlen noch nicht gearbeitet, da es mit einem Wemos D1 mini sehr viel einfacher geht.
Auch den kannst du mit einem Mega verbinden.
Nur warum eigentlich ?

Hier noch der benötigte Adapter für den ESP01.

jule2000:
Naja lieber würde ich dann doch mit einem Arduino arbeiten, da ich mich hier einfach sehr wohl fühle und wenigstens die Grundlegenden Sachen verstehe.

Auch ich möchte nochmal in die selbe Kerbe hauen: Warum willst Du es Dir so kompliziert machen?

Nur in sehr speziellen Situationen wäre ein Mega2560 eventuell sinnvoll. Möglicherweise wäre es an der Zeit, mal Deine Pläne offen zu legen, um Dich besser unterstützen zu können.

Ich habe mir gestern Abend noch die Website angeschaut. Der Verfasser meint auch, dass der einfachste Weg jener ist, bei dem man den ESP-01s mit dem ESP8266 Core programmiert (sprich ohne AT-Befehle). Jetzt weiß ich jedoch nicht ganz, ob ich dafür den ESP-01s flashen muss, oder ob es reicht wenn ich in Arduino IDE den ESP8266 Core installiere.

Liebe Grüße

Nein.
Wenn du Wifi brauchst, besorgst du dir einen NodeMCU oder einen Wemos D1.
Das sind bastlerfreundliche Versionen des ESP und die kannst du direkt an den USB des PC anstecken.
Diese programmierst du mit der ESP8266 Erweiterung der Arduino IDE.

vom puren EPS01 will ich dir ABRATEN.

Speichert das Wemos D1 den Code, nachdem man die Stromversorgung gekappt und anschließend wieder aufgebaut hat?

Ich habe nämlich erste Erfolge mit dem ESP-01s erzielt, daraufhin aber festgestellt, dass man, im Gegensatz zum Arduino, jedes mal aufs neue den Code hochladen muss.

ich kenn das nur so, dass die ESP (egal ob ESP, NodeMCU...) den Code den man flasht fix im speicher haben.

jule2000:
Speichert das Wemos D1 den Code, nachdem man die Stromversorgung gekappt und anschließend wieder aufgebaut hat?

Ich habe nämlich erste Erfolge mit dem ESP-01s erzielt, daraufhin aber festgestellt, dass man, im Gegensatz zum Arduino, jedes mal aufs neue den Code hochladen muss.

Ja, wenn du alles richtig machst (leider sehen wir das nicht), dann speichert der ESP-01s den Code (hier Sketch) auch. Aber du musst den mittels schon gezeigtem Adapter in den ESP flashen.
Da reicht es nicht, den in den Arduino zu flashen. So geht es nur mit AT-Befehlen.

jule2000:
Ich habe nämlich erste Erfolge mit dem ESP-01s erzielt, daraufhin aber festgestellt, dass man, im Gegensatz zum Arduino, jedes mal aufs neue den Code hochladen muss.

Das kann nicht sein.
Da hast du sicherlich die Pins falsch beschaltet.
Das siehst du an den Bootmeldungen

Der Schaltplan schaut wie folgt aus:

ESP-01s / Arduino

Rx / Rx
Tx / Tx
Vcc / 3,3V
GND / GND
GPIO0 / GND
CH_PD / 3,3V
Reset über einen Druckknopf an Ground
GPIO2 an eine LED

Das Programm lässt die LED blinken.

Falsch: die serielle Verbindung muss immer RX auf TX und TX auf RX sein.

Änder ich die Verbindungen auf

Rx -> Tx
Tx -> Rx

dann kann ich den Code nicht mehr hochladen.

Fehlermeldung: esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

Ich glaube das liegt daran, dass der Arduino und das ESP Modul nicht wirklich kommunizieren, sondern die Daten einfach nur weitergesendet werden.

Normalerweise läuft mein Programm wie folgt ab:

Ich lade den Sketch hoch, drücke sobald "Connecting..." steht den Reset Druckknopf und warte bis das Programm vollständig hochgeladen wurde. Dann blink die LED.