ESP требуется перезагрузка после прошивки Wi-Fi OTA
Я хотел бы использовать OTA в некоторых из моих менее доступных esp. Я использую примеры/BasicOTA и BasicOTA_test. Мой esp - модель -01 с 1 Мб флэш-памяти.
Я загружаю BasicOTA в свой esp через COM-порт, затем загружаю BasicOTA_test через Wi-Fi. Кажется, все идет нормально, но тестовый скетч не запускается, пока я не нажму кнопку сброса на esp.
Если я загружаю BasicOTA через COM-порт, а затем загружаю простой скетч с миганием через Wi-Fi без кода OTA, он загружается нормально, а затем запускается без перезагрузки. Но потом я больше не могу загружать файлы через Wi-Fi.
Если мне приходится нажимать кнопку сброса каждый раз, когда я загружаю новый скетч, содержащий OTA-код, то зачем?
Советы будут признательны.
@Stephen Mann, 👍1
Обсуждение2 ответа
Я провел небольшое исследование и обнаружил, что это распространенная проблема при использовании OTA для обновления ESP8266. Фактически, об этой ошибке было сообщено на их GitHub, и она связана со сбросом сторожевого таймера после прошивки ESP8266. через ОТА.
Похоже, что проблему можно решить путем ручного сброса (один раз) после загрузки через последовательный порт ДО того, как вы сможете загрузить его через OTA. После этого у вас не должно возникнуть никаких проблем.
Это другая проблема: вам нужно выполнить сброс перед загрузкой через OTA. Другой вариант — OTA не запускает новый эскиз до ручного сброса, как описано выше. Вы решили оба?, @AndrewT
Вы можете добавить ESP.restart()
в следующую строку, чтобы перезапустить его.
ArduinoOTA.onEnd([]() {
Serial.println("\nEnd");
ESP.restart();
});
Теперь вы можете загружать код каждый раз, не нажимая кнопку сброса.
библиотека ArduinoOTA выполняет сброс. но кто знает теперь, в каком состоянии была библиотека 9/2017, @Juraj
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Зачем беспокоиться? по-прежнему НАМНОГО проще выключить и включить питание установленного устройства, чем подключить UART к встроенному устройству... кстати, в любом случае это происходит не каждый раз; Я подозреваю, что чаще всего это происходит при первом ОТА., @dandavis