Arduino UNO Rev3 und ESP8266-01 (schwarz)

Hallo Leute,

ich bin am verzweifeln :roll_eyes: . Schon mehrere Wochen versuche ich nun die Kommunikation zwischen UNO und ESP8266 aufzubauen, doch nur mäßigen Erfolg.

Inzwischen habe ich unzählige Foren und Tutorials durchgearbeitet.

Mein Aufbau:

  • Arduino UNO Rev3 mit 12.0V/2A Netzteil über seperates LM2596 (12V → 5V) angeschlossen an Pin: Vin.
  • ESP8266-01 (schwarz) über LD1117V33 mit Kondensatoren von 5V → 3.3V an Pin: 3V3,
    Pin: GND auf GND UNO,
    Pin: EN auf 3.3V,
    Pin: IO0 auf GND (beim hochladen),
    Pin: Reset (kurz vorher auf GND sonst offen)
    Pin: IO1 (offen)
    Pin: RX über Logic-Level-Shifter an RX UNO,
    Pin: TX über Logic-Level-Shifter an TX UNO

Benutze Win10, Arduino IDE 1.8.1 mit ESP8266 Generic Modul

Wobei ich nun scheitere:
Ich schließe den UNO zusätzlich an mein Notebook COM4, wähle Board ESP8266 Generic Modul, Flash_Mode: DIO, Baudrate 115200 usw. aus. Öffne das Beispiel-BlinkSktech (IO0 auf GND und Reset ebenfalls kurz) und drücke dann auf Hochladen. Die RX und TX LED´s blinken drei mal und die blaue LED des ESP8266 ebenfalls, dann erscheint die Fehlermeldung:
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Getestet wurde: Alle möglichen Einstellungen in der IDE, RX und TX tauschen, USB-Versorgung und externe Versorgung an-/ abschließen, Stromversorgung ausreichend-rote LED des ESP leuchtet auch

Nun habe ich auch folgendes probiert:
ESP8266 Flasher v3.4.4 heruntergeladen und versucht über das Tool eine Verbindung mit den verschiedensten Einstellungen aufzubauen. Das ESP8622 blinkt des öffteren aber ebenfalls “Connection faild - Retry”.

hat jemand noch eine Idee für mich?

mit freundlichen Grüßen,
Volker

2 Fehler fallen mir sofort auf. Du darfst nicht die Pins RX und TX vom Arduino zur Kommunikation mit dem ESP verwenden.

Und wenn du die Kommunikation über eine serielle Schnittstelle (UART) aufbaust, musst du immer RX mit TX und TX mit RX verbinden. Also immer über kreuz.

Zu Kommunikation der beiden solltest du SoftwareSerial verwenden.

Und die 5V vom Regler nicht an Vin, sondern an den 5V Pin.

Und wenn du den Uno flashen willst, musst du auch den Uno auswählen.

Wenn du den ESP8266 flashen willst, brauchst du einen usb-seriell Adapter. Den über das Uno-Board zu flashen geht nur mit Tricks.

Warum verwendest du nicht einen "Wemos D1 min", der ist genauso einfach zu flashen, wie ein Uno und hat auch den ESP drauf. Damit kannst du sicher alles das erschlagen, was du mit deiner Kombination auch machen willst.

HotSystems: 2 Fehler fallen mir sofort auf. Du darfst nicht die Pins RX und TX vom Arduino zur Kommunikation mit dem ESP verwenden.

Und wenn du die Kommunikation über eine serielle Schnittstelle (UART) aufbaust, musst du immer RX mit TX und TX mit RX verbinden. Also immer über kreuz.

Zu Kommunikation der beiden solltest du SoftwareSerial verwenden.

Danke schon mal HotSystems, hättest du mir ein kurzes beispiel mit dem Blink-Sketch und SoftwareSerial?

#include SoftwareSerial.h

SoftwareSerial espSerial(2, 3); //RX_Pin: 2 // TX_Pin: 3

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);     // Initialize the LED_BUILTIN pin as an output
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level
                                    // but actually the LED is on; this is because 
                                    // it is acive low on the ESP-01)
  delay(1000);                      // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
  delay(2000);                      // Wait for two seconds (to demonstrate the active low LED)
}

Ich verwende den UNO, weil ich daran ein RFID-System hängen habe und mit dem ESP-Modul will ich die Daten an einen Web-Server senden.

Fohlen:
Danke schon mal HotSystems, hättest du mir ein kurzes beispiel mit dem Blink-Sketch und SoftwareSerial?

Ich verwende den UNO, weil ich daran ein RFID-System hängen habe und mit dem ESP-Modul will ich die Daten an einen Web-Server senden.

Jede Library bringt Beispiele mit, anhand deren du deinen Sketch aufbauen kannst.

Ebenso ist der BlinkSketch als Beispiel in der IDE vorhanden.

Du kannst es auch mit dem Uno machen, nur mit dem Wemos sparst du den Uno und kannst auch einen RFID anschließen.

Und bitte setze deinen Sketch in Code-Tags, damit ist dieser besser lesbar, speziell auf mobilen Geräten.
Verwende dazu die Schaltfläche </> im Editorfenster.

HotSystems: Du kannst es auch mit dem Uno machen, nur mit dem Wemos sparst du den Uno und kannst auch einen RFID anschließen.

Der Wemos hat leider zu wenige I/O's für mein Projekt, ich benötige 16 Stück.

Fohlen: Der Wemos hat leider zu wenige I/O's für mein Projekt ich benötige 16 Stück.

Das ist kein Hindernis. Die könnte man per I2C erweitern. Mit sog. Portexpandern für 8 oder 16 Pins.

Aber ich will dich nicht überreden. Deine Entscheidung.

Hast du Erfahrungen mit OTA und dem Wemos?

Mein Ziel ist es über den Web-Server Daten von dem Arduino bekommen und zurückgeben, sowie ein eventuelles Update über den Web-Server zu installieren.

Wird bei dem Wemos das ESP ebenfalls über ein eigenes Sketch programmiert?

mfg Volker

Fohlen: Hast du Erfahrungen mit OTA und dem Wemos?

Mein Ziel ist es über den Web-Server Daten von dem Arduino bekommen und zurückgeben, sowie ein eventuelles Update über den Web-Server zu installieren.

Wird bei dem Wemos das ESP ebenfalls über ein eigendes Sketch programmiert?

mfg Volker

Nein, Erfahrung habe ich keine mit OTA. Wenn du aber OTA brauchst, solltest du nicht länger überlegen.

Und beim Wemos gibt es nur einen Controler, also nur einen Sketch.

Hey,

hab mich jetzt nochmal umgsehen der Wemos scheint recht bliebt zu sein. Bin dann noch auf den NodeMCU ESP-12E V3 gestoßen, der auch sehr Umfangreich ist und Wifi OnBoard hat.

hast du davon schon mal etwas gehört?

Gelesen schon, mehr nicht. Mit dem Wemos habe ich selbst schon ein wenig rumgespielt, derzeit aber noch kein Projekt.

Mit dem NodeMCU spiele ich die Tage herum....ist echt ein nettes Teil, lässt sich genauso einfach wie ein Uno programmieren. Diese Anleitung hat mir einen Einstieg mit dem ESP noch einfacher gemacht ;)

Jedes Board mit dem esp8266 hat wifi on board. Ist ja der Hauptsinn des Chips.