Руководство по устранению неполадок ESP8266
У ESP8266 есть несколько распространённых проблем, особенно когда вы пытаетесь прошить новую прошивку или загрузить скрипты. Вот подборка наиболее частых проблем с ESP8266 и способы их решения.
Это сопроводительное руководство к электронной книге Home Automation using 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:
Установка USB-драйверов — CP210x USB to UART Bridge (Windows PC)
Установка USB-драйверов — CP210x USB to UART Bridge (Mac OS X)
Если вы столкнулись с какими-либо проблемами или неполадками с 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.
Вот мои текущие настройки:
После нажатия кнопки «Flash» ничего не происходит, NodeMCU flasher не начинает процесс прошивки
Если вы нажали кнопку «Flash» и ничего не происходит… Это означает одну из двух вещей:
Проблема 1 — Ваш ESP не находится в режиме прошивки (убедитесь, что GPIO 0 подключён к GND при подаче питания)
Проблема 2 — Ваш FTDI-программатор не может обеспечить достаточный ток для ESP
Проблема 1 — Как перевести ESP в режим прошивки:
Закройте окно NodeMCU flasher
Отключите питание ESP8266
Подключите ESP, как показано на этой схеме (убедитесь, что GPIO 0 подключён к GND)
Подайте питание на ESP8266 и откройте NodeMCU flasher
Нажмите кнопку «Flash»
Если по-прежнему отображается «Waiting MAC», попробуйте следующее:
Оставьте NodeMCU flasher открытым
Подключите провод от вывода reset ESP8266 к GND
Отсоедините этот провод от GND и подключите к VCC
Повторите шаги 2 и 3 несколько раз, пока ESP не перезагрузится и, надеемся, NodeMCU flasher сможет обнаружить ваш ESP и начать процесс прошивки.
Проблема 2 — Если ваш FTDI не может обеспечить достаточный ток, вам может потребоваться купить новый FTDI-программатор или запитать ESP8266 от внешнего источника питания.
NodeMCU flasher зависает на определённом проценте
Отключите питание ESP+FTDI
Закройте окно NodeMCU flasher
Снова подключите ESP+FTDI к компьютеру
Откройте NodeMCU flasher и попробуйте скорость 19200 бод
Если этот процесс не сработает, повторите ту же процедуру для следующих скоростей (38400, 57600, 74880 и 115200).
Не знаю почему, но как минимум 5 человек столкнулись с той же проблемой, и этот трюк её решил. Так что на скорости 57600 или 115200, думаю, прошивка пройдёт на 100%. У меня нет логического объяснения, так как это не очень распространённая ситуация.
Как должен выглядеть 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:
file.format()node.restart()
Загрузите скрипт снова и назовите его init.lua — и вы больше не должны увидеть эту ошибку.
ESPlorer IDE: ошибка «can’t autodetect firmware»
и
ESPlorer IDE: ошибка «Waiting answer from ESP – Timeout reached. Command aborted.»
Похоже, ваш ESP всё ещё находится в режиме прошивки. Как перевести ESP в пользовательский режим:
Закройте соединение ESPlorer IDE
Отключите питание ESP8266
Подключите ESP с GPIO 0, подключённым к VCC
Подайте питание на ESP8266 и восстановите соединение с ESPlorer IDE
Если по-прежнему отображается «can’t autodetect firmware», попробуйте следующее:
Оставьте соединение ESPlorer IDE открытым, где выводятся «…..»
Подключите провод от вывода reset ESP8266 к GND
Отсоедините этот провод от GND и подключите к VCC
Повторите шаги 2 и 3 несколько раз, пока ESP не перезагрузится и, надеемся, ESPlorer IDE сможет обнаружить ваш ESP.
Код исчезает при перезагрузке ESP8266
Если вы загружаете скрипт на ESP и при перезагрузке он ничего не делает, это означает, что ESP не смог найти скрипт или произошла проблема с памятью.
Это можно решить следующим образом:
Вы не сохранили скрипт с точным именем
init.lua. Повторная загрузка того же скрипта с именемinit.luaдолжна решить вашу проблемуЭто может быть проблема с памятью. Повторная прошивка ESP с помощью NodeMCU flasher обычно решает эту проблему
Определение IP-адреса ESP8266
Прежде чем начать, убедитесь, что вы проверили эти два пункта:
Убедитесь, что в скрипте, загруженном на ESP, указаны правильные учётные данные сети
Убедитесь, что ESP находится рядом с вашим маршрутизатором
Вот что вы можете сделать, чтобы найти IP-адрес:
Решение 1 — Отправка команды через ESPlorer IDE
Отправьте команду
print(wifi.sta.getip())через ESPlorer IDE, и она должна вывести ваш IP-адрес
Решение 2 — Установка программы для сканирования IP
Программа для сканирования IP ищет все устройства в вашей сети
Скачайте эту бесплатную программу:
Windows PC: www.advanced-ip-scanner.com
MAC OS X, Windows или Linux: http://angryip.org
Установите одну из этих программ (при этом ESP должен быть запущен со скриптом веб-сервера)
Откройте программу сканирования IP и нажмите «Scan»
Дождитесь завершения процесса (это может занять пару минут)
В моём случае программа нашла мой ESP. Теперь, если я введу 192.168.1.95 в браузере, я могу увидеть веб-сервер ESP.