da ich nun schon ein paar Abende an diesem Problem sitze und noch keine Lösung gefunden habe, möchte ich gern um eure Hilfe bitten.
Ich habe eine originalen Arduino 2560 und ein ESP8266 01S Modul. Ich habe das ESP Modul über die RX und TX Pins angeschlossen sowie Reset und GRD verbunden und kann dieses darüber Programmieren. Grundlegend möchte ich eine Seite von einem Server aufrufen, die ein JSON String ausgibt und möchte diesen gesamten JSON String über der ESP8266 an den Arduino übergeben. Das Abrufen klappt Problemlos, jedoch bekomme ich die Daten nicht an den Arduino gesendet.
Eventuell habe ich hier ein paar Fehler gemacht, ich schreibe aber folgend mal den aktuellen Stand (nur von dem Kommunikationstests):
void setup()
{
Serial.begin(115200); // communication with the host computer
//while (!Serial) { ; }
// Start the software serial for communication with the ESP8266
ESPserial.begin(115200);
Serial.println("");
Serial.println("Remember to to set Both NL & CR in the serial monitor.");
Serial.println("Ready");
Serial.println("");
}
void loop()
{
// listen for communication from the ESP8266 and then write it to the serial monitor
if ( ESPserial.available() ) { Serial.write( ESPserial.read() ); }
// listen for user input and send it to the ESP8266
if ( Serial.available() ) { ESPserial.write( Serial.read() ); }
}
Seriellen Monitor öffnen und sehen dass nichts passiert
muss noch mal nachfragen ?
Du hast den Blink-sketch uber den Arduino auf den ESP hochgeladen ?
der Blink-Sketch lauf auch , d.h die interne LED blinkt im s Takt. ?
Im Schaltplan hast du TXD mit TXD verbunden und RXD mit RXD das muss gekreuzt sein.
der ESP läuft mit 3,V auf den leitungen TXD und RXD der Adruino mit 5V das ist schon mal suboptimal. an TX des Arduino kommen 5V raus da sollte dann ein Spannungsteiler rein damit der ESP keinen Schaden nimmt. Bei der RXD des Arduino ist es egal der erkennt auch den 3,3V Pegel als H.
dann sollte das eigendlich gehen wenn alles richtig angeschlossen ist.
Habe ich das richtig verstanden, ich muss auf dem ESP8266 auf Serial1 ausgeben, dann auf dem Arduino auf Serial1 lauschen und über Serial ausgeben? SoftwareSerial würde ich dann einfach entfernen?
Denn Blink Sketch habe ich hoch geladen und die LED Blinkt auch. Das funktioniert, somit bin ich sicher, dass der ESP auch die Ausgabe erzeugt.
Die Kommunikation funktioniert also nur, wenn ich RX und TX Kreuze und einen entsprechenden Wiederstand einbaue?
Den Link habe ich mir angesehen, danke.
Es gibt im Netz viele Beispiele, aber bei den vielen verschiedenen Anwendungsmöglichkeiten und Modulen ist es für mich schwer den Überblick zu bewahren.
Habe ich das richtig verstanden, ich muss auf dem ESP8266 auf Serial1 ausgeben, dann auf dem Arduino auf Serial1 lauschen und über Serial ausgeben? SoftwareSerial würde ich dann einfach entfernen?
Serial des ESP an Serial1 des Mega
Serial des Mega, an den PC (Sowie es schon fertig gebaut ist)
SoftwareSerial ist da flüssiger als Wasser.
Überflüssig