Руководство по устранению неполадок ESP8266

У ESP8266 есть несколько распространённых проблем, особенно когда вы пытаетесь прошить новую прошивку или загрузить скрипты. Вот подборка наиболее частых проблем с ESP8266 и способы их решения.

Это сопроводительное руководство к электронной книге Home Automation using ESP8266.

Руководство по устранению неполадок ESP8266

Устранение неполадок ESP8266 — Arduino IDE

1) Следуйте этой процедуре, если вы не можете загрузить скетчи на ваш ESP-01, используя Arduino IDE.

Как перевести ESP8266 в режим загрузки при использовании Arduino IDE:

  • Отключите питание ESP8266

  • Подключите ESP, как показано на этой схеме (убедитесь, что GPIO 0 подключён к GND)

  • Подайте питание на ESP8266 и откройте Arduino IDE

  • Нажмите кнопку «Upload» (Загрузить)

2) Если вы пытаетесь загрузить новый скетч на ESP32 и получаете сообщение об ошибке «A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…», это означает, что ваш ESP32 не находится в режиме прошивки/загрузки.

Убедившись, что выбрано правильное имя платы и COM-порт, выполните следующие шаги:

  • Удерживайте кнопку BOOT на вашей плате ESP32

  • Нажмите кнопку Upload в Arduino IDE, чтобы загрузить скетч

  • После появления сообщения «Connecting….» в Arduino IDE отпустите кнопку BOOT

  • После этого вы должны увидеть сообщение «Done uploading»

Вам также придётся повторять эту последовательность действий с кнопкой каждый раз, когда вы хотите загрузить новый скетч. Но если вы хотите решить эту проблему раз и навсегда без необходимости нажимать кнопку BOOT, следуйте рекомендациям в следующем руководстве:

3) Если вы получаете ошибку «COM Port not found/not available» (COM-порт не найден/недоступен), вам может потребоваться установить драйверы CP210x:

Если вы столкнулись с какими-либо проблемами или неполадками с ESP32, ознакомьтесь с нашим подробным :doc:`руководством по устранению неполадок ESP32 </esp32/rnt/esp32-troubleshooting-guide/index>`_.

Устранение неполадок ESP8266 — NodeMCU Flasher

Где скачать NodeMCU flasher?

Перейдите в репозиторий NodeMCU flasher на GitHub и скачайте прошивальщик для вашей версии Windows, нажав кнопку «Raw»:

Какие настройки использовать с NodeMCU flasher?

NodeMCU flasher уже поставляется с правильными настройками по умолчанию.

Если вы изменили некоторые настройки, настоятельно рекомендую заново скачать NodeMCU flasher.

Вот мои текущие настройки:

Настройки NodeMCU flasher

После нажатия кнопки «Flash» ничего не происходит, NodeMCU flasher не начинает процесс прошивки

Если вы нажали кнопку «Flash» и ничего не происходит… Это означает одну из двух вещей:

  • Проблема 1 — Ваш ESP не находится в режиме прошивки (убедитесь, что GPIO 0 подключён к GND при подаче питания)

  • Проблема 2 — Ваш FTDI-программатор не может обеспечить достаточный ток для ESP

NodeMCU flasher — ничего не происходит

Проблема 1 — Как перевести ESP в режим прошивки:

  1. Закройте окно NodeMCU flasher

  2. Отключите питание ESP8266

  3. Подключите ESP, как показано на этой схеме (убедитесь, что GPIO 0 подключён к GND)

  4. Подайте питание на ESP8266 и откройте NodeMCU flasher

  5. Нажмите кнопку «Flash»

Если по-прежнему отображается «Waiting MAC», попробуйте следующее:

  1. Оставьте NodeMCU flasher открытым

  2. Подключите провод от вывода reset ESP8266 к GND

  3. Отсоедините этот провод от GND и подключите к VCC

Повторите шаги 2 и 3 несколько раз, пока ESP не перезагрузится и, надеемся, NodeMCU flasher сможет обнаружить ваш ESP и начать процесс прошивки.

Проблема 2 — Если ваш FTDI не может обеспечить достаточный ток, вам может потребоваться купить новый FTDI-программатор или запитать ESP8266 от внешнего источника питания.

NodeMCU flasher зависает на определённом проценте

NodeMCU flasher зависает
  1. Отключите питание ESP+FTDI

  2. Закройте окно NodeMCU flasher

  3. Снова подключите ESP+FTDI к компьютеру

  4. Откройте NodeMCU flasher и попробуйте скорость 19200 бод

Если этот процесс не сработает, повторите ту же процедуру для следующих скоростей (38400, 57600, 74880 и 115200).

Не знаю почему, но как минимум 5 человек столкнулись с той же проблемой, и этот трюк её решил. Так что на скорости 57600 или 115200, думаю, прошивка пройдёт на 100%. У меня нет логического объяснения, так как это не очень распространённая ситуация.

Как должен выглядеть NodeMCU flasher после успешной прошивки?

В нижнем левом углу должна появиться зелёная стрелка.

NodeMCU flasher — успешная прошивка

Восстановление FTDI-программатора на Windows

Если у вас новый FTDI-программатор и вам нужно установить драйверы FTDI на Windows, посетите этот веб-сайт для получения официальных драйверов: http://www.ftdichip.com/Drivers/VCP.htm.

Альтернативно, вы можете связаться с продавцом, который продал вам FTDI-программатор.

Если у вас возникли проблемы с установкой драйверов FTDI на Windows 7/8/8.1/10, очень вероятно, что FTDI заблокирован (bricked).

Следуйте этому руководству, чтобы исправить это: http://youtu.be/SPdSKT6KdF8.

В видео, о котором я упомянул ранее, автор предлагает скачать драйверы с сайта FTDI — внимательно прочитайте описание его видео на YouTube, чтобы найти все ссылки. Вот необходимые драйверы: http://www.ftdichip.com/Drivers/CDM/CDM%20v2.12.00%20WHQL%20Certified.zip

Устранение неполадок ESP8266 — ESPlorer IDE

ESPlorer IDE: ошибка «only one tcp server allowed»

Это означает, что вы попытались загрузить несколько скриптов, и ваш ESP всё ещё выполняет старый скрипт с веб-сервером. Чтобы исправить это, вам просто нужно отправить следующие команды для удаления всех файлов и перезагрузки ESP:

  1. file.format()

  2. node.restart()

Загрузите скрипт снова и назовите его init.lua — и вы больше не должны увидеть эту ошибку.

ESPlorer IDE: ошибка «can’t autodetect firmware»

и

ESPlorer IDE: ошибка «Waiting answer from ESP – Timeout reached. Command aborted.»

ESPlorer IDE — ошибка can't autodetect firmware

Похоже, ваш ESP всё ещё находится в режиме прошивки. Как перевести ESP в пользовательский режим:

  1. Закройте соединение ESPlorer IDE

  2. Отключите питание ESP8266

  3. Подключите ESP с GPIO 0, подключённым к VCC

  4. Подайте питание на ESP8266 и восстановите соединение с ESPlorer IDE

Если по-прежнему отображается «can’t autodetect firmware», попробуйте следующее:

  1. Оставьте соединение ESPlorer IDE открытым, где выводятся «…..»

  2. Подключите провод от вывода reset ESP8266 к GND

  3. Отсоедините этот провод от GND и подключите к VCC

Повторите шаги 2 и 3 несколько раз, пока ESP не перезагрузится и, надеемся, ESPlorer IDE сможет обнаружить ваш ESP.

Код исчезает при перезагрузке ESP8266

Если вы загружаете скрипт на ESP и при перезагрузке он ничего не делает, это означает, что ESP не смог найти скрипт или произошла проблема с памятью.

Это можно решить следующим образом:

  1. Вы не сохранили скрипт с точным именем init.lua. Повторная загрузка того же скрипта с именем init.lua должна решить вашу проблему

  2. Это может быть проблема с памятью. Повторная прошивка ESP с помощью NodeMCU flasher обычно решает эту проблему

Определение IP-адреса ESP8266

Прежде чем начать, убедитесь, что вы проверили эти два пункта:

  1. Убедитесь, что в скрипте, загруженном на ESP, указаны правильные учётные данные сети

  2. Убедитесь, что ESP находится рядом с вашим маршрутизатором

Вот что вы можете сделать, чтобы найти IP-адрес:

Решение 1 — Отправка команды через ESPlorer IDE

  1. Отправьте команду print(wifi.sta.getip()) через ESPlorer IDE, и она должна вывести ваш IP-адрес

IP-адрес ESP8266

Решение 2 — Установка программы для сканирования IP

  1. Программа для сканирования IP ищет все устройства в вашей сети

  2. Скачайте эту бесплатную программу:

  3. Установите одну из этих программ (при этом ESP должен быть запущен со скриптом веб-сервера)

  4. Откройте программу сканирования IP и нажмите «Scan»

  5. Дождитесь завершения процесса (это может занять пару минут)

В моём случае программа нашла мой ESP. Теперь, если я введу 192.168.1.95 в браузере, я могу увидеть веб-сервер ESP.

Advanced IP Scanner — определение IP-адреса ESP