#include // RXD, TXD SoftwareSerial swSerial( 4, 5); void setup() { Serial.begin(9600); Serial.println("\n\n ESP8266-SoftwareSerial-Daten-auswerten.ino \n"); Serial.println("Ich bin RECHTS"); swSerial.begin(9600); swSerial.println("Hallo LINKS"); } unsigned int startzeit = millis(), wartezeit = 1000; void loop() { if (swSerial.available()) auswerten_00(); // auswerten_1(); // if (swSerial.available()) auswerten_2(); if (millis() > startzeit + wartezeit) { Serial.print('.'); startzeit = millis(); } } void auswerten_0() { while (swSerial.available()) { Serial.write(swSerial.read()); } } void auswerten_00() { Serial.println("\nauswerten00(): " + String(swSerial.available())); while (swSerial.available()) { Serial.write(swSerial.read()); } } void auswerten_000() { String nachricht = ""; while (swSerial.available()) { nachricht = nachricht + char(swSerial.read()); } Serial.println("\n" + nachricht); } void auswerten_2() { Serial.println("\nauswerten2(): " + String(Serial.available())); String nachricht = ""; boolean ende = false; while (not ende) { char ch = swSerial.read(); if (ch==0xff) { continue; } if (ch=='\r') { continue; } if (ch=='\n') { ende = true; continue; } // Serial.print(ch,HEX); nachricht = nachricht + ch; } Serial.println("\nempfangen: " + nachricht); } void auswerten_1() { boolean start = false; String nachricht = ""; while (swSerial.available()) { char ch = swSerial.read(); if (ch=='\n') { continue; } if (ch=='\r') { continue; } nachricht = nachricht + ch; } if (nachricht == "") { if (millis() > startzeit + wartezeit) { Serial.print('.'); startzeit = millis(); } } else { Serial.println("\n - " + nachricht); } } // .ESP32Main;52;a,b 12,c 123 45 6,a // void loop() { // String msg = ""; // while (myPort.available()) { // msg = msg + char(myPort.read()); // } // Serial.println(msg.length()); // Serial.println(msg); // delay(1000); // }