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?
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.
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.
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.
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.
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 ?
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.
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.
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.
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
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.