2017-01-17 3 views
-3

Ich kaufte ESP8266-Modul und ich an Arduino UNO-Board über SoftwareSerial (PIN 10 - RX, PIN 11 - TX), Ich habe auch eine externe Stromversorgung für ESP8266 5V (450mA) es reduziert auf 3,3V durch Tiefsetzsteller.ESP8266 serielle Rückkehr 'Müll' zu Arduino

Anschlüsse:

ESP 8266

Vcc - 3,3 V von einem externen Kräfte

CH_PD SUPLY - 3,3 V von einem externen Kräfte

GND SUPLY - GND von einem externen

RESET - nicht verbunden

GPIO - nicht angeschlossen

GPI2 - nicht angeschlossen

RX < - 5V von Arduino auf 3,3 V reduziert durch 3x10K Ohm Widerstände

TX -> 3.3 Arduino

Electrical connections

und Ich lade auf Arduino Beispielprogramm, um esp8266 Kommunikation zu testen.

Arduino Programm:

#include <SoftwareSerial.h> 

const byte rxPin = 10; // Wire this to Tx Pin of ESP8266 
const byte txPin = 11; // Wire this to Rx Pin of ESP8266 

// We'll use a software serial interface to connect to ESP8266 
SoftwareSerial ESP8266 (rxPin, txPin); 

void setup() { 
    Serial.begin(9600); 
    ESP8266.begin(9600); // Change this to the baudrate used by ESP8266 
    delay(1000); // Let the module self-initialize 
} 

void loop() { 

    delay(100); 

    Serial.println("Sending an AT command..."); 
    ESP8266.println("AT\r\n"); 
    delay(30); 
    while (ESP8266.available()){ 
    String inData = ESP8266.readStringUntil('\n'); 
    Serial.println("Got reponse from ESP8266: " + inData); 
    } 
} 

aber ich nicht corectly arbeiten ... Wenn Arduino Nachricht an ESP senden. ESP gibt nur Rubel zurück .. ohne "Ready" und bekomme keine Firmware Informationen. Getestet habe ich alle Geschwindigkeit es Baud gleich aussehen ...

Serial monitor - printscreen

Als ich senden „AT“ Befehl manuell von seriellen Monitor EPS tun nicht Antwort nichts!

+2

Sie verschiedene Baudraten versuchen Haben? –

+0

welches ESP-Modul für Sie hat, und wie sehen die LEDs nach 5 Sekunden Strom aus? – dandavis

+0

Verbinden Sie möglicherweise auch die Arduino- und ESP8266-Massen miteinander. –

Antwort

0

Verwenden Sie kein SoftwareSerial für Geschwindigkeiten über 19200 Baud.

Standardmäßig spricht der ESP8266 mit 115000 Baud. Verbinden Sie es direkt mit dem Computer mit USB/Seriell, verwenden Sie Putty bei 115000 Baud, um mit dem ESP zu sprechen. Ändern Sie die Baudrate des ESP auf 19200 (AT + CIOBAUD = 19200 für frühe FW-Version, AT + UARTetwas für neuere).

SoftwareSerial sollte als arbeiten, aber ich benutze es nicht mehr - alle Arten von Problemen; HardwareSerial ist so viel besser. Schalten Sie einfach die Arduino RX/TX Pins zwischen Computer und ESP; keine Monitorausgabe dann aber; Verwenden Sie die LED, um Hinweise zu geben.

2

Die Verbindung ist perfekt. Standardmäßig ist die Baudrate von esp8266 115200. Halten Sie also zum ersten Mal die Baudrate 115200 sowohl für esp8266 als auch für den seriellen Monitor ein.

Serial.begin(115200) 
ESP8266.begin(115200) 

Nun ist es nötig, die Baudrate von esp8266 zu ändern. Befehle können über serielle Kommunikation gesendet werden. Verwenden Sie diesen Befehl.

AT+CIOBAUD=9600 

Danach sollte der obige Code wie erwartet funktionieren.

0

Verwenden Sie einen Logikpegelkonverter für den Rx-Pin esp8266. Arduino-Logik ist 5,0 V und ESP8266 ist 3,3 V-Logik.

1

Ändern Sie den 10K Widerstand. Verwenden Sie ihn nicht. Wenn Sie einen High-Value-Widerstand verwenden, unterdrückt er den Strom und Sie werden keine Signale von dieser Seite lesen. Versuchen Sie mit Low-Wert-Widerstand und in 9600 Baudrate

0

Machen Sie den Boden der ext Stromversorgung und Arduino Common.

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); statt dessen [gibt Antworten, die vom Fragesteller nicht geklärt werden müssen] (https: //meta.stackexchange.com/questions/214173/Warum-ich-brauche-50-Reputation-zu-Kommentar-was-kann-ich-tun-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/18561498) –

0

Wenn Sie ESP-Modul mit Arduino uno zu programmieren, müssen Sie die Arduino umgehen und schreiben Sie den Code Schritte: Stifte

Arduino tx -> rx (esp) Arduino rx-- > tx (ESP)

3,3V-Versorgung ->vcc, ch_pd (esp)

GND ->GND, Gpi0 (Esp)

Baudraten funktioniert für mich ist 9600,57600