ESP und Arduino Seriell miteinander kommunizieren lassen

Hi Forum,

ich wollte einen Wemos D1 mini und einen Arduino nano every miteinander
kommunizieren lassen. Was ich bis jetzt geschafft habe, ist vom ESP aus
was Seriell schreiben und das vom nano auszulesen.
In die andere Richtung bekomm ich das jedoch nicht hin.
Mein Wunsch ist, dass ich Daten hin und her senden kann.
Ich habe schon einige Test Codes, die ich im Internet gefunden habe
probiert, jedoch ohne erfolgt.
Hier sind die beiden funktionierenden Programme

Arduino nano every

String inputString = "";         // a String to hold incoming data
bool stringComplete = false;  // whether the string is complete

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);

  inputString.reserve(200);
}

void loop() 
{
  serialEvent();
}

void serialEvent()
{
  while (Serial1.available())
  {
    char inChar = (char)Serial1.read(); // das neue Byte erhalten:
    inputString += inChar;     // zum inputString hinzufügen:

    if (inChar == '\n') // wenn das eingehende Zeichen ein Zeilenumbruch ist, ein Flag setzen, damit die Hauptschleife

      stringComplete = true;
  }

  if (stringComplete) {  // print the string when a newline arrives:
    Serial.println(inputString);

    inputString = "";   // clear the string:
    stringComplete = false;
  }
}

ESP

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

void loop() {
Serial.println("Hi");
}

was ich jetzt probiert hatte, ist das ganze vom nano, sprich das
serialEvent auf den ESP zu bringen, nur statt die empfangenen Daten
Seriell auszugeben, wollte ich einfach die on-Board LED blinken lassen.

Könnte mir da jemand weiterhelfen?
Danke schonmal im vorraus!
Mfg

hier der nicht funktioniere ESP code:

String inputString = "";         // a String to hold incoming data
bool stringComplete = false;  // whether the string is complete

void setup()
{
  Serial.begin(9600);
  inputString.reserve(200);

  pinMode(2, OUTPUT);
}

void loop()
{
  if (inputString == "hi")
  {
    digitalWrite(2, HIGH);
    delay(200);
    digitalWrite(2, LOW);
    delay(200);
    digitalWrite(2, HIGH);
    delay(200);
    digitalWrite(2, LOW);
    delay(200);
    digitalWrite(2, HIGH);
    delay(200);
    digitalWrite(2, LOW);
    delay(200);
    digitalWrite(2, HIGH);
    delay(200);

    inputString = ""; // String leeren
      //   Serial.println("hi");
  }
  serialEvent();
}

void serialEvent() {
  while (Serial.available())
  {
    char inChar = (char)Serial.read(); // das neue Byte erhalten:
    inputString += inChar;     // zum inputString hinzufügen:

    if (inChar == '\n') // wenn das eingehende Zeichen ein Zeilenumbruch ist, ein Flag setzen, damit die Hauptschleife

      stringComplete = true;
  }
}

Evtl. solltest du dein Problem einzeln angehen. Erst wenn eine Richtung stabil funktioniert, die andere Richtung angehen.
Und bitte die unnötigen Leerzeilen aus deinem Sketch rauslöschen, dann wird der auch besser lesbar.

inputString könnte sowas wie "hi\n" oder ähnlich ( noch ein zusätzliches '\r' ? ) sein

Eine Richtung funktioniert ja. Vom ESP senden und vom Nano Empfangen läuft. Als ich es anders herum versucht habe nicht. Ist auch etwas blöd, dass ich beim Nano mit Serial1 arbeiten kann und mir auch ausgeben lassen kann, was ich bekomme und beim ESP nicht.
Hab die Leerzeilen entfernt.

Danke für den Tipp.
Ich habe gerade beides probiert. Ohne erfolg.
Mfg

  1. Serielle kommunikation in beiden Richtungen - Mikrocontroller.net
  2. Der CMDMessenger könnte dir den Parserbau abnehmen

Das bin ich. Wusste nicht dass es ein Forum Speziell für Arduino gibt.

Ich glaub da hatte ich sogar was zu gelesen, bei meiner Recherche. Schau ich mir gerne mal an.

Das ist nicht das Problem.
Sondern, dass Crosspostings hier recht unerwünscht sind.

Das gilt übrigens für viele Foren, nicht nur für dieses.

oh okay, dass wusst ich nicht.
In der Ausbildung wurde mir mal gesagt viel hilft viel. Das ist quasi mein Lebenmotto geworden.
Will aber natürlich niemanden auf den Schlips treten.