2016-11-13 7 views
0

Ich habe ein Arduino DUE und möchte es mit einem ESP8266 Board verbinden und dann die Verbindung mit einem einfachen "AT" -Befehl auf der seriellen Kommandozeile testen. Ich habe viel im Internet geschrieben, aber es gibt so viele verschiedene Antworten zu diesem Thema und keines von ihnen löst mein Problem direkt.Arduino Due mit ESP8266 einfachen AT-Befehl

Ich richte das eps8266 korrekt mit den beiden Stromkabeln ein. Sie kommen sogar von verschiedenen Stromquellen, also sollte es kein Problem mit der Stromversorgung für das ESP-Board geben.

Ich denke, die Probleme sind irgendwo in den verschiedenen Baudraten. Wenn ich 9600 Baud für die Verbindung vom Arduino zum PC über USB und 74880 für die Verbindung von der esp-Platine zum DUE wähle, bekomme ich zumindest die Fehlermeldungen richtig, wenn die esp-Platine neu starten muss (wenn ich es erzwinge).

ets 8. Januar 2013, rst Ursache: 1, Startmodus: (3,6)

Last 0x40100000, len 1396 Raum 16
tail 4 chksum 0x89 Last 0x3ffe8000, 776 Len Zimmer 4
Schwanz 4 chksum 0xE8 Last 0x3ffe8308, len 540, Raum 4
Schwanz 8 chksum 0xc0 csum 0xc0

2. Boot-Version: 1.4 (B1)
SPI Geschwindigkeit: 40MHz
SPI Mod
le: 52mn

Der Code ist der folgende:

//always high 
int CH_PD_8266 = 53; 

void setup() { 
    Serial.begin(9600); 
    Serial3.begin(74880); //--> at least error code is shwon correctly 

// Serial3.begin(115200); //error code is gibberish 
    pinMode(CH_PD_8266, OUTPUT); 
    digitalWrite(CH_PD_8266, HIGH); 
} 

void loop() { 
    while (Serial.available() > 0) { 
    char a = Serial.read(); 
    Serial3.write(a); 

    //Write back to see if it even comes perfect 
    //Serial.write(a); 
    } 

} 

void serialEvent3() { 
    while (Serial3.available() > 0) { 
    char a = Serial3.read(); 
    // Serial.write('A'); 
    Serial.write(a); 
    } 
} 

Jede Hilfe wäre wirklich zu schätzen.

+0

Sind Sie sicher, dass in Ihrem ESP8266 die 'AT firmware' blinkt? Wenn Sie mit dem Arduino IDE + ESP8266-Plugin ESP8266 direkt programmieren, dann überschreiben Sie die 'AT-Firmware', so dass sie nicht mehr auf AT-Befehle reagiert. –

Antwort

1

Das ist kein Fehler. Es ist nur ein boot message.

Die AT-Firmware könnte eine andere Baudrate als der Bootloader verwenden.
Sie sollten verschiedene Baudraten ausprobieren und es mit einem einfachen AT Befehl testen.
Wenn Sie die richtige Baudrate finden, wird die Boot-Nachricht Müll sein, aber die AT-Befehle funktionieren.

+0

Vielen Dank, aber hat es eine besondere Art von Verhältnis zwischen den Baudraten meines Arduino zu PC ist und die Baudrate zwischen dem ESP und dem Arduino? z. B. Baud-Rate zu PC muss zwei mal mehr sein als der zum esp? – Kev1n91

+0

Es sind keine Proportionen erforderlich. Wenn jedoch viele Daten vom ESP gesendet werden, sollte die Baudrate zum PC höher sein, damit der serielle Puffer nicht verstopft. –

+0

Beachten Sie, dass das ESP immer bei 74880 Baud bootet, die Boot-Meldung ausgibt, dann die Handsteuerung an die AT-Firmware, die höchstwahrscheinlich auf eine andere Baudrate schaltet. Nicht sicher, was das ist, aber entweder 9600 oder 115200 wäre am wahrscheinlichsten, hängt davon ab, welche AT-Firmware geladen ist! – cranphin

Verwandte Themen