SoftwareSerial von Arduino Uno to ESP8266-01

Hallo zusammen,

leider bekomme ich es nicht hin eine SoftwareSerial Kommunikation von Arduino Uno und ESP8266-01 aufzubauen. Also ich möchte Daten vom Uno zum ESP schicken. Vom ESP zum Arduino Uno habe ich bereits erfolgreich eine Kommunikation aufbauen können:
github

Am nähesten an der Lösung ist denke ich bis jetzt dieser Code gewesen:

ESP:

void setup() {
 Serial.begin(115200);
 delay(5000);
}

void loop() {
  String incomingString="";
  boolean StringReady = false;

  while (Serial.available()){
    incomingString=Serial.readString();
    StringReady=true;
    Serial.println("Drin"); 
  }

  if (StringReady){
    Serial.println("Recieved String: " + incomingString);  
  }

}

Uno:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); //RX, TX

void setup() {
 Serial.begin(9600);
 mySerial.begin(115200);
 delay(5000);
}

void loop() {
  String incomingString="";
  boolean StringReady = false;

  while (mySerial.available()){
    incomingString=mySerial.readString();
    StringReady=true;
    Serial.println("Drin"); 
  }

  if (StringReady){
    Serial.println("Recieved String: " + incomingString);  
  }

}

Verkabelung ist die gleiche welche ich auch zur SoftwareSerial Kommunikation von ESP zum Uno verwende:
Bild

Außerdem habe ich mir folgenden Thread angesehen thread und diese Libary libary heruntergeladen und eingepflegt.

Über Hinweise woran es liegen könnte, dass ich auf meinem Serial Monitor gar nichts angzeigt bekomme würde ich mich freuen.

Fange bei SoftwareSerial mal mit 9600 Baud an.

Gruß Tommy

Mit der von dir geschriebenen Geschwindigkeit (Baudrate) treten sicher Probleme auf. Wie Tommy schon schrieb, fang klein an.
Mit 38400 habe ich bei SoftwareSerial bisher sehr gute Erfahrungen gemacht.

Auch die Kommunikation in beide Richtungen haben bisher auch funktioniert.

Einen Spannungsteiler in der Datenleitung brauchst du nicht, ein Widerstand 1k reicht da

Vielen Dank für die Antworten!

Die Baudrate runterzusetzen hat geholfen! Jetzt funktioniert es.

Da in meinem Datenbaltt vom ESP steht die Default Baudrate wäre 115200, bin ich nicht auf die Idee gekommen, das dieser mit einer anderen auch zurecht kommt. Aber da muss ich mich wohl noch mal in das Thema Baudrate einlesen.

Hier noch die Codes, falls jemand mal das gleiche Problem hat:

ESP:

void setup() {
 Serial.begin(9600);
 //mySerial.begin(9600);
 delay(5000);
}

void loop() {
  String incomingString="";
  boolean StringReady = false;

  while (Serial.available()){
    incomingString=Serial.readString() + "Hello from ESP";
    StringReady=true;
    //Serial.println("Drin"); 
  }

  if (StringReady){
    Serial.println("Recieved String: " + incomingString);  
  }

}

Uno:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); //RX, TX

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop() {
  mySerial.write("Uno");
  delay(2000);

  String incomingString="";
  boolean StringReady = false;

  while (mySerial.available()){
    incomingString=mySerial.readString();
    StringReady=true;
    Serial.println("DrinUno"); 
  }

  if (StringReady){
    Serial.println("Recieved String: " + incomingString);  
  }
}

@noiasca: Ich möchte eine Spannung auslesen und über Wifi in eine Datenbank schreiben. Da der ESP kein Analog Pin hat, war jetzt meine Idee die Spannung über den Uno einzulesen und dann eben mit SoftwareSerial an den ESP übertragen.

Danke für den Tipp werd ich mir ansehen!

Oder auch der Wemos d1 mini, der geht auch dafür.

Und auch mit den beiden funktioniert SoftwareSerial mit anderen Teilnehmern, wenn es denn erforderlich ist.