• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8266 ESP-07 не входит в режим программирования.

Shutofsky

New member
Доброго вечера.

Есть ESP-07, заказанный с DX.
Пины RST, GPIO0, GPIO2 подтянуты к плюсу питания через 10 кОм.
GPIO15 через такой же резистор подтянут на землю.
Сделаны перемычки между EN и плюсом питания, и между GPIO0 и землёй.
Есть вот такой конвертер, от которого и питается чип: PL2303HX USB to RS232 TTL Converter Adapter Module
Разумеется, RX-TX конвертера и чипа скрещены.
Имеем следующую ситуацию. Если EN подключен на плюс, GPIO0 не подключен на землю.
Чип стартует, отвечает на AT-команды через монитор порта Ардуино IDE или PuTTY. Появляется точка доступа.
Отключаю питание, подключаю GPIO0 на землю., включаю питание.
Чип ничего не отвечает, хотя судя по индикации на конвертере в него что-то прилетает. На скорости 74800, равно как и на любой другой, на экране терминала ничего не видно.
Открываю XTCOM_UTIL, ставлю порт, открывается успешно. Ставлю "Проверка" - чип активно моргает синим светодиодом на фоне горящего красного светодиода питания, счётчик попыток растёт.
Меняю скорости - но ничего, кроме изменения скорости моргания синего светодиода не получаю.

Подскажите, мне менять конвертер, править руки, или мозги? За три дня сломал всю голову, перепробовал два чипа как в вышеописанном варианте, так и в прмомм подключении без обвеса.

Заранее благодарен. Владимир.
 

nikolz

Well-known member
Доброго вечера.

Есть ESP-07, заказанный с DX.
Пины RST, GPIO0, GPIO2 подтянуты к плюсу питания через 10 кОм.
GPIO15 через такой же резистор подтянут на землю.
Сделаны перемычки между EN и плюсом питания, и между GPIO0 и землёй.
Есть вот такой конвертер, от которого и питается чип: PL2303HX USB to RS232 TTL Converter Adapter Module
Разумеется, RX-TX конвертера и чипа скрещены.
Имеем следующую ситуацию. Если EN подключен на плюс, GPIO0 не подключен на землю.
Чип стартует, отвечает на AT-команды через монитор порта Ардуино IDE или PuTTY. Появляется точка доступа.
Отключаю питание, подключаю GPIO0 на землю., включаю питание.
Чип ничего не отвечает, хотя судя по индикации на конвертере в него что-то прилетает. На скорости 74800, равно как и на любой другой, на экране терминала ничего не видно.
Открываю XTCOM_UTIL, ставлю порт, открывается успешно. Ставлю "Проверка" - чип активно моргает синим светодиодом на фоне горящего красного светодиода питания, счётчик попыток растёт.
Меняю скорости - но ничего, кроме изменения скорости моргания синего светодиода не получаю.

Подскажите, мне менять конвертер, править руки, или мозги? За три дня сломал всю голову, перепробовал два чипа как в вышеописанном варианте, так и в прмомм подключении без обвеса.

Заранее благодарен. Владимир.
прочитайте это:
Flashing the firmware - NodeMCU Documentation
Суть в том что припереходе на новые SDK надо записать файл
Also, in some special circumstances, you may need to flash blank.bin or esp_init_data_default.bin to various addresses on the flash (depending on flash size and type).
 

Shutofsky

New member
Спасибо, прочитал. Дело в том, что до прописывания чего-либо не доходит - модуль не подтверждает готовность к прошивке. Я посмотрел видео от уважаемого ShouseD -
- там при переходе в режим программирования модуль обозначает свою готовность вполне конкретным сообщением на порт.

Кстати, раз уж речь зашла о NodeMCU, чтобы не плодить лишних топиков, хотелось бы выслушать совет.

Итак, у меня есть базовое образование и приличный опыт программирования на разных языках и средах, в основном си-подобные языки (C без плюсов, так сложилось, Perl, Tcl/Tk, Pyton, всяческие скриптовые).
С контроллерами занимаюсь года три, в аппаратной части руки заточены не очень, в программной - более менее. Посему любимые платформы - Raspbererry Pi (Raspbian+Pyton), Arduino. Хотя доводилось и перепрошивать под свои нужды " с нуля" готовые изделия на чистом AVR.

Недавно вот в рамках одного проекта посоветовали посмотреть в сторону ESP8266. Первоначально рассматривал его как довесок к Arduino, познакомившись поближе понял, что для тех задач, что планируется на нём реализовать - его самого хватит в чистом виде. Соответственно планирую использовать протокол MQTT, с его "взрослым" собратом MQSeries знаком по роду работы.

Суть вопроса в следующем. Сейчас я могу:
1. Брать имеющуюся библиотеку MQTT для ESP8266 и писать на С в Arduino IDE. Не вижу с этим проблем, благо в проекте Arduino тоже используется.
2. Поставить кастомную NodeMCU с встроенной поддержкой MQTT - и писать всё в режиме lua. Пока отпугивает от такого решения необходимость предварительной сборки spiffs, прямое вливание программы в режиме программирования кажется проще. Плюс читал, что сол встроенной поддержкой MQTT
3. Всё писать под Arduino, с ESP общаться по сериал посредством АТ команд.

Задачи, которые планируется решать с помощью MQTT:
1. Управление RGB-лентой.
2. Многоканальный выключатель (несколько силовых выходов на 12 вольт, дальше обвес определяет функционал).
3. Удалённая "кнопка".

Разумеется это не в одной прошивке, а в трех разных.

прочитайте это:
Flashing the firmware - NodeMCU Documentation
Суть в том что припереходе на новые SDK надо записать файл
Also, in some special circumstances, you may need to flash blank.bin or esp_init_data_default.bin to various addresses on the flash (depending on flash size and type).
 

nikolz

Well-known member
Спасибо, прочитал. Дело в том, что до прописывания чего-либо не доходит - модуль не подтверждает готовность к прошивке. Я посмотрел видео от уважаемого ShouseD -
- там при переходе в режим программирования модуль обозначает свою готовность вполне конкретным сообщением на порт.

Кстати, раз уж речь зашла о NodeMCU, чтобы не плодить лишних топиков, хотелось бы выслушать совет.

Итак, у меня есть базовое образование и приличный опыт программирования на разных языках и средах, в основном си-подобные языки (C без плюсов, так сложилось, Perl, Tcl/Tk, Pyton, всяческие скриптовые).
С контроллерами занимаюсь года три, в аппаратной части руки заточены не очень, в программной - более менее. Посему любимые платформы - Raspbererry Pi (Raspbian+Pyton), Arduino. Хотя доводилось и перепрошивать под свои нужды " с нуля" готовые изделия на чистом AVR.

Недавно вот в рамках одного проекта посоветовали посмотреть в сторону ESP8266. Первоначально рассматривал его как довесок к Arduino, познакомившись поближе понял, что для тех задач, что планируется на нём реализовать - его самого хватит в чистом виде. Соответственно планирую использовать протокол MQTT, с его "взрослым" собратом MQSeries знаком по роду работы.

Суть вопроса в следующем. Сейчас я могу:
1. Брать имеющуюся библиотеку MQTT для ESP8266 и писать на С в Arduino IDE. Не вижу с этим проблем, благо в проекте Arduino тоже используется.
2. Поставить кастомную NodeMCU с встроенной поддержкой MQTT - и писать всё в режиме lua. Пока отпугивает от такого решения необходимость предварительной сборки spiffs, прямое вливание программы в режиме программирования кажется проще. Плюс читал, что сол встроенной поддержкой MQTT
3. Всё писать под Arduino, с ESP общаться по сериал посредством АТ команд.

Задачи, которые планируется решать с помощью MQTT:
1. Управление RGB-лентой.
2. Многоканальный выключатель (несколько силовых выходов на 12 вольт, дальше обвес определяет функционал).
3. Удалённая "кнопка".

Разумеется это не в одной прошивке, а в трех разных.
-------------------------------
Так как у Вас хороший опыт, то я бы предложил писать на С или С++ и использовать UDK.
Ardulino это нечто а-ля C++, хотя библиотек и много, но некоторые драйверы сделаны не очень.
Кроме того, использование C и UDK позволяет прямо использовать SDK и достичь максимального быстродействия и компактности кода.
--------------------------
 

nikolz

Well-known member
LUA удобно использовать, если надо быстро отладить алгоритм и не требуется максимального быстродействия ESP.
 

Shutofsky

New member
Господа, если кому интересно - дело оказалось в конвертере на PL2303. Проверено два разных конвертера, оба не работают на скорости 74880, принимают на ней мусор.
Конвертер на FTDI заработал сразу и прекрасно. Если нужно - стоит внести это в FAQ.
 

Atom

Member
На сколько мне не изменячет память, по умолчанию у модуля "без никто" установлена скорость 9600. Подключите любой терминал, переключайте в терминале скорости и нажимайте ресет. На какой увидите человечий текст - с той и работать.

Я мучил модуль с Ардуино ИДЕ. Естетвенно первую заливку проводил на этой гребаной скорости (идет около пяти минут). Причем у меня кнопки ресет и флэшь, в процессе флэшь нужно было держать залитым. После заливки первого скетча скорост установилась на 115200.
 

Shutofsky

New member
Да не, по умолчанию он 115200 - отвечал и на запросы команд нормально. А вот подтверждение режима программирования и начальная диагностика шла на 74880, чего мои конвертеры не понимали, и отдавали компьютеру мусор. Со сменой конвертеров все заработало.

На сколько мне не изменячет память, по умолчанию у модуля "без никто" установлена скорость 9600. Подключите любой терминал, переключайте в терминале скорости и нажимайте ресет. На какой увидите человечий текст - с той и работать.

Я мучил модуль с Ардуино ИДЕ. Естетвенно первую заливку проводил на этой гребаной скорости (идет около пяти минут). Причем у меня кнопки ресет и флэшь, в процессе флэшь нужно было держать залитым. После заливки первого скетча скорост установилась на 115200.
 

andrey2112

New member
День добрый,
ESP8266 (SONOFF) перестала прошиваться.
Загруженный скетч - работает к WI-FI подключается

При попытке прошивки в ARDUINO IDE выдает ошибку:
esptool v0.4.9 - (c) 2014 Ch. Klippel ck@atelier-klippel.de
setting board to ck
setting baudrate from 115200 to 115200
setting port from COM1 to COM3
setting address from 0x00000000 to 0x00000000
espcomm_upload_file
espcomm_upload_mem
setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
read 0, requested 1
trying to connect
flush start
setting serial port timeouts to 1 ms
setting serial port timeouts to 1000 ms
flush complete
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
read 0, requested 1
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

GPIO O - к земле подтянут, раньше все хорошо прошивалось.
Пробовал два кабеля, этими же кабелями прошиваю NodeMCU или другой SONOFF
 
Сверху Снизу