2016-11-13 13 views
0

У меня есть Arduino DUE и вы хотите подключить его к плате ESP8266, а затем проверить соединение с помощью простой команды «AT» в последовательной командной строке. Я много писал в Интернете, но на эту тему так много разных ответов, и никто из них не решает мою проблему напрямую.Arduino Due с ESP8266 простой командой AT

Правильно настройте eps8266 с помощью двух силовых кабелей. Они даже поступают от разных источников питания, поэтому не должно быть проблем с питанием для платы esp.

Я думаю, что проблемы находятся где-то в разных бодах. Если я выберу 9600 бод для подключения от Arduino к ПК через USB и 74880 для подключения с платы esp к DUE, я, по крайней мере, правильно получаю сообщения об ошибках, когда плата esp должна перезагрузиться (когда я ее заставляю).

ЭТС 8 Jan 2013, первая причина: 1, режим загрузки: (3,6)

нагрузка 0x40100000, длина 1396, номер 16
хвоста 4 ChkSum 0x89 нагрузки 0x3ffe8000, LEN 776, номер 4
хвост 4 ChkSum 0xE8 нагрузки 0x3ffe8308, LEN 540, номер 4
хвост 8 ChkSum 0xc0 CSUM 0xc0

второй вариант загрузки: 1.4 (B1)
SPI Скорость: 40MHz
SPI Mod
ле: 52 млн

Код следующее:

//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); 
    } 
} 

Любая помощь будет очень ценна.

+0

Вы уверены, что в ваш ESP8266 появилась вспышка 'AT firmware? Если вы использовали плагин Arduino IDE + ESP8266, чтобы напрямую запрограммировать ESP8266, вы перезаписали «прошивку» AT, чтобы больше не отвечать на AT-команды. –

ответ

0

я должен был сделать обходной путь, описанный в этом вопросе:

Why do I need to change the Baudrate after I send a Reset to the ESP8266?

Также ESP очень чувствительны к изменениям валютных курсов. Иногда для этого требуется небольшое нажатие путем впрыска небольшого напряжения снаружи (через вольтметр ...). После этого я начинаю общение.

1

Это не ошибка. Это всего лишь boot message.

Прошивка AT может использовать другую скорость передачи в бодах, чем загрузчик.
Вы должны попробовать разные скорости передачи и протестировать его с помощью простой команды AT.
Когда вы найдете нужную скорость передачи в бодах, загрузочное сообщение будет мусором, но AT-команды будут работать.

+0

Благодарим вас, но есть ли какая-то особенная пропорция между бод-тарифами моего Arduino на ПК и скоростью в бодах между ESP и ардуином? например, скорость передачи в бодах до ПК должна быть в два раза больше, чем одна для esp? – Kev1n91

+0

Нет необходимости в какой-либо пропорции, но при большом количестве данных, отправляемых с ESP, скорость передачи на ПК должна быть выше, чтобы последовательный буфер не засорялся. –

+0

Имейте в виду, что ESP всегда загружается со скоростью 74880 бод, печатает загрузочное сообщение, а затем передает управление микропрограмме AT, которая, по большей части, переключается на другую скорость передачи. Не уверен, что это так, но, скорее всего, будет 9600 или 115200, зависит от того, какая прошивка AT загружена! – cranphin