ESP8266 ESP-07 не отвечает на команды
Я только что купил последовательный Wi-Fi-трансивер ESP8266 ESP-07 V1.0. Аналогично этому: https ://www.ebay.com/itm/ESP8266-Serial-Wifi-Transceiver-Module-for-Arduino-ESP-07-V1-0-New-/331868488091
Я подключил контакты RX и TX к контактам RX и TX Arduino (RX к TX и TX к RX), VCC подключен к 3,3 В, а GND подключен к земле Arduino. Я использовал следующий код и написал команды для модуля с помощью последовательного монитора:
#include <SoftwareSerial.h>
int RX_PIN = 3;
int TX_PIN = 4;
SoftwareSerial mySerial(RX_PIN, TX_PIN); // прием, передача
void setup()
{
Serial.begin(115200);
mySerial.begin(115200);
while (!Serial){
;
}
while (!mySerial){
;
}
Serial.println("Ready");
}
void loop()
{
// прослушиваем сообщения от ESP8266 и затем записываем их в последовательный монитор
if ( mySerial.available() ) { Serial.write( mySerial.read() ); }
// прослушивание пользовательского ввода и отправка его на ESP8266
if ( Serial.available() ) { mySerial.write( Serial.read() ); }
}
Что бы я ни набирал (например, AT+GMR) в последовательном мониторе на скорости 9600 бод, я не получал никакого ответа. Что может быть причиной? В команду добавляются как NL, так и CR.
При нажатии сброса на ESP-модуле я получаю это в последовательном мониторинге:
Спасибо за любую помощь!
@Araw, 👍0
Обсуждение1 ответ
Лучший ответ:
У esp8266 нет прошивки AT. Даже с SoftwareSerial на скорости 115200 бод вы должны увидеть «готово» от прошивки AT и получить ответ на AT-команды.
Прошивка этого адаптера модуля esp8266 проста. Он выполняет преобразование 5 В в 3,3 В для питания и контакта RX и имеет программный переключатель (io 0) и кнопку сброса для перевода esp8266 в режим мигания.
Используйте адаптер USB-to-TTL-Serial или Arduino с USB-чипом для подключения адаптера к ПК. Затем переключитесь на «программу» и перезагрузите ее, и она перейдет в режим мигания.
Вы можете скачать прошивку AT здесь. Я рекомендую ESP8266 NonOS AT Bin V1.7.1. Не пытайтесь использовать версию 2.0, она сильно отличается (сборка прошивки ESP32 AT для esp8266).
Чтобы прошить его, используйте esptool
Команда для прошивки двоичных файлов прошивки AT на любой модуль с флэш-памятью не менее 1 МБ:
esptool.py write_flash --flash_size 2MB-c1 0x0 boot_v1.7.bin 0x01000 at/1024+1024/user1.2048.new.5.bin 0x1fb000 blank.bin 0x1fc000 esp_init_data_default_v08.bin 0xfe000 blank.bin 0x1fe000 blank.bin
не беспокойтесь о настройке 2MB-c1 и не меняйте ее. Двоичные файлы AT созданы для разбиения на разделы 2MB-c1. На флэш-памяти объемом 1 МБ не поддерживается обновление встроенного программного обеспечения AT по OTA.
Если вы хотите использовать загрузку Espressif Flash Инструмент, используйте те же настройки, что и в командной строке esptool.
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
- ошибка: espcomm_upload_mem failed при загрузке скетча
- фатальная ошибка ESP8266WiFi.h: Такого файла или каталога нет
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Захват изображений с OV7670 (без FIFO) с использованием Arduino Uno?
контакт 1 - это TX аппаратного серийного номера. и esp8266 должен быть на контактах SoftwareSerial RX/TX, а не на контактах с маркировкой RX/TX, @Juraj
@Juraj Спасибо за ваш ответ. Сейчас я обновил код. Но все равно не повезло :-/, @Araw
а проводка?, @Juraj
@Juraj Arduino RX (контакт 3) => ESP TX, Arduino TX (контакт 4) => ESP RX, Arduino 3.3V => ESP VCC, Arduino GND => ESP GND, @Araw
вы изменили скорость передачи данных. по умолчанию прошивка AT - 115200 бод, но SoftwareSerial не может надежно принимать на скорости 115200, @Juraj
@Juraj Можно ли это как-то исправить?, @Araw
вывод после сброса - это загрузочный журнал с разной скоростью передачи данных. Вы пытались отправить AT после «Готово»?, @Juraj
@Juraj Да, если я это сделаю, я не получу никакого ответа. Но, читая, я вижу, что мне может понадобиться установить резистор между TX от Arduino (вывод 4) и выводом ESP8266 RX, поскольку он работает при 3 В, а не 5 В? Что означает, что вывод RX ESP8266 может быть сломан? Если я правильно рассчитал, резистора на 100 Ом должно хватить., @Araw
у esp8266 нет проблем с 5V Serial, @Juraj
установите скорость передачи данных на 74800, чтобы увидеть журнал загрузки, @Juraj
@Juraj Sweet, это дало мне «ets 8 января 2013 года, первая причина: 2, режим загрузки: (3,6)». На 74880 работает только лог загрузки?, @Araw
да только лог загрузки. возможно ли, что esp8266 без прошивки АТ? даже с SoftwareSerial на 115200 вы должны увидеть «готово» от прошивки AT и получить некоторый ответ на команды AT, @Juraj
@Juraj Я спросил продавца о прошивке, так как информация об этом ничего не говорит. Насколько я понимаю, у меня нет возможности установить/обновить прошивку с помощью Arduino Uno., @Araw
почему нет? это просто. https://forum.arduino.cc/index.php?topic=634684.0, @Juraj
@Juraj Это совершенно новое для меня. Но я попробовал это сейчас. Скачал NodeMCU и подключил его. Но получите следующее при нажатии на "вспышку"Примечание:Последовательный порт подключен. Примечание. Начните поиск ESP8266. Примечание: ESP8266 ACK успешно. Ошибка: тайм-аут чтения регистра ESP8266., @Araw
NodeMcu? в этой ссылке нет ничего о nodemcu. вы поставили переключатель в режим мигания и перезагрузили?, @Juraj
@Juraj Теперь все работает. Но немного не уверен, какие файлы мне действительно нужно загрузить/обновить. Я использовал esp_init_data_default_v05.bin и Blank.bin, @Araw
Для тех, кто все еще в замешательстве (как и я), код должен по-прежнему говорить «Serial.begin (115200)», но монитор журнала Arduino должен быть установлен на 74880 бод., @ierdna
@Juraj Теперь все работает благодаря ссылке на форум. Так что я приму это как ответ, если вы его сделаете :), @Araw
с прошивкой AT 1.7 вы можете использовать мою библиотеку WiFiEspAT в UNO. библиотека находится в менеджере библиотек, @Juraj