НА КОМАНДЫ нет ответа (esp8266 f-12)

с тех пор, как я начал работать со своими модулями esp8266 F-12, я обнаружил некоторые странности в их поведении. Когда я начал программировать модуль с помощью последовательного монитора, у меня не было проблем, но когда я делаю это автоматически, например ``````

wifi.println("AT+CWMODE=3");
delay(1000);
while(wifi.available()){
    char car=wifi.read();
    String info+=car
}
Serial.println(info);

Затем модуль запускается, ничего не печатая, но иногда он делает то, что я хочу, но иногда ничего не делает, пока я не отправлю команду через последовательный порт. Есть у кого-нибудь идея? Спасибо


person 19Miquel    schedule 29.07.2020    source источник
comment
Вы подключили RX к TX?   -  person Juraj    schedule 29.07.2020
comment
@Juraj да, дело в том, что я делаю это с помощью wifi.println("the AT command"), а иногда он не отвечает. Но когда я пытаюсь использовать последовательный монитор, он всегда отвечает (другая проблема заключается в том, что иногда он дает мне ERROR, потому что передача RX TX дает неправильные символы модулю). Спасибо   -  person 19Miquel    schedule 29.07.2020
comment
Вы используете SoftwareSerial на скорости 115200 бод? он не может надежно принимать на этой скорости. использовать 9600 бод. установить его с обеих сторон   -  person Juraj    schedule 29.07.2020
comment
@Juraj, поэтому я поставил ESP8266 и Arduino на скорость 9600 бод. Нужно ли мне также менять передачу ESP8266? Какую AT-команду я должен использовать для этого?   -  person 19Miquel    schedule 30.07.2020
comment
АТ+УАПП. см. справочник по AT-командам   -  person Juraj    schedule 30.07.2020
comment
@Juraj, если я изменяю скорость передачи данных, модуль почти всегда меняет свою скорость передачи данных на 74880 бод и перестает отвечать на мои команды. Буду прошивать еще раз, но скорость передачи надо менять?   -  person 19Miquel    schedule 31.07.2020
comment
74880 - это только скорость передачи журнала запуска загрузчика. после запуска прошивки AT скорость передачи устанавливается прошивкой AT   -  person Juraj    schedule 31.07.2020
comment
@Juraj, по-видимому, работает нормально, но я проведу дополнительные тесты, чтобы проверить, решена ли проблема. Спасибо   -  person 19Miquel    schedule 31.07.2020
comment
@Juraj работает отлично. Но один вопрос, я пользуюсь режимом pasought wifi Uart, и не могу из него выйти. Я пробовал использовать wifi.print("+++");, wifi.println("+++");, wifi.write("+");wifi.write("+");wifi.write("+");, но не знаю, как выйти из этого режима. Вы знаете что-нибудь об этом?   -  person 19Miquel    schedule 31.07.2020
comment
ссылка для прозрачного режима гласит: введите прозрачную передачу с интервалом 20 мс между каждым пакетом и максимум 2048 байтов на пакет. Когда получен один пакет, содержащий +++, ESP8266 возвращается в обычный командный режим. поэтому для обнаружения +++ как псевдопакета перед ним должна быть задержка 20 мс.   -  person Juraj    schedule 07.08.2020


Ответы (1)


В документе AT-Command Set говорится, что AT-команды заканчиваются новой строкой (CR LF).

Вы пытались отправить CR LF явно? wifi.write(++++\r\n);

person Murray    schedule 01.08.2020
comment
Я только что попробовал, и он буквально отправляет на мой другой esp8266 +++, +IPD,0,5:+++ - person 19Miquel; 01.08.2020
comment
в моем коде было что-то не так, и по этой причине он не работал нормально. Теперь, после нескольких дней тестирования, он работал с использованием wifi.write("+++");. Большое спасибо - person 19Miquel; 02.08.2020