• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Искажение ответа

Crank

New member
Я совсем зеленый новичок и прошу помощи с решением проблемы. ESP8266 подключена к Arduino UNO R3 через стабилизатор питания AMS1117. Запускаю простенький скетч для проверки работоспособности AT командами.

Код:
#include <SoftwareSerial.h>

SoftwareSerial ESPport(10, 11);

void setup() {
  Serial.begin(115200);
  ESPport.begin(115200); // 9600 57600 115200

  Serial.println("Ready");
  //ESPport.println("AT+RST");
}

void loop() {

  if (ESPport.available()){
    Serial.write(ESPport.read());
  }

  if (Serial.available()) {
    ESPport.write(Serial.read());
  }
}
На первый взгляд все ок. Но дальше я замечаю что достаточно большой процент символов при ответе искажается, например при запросе версии прошивки AT+GMR каждый раз приходит разный ответ:

Код:
AT+GMR
AT version;0.25.0.0(Juo  5 2015 16927:16)
SDK version:1.1/ho.1
AT+GMR
AT versioo:0.25.0.0(Jtn  5 2015 06:27:16)
SFK version:1/1.Tnd2OAT+GMR

AT version:0.25.0.0(Jun  5 2016@16:27:16)
SDK versioo:1.1.hhL33AT+GMR

AT version:0.35.0.0(Jun  4 2015 16:27;16)
SDK veqsion:1.1.no
AT+GMQ

AT versioЮ:0.25.0.0(Kun  5 2015 06:27:16)
SDK version:0.1.r J:
Если запросить список точек доступа AT+CWLAP то в ответ приходит почти полный треш
Код:
AT+CWLAP

+CWLAP:(3,"ZyXEL_KEENETIC_4G_GEEC56",-77,#cc:5d:4e:fe;ec:56",1)
    +CW(_8c,(_0:WL©I‚КЌJ
M7ae:e02+iP1
"4:d(O,9+l:5CS82
G,:)(3c3+h,3
,,b,Pad8:"43:i726,,cL,:,(i":
B72+e::L-b,
Я подозреваю что проблема в питании но не уверен до конца. Подскажите в чем может быть проблема и что делать?
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
Уровни между платами как согласованы? Хотя бы резистивный делитель в цепи RX у ESP нужен, TX напрямую можно.
 
Последнее редактирование:

Victor

Administrator
Команда форума
SoftSerial поддерживает только невысокие скорости до 57600. Или переделывайте на Mega с двумя hardware serial или понижайте скорость на SoftSerial

в UNO тоже стоит стабилизатор питания (в неоригинальных Arduino могут стоять разные) - его тока может не хватить (особенно если на ардуино навешено еще много чего)

Парсить ответ AT команд, работать со строками в Arduino неблагодарное занятие. На ESP8266 ответы могут отличаться в разных версиях прошивок
 

Crank

New member
SoftSerial поддерживает только невысокие скорости до 57600. Или переделывайте на Mega с двумя hardware serial или понижайте скорость на SoftSerial


в UNO тоже стоит стабилизатор питания (в неоригинальных Arduino могут стоять разные) - его тока может не хватить (особенно если на ардуино навешено еще много чего)

Парсить ответ AT команд, работать со строками в Arduino неблагодарное занятие. На ESP8266 ответы могут отличаться в разных версиях прошивок
Я тоже подумал на скорость порта, но пока не нашел актуальных AT команд для своей прошивки чтобы изменения записывались во флеш память.
Добавлю резисторный делитель на RX, посмотрим что получиться. Теперь хотя бы ясно в каком направлении действовать.
 

Crank

New member
Все советы помогли. Снижение частоты подключения esp до 9600 бод помогло полностью избавиться от ошибок. В рабочей версии на всякий случай согласую логические уровни на RX. Теперь буду разбираться как управлять всей этой красотой через Blynk. Тему можно закрывать.
 
Сверху Снизу