«Обновление по воздуху» OTA (Over the Air) представляет собой процесс загрузки нового встроенного программного обеспечения в модуль с микроконтроллером ESP8266 посредством интерфейса Wi-Fi, вместо последовательного проводного соединения.
Эта функция чрезвычайно полезна когда нет физического доступа к модулю ESP.
Загрузка новых примеров по беспроводной связи из среды разработки Arduino IDE необходима для следующих случаев:
- в ходе разработки встроенного ПО — как более быстрая альтернатива загрузке нового кода по проводному последовательному интерфейсу;
- для обновления встроенного ПО для нескольких модулей ESP, находящихся в вашей сети.
15 комментариев. Оставить новый
Обязательно наличие интернета для прошивки ?
Не нужен интернет. Локальная сеть
esp8266 v2.0 немного отличается компоновка (фото https://i.ibb.co/LgRv86y/ff.jpg), отказывается прошиваться по воздуху, ни через OTA Arduino IDE ни через web.
В терминале:
Update: sketch.ino.nodemcu.bin
sleep disable
Update Success: 374944
Rebooting…
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 3656, room 16
tail 8
chksum 0x0c
csum 0x0c
v9c56ed1f
@cp:0
ld
e:
ets Jan 8 2013,rst cause:3, boot mode:(3,6)
ets_main.c
Может кто-то сталкивался?
Дело было в версии управляющей платформы в менеджере плат, переход на версию 2.5.1 решил проблему.
Дорогой мой друг! Ты самый настоящий ГЕНИЙ! Большое спасибо за решение проблемы. Долго искал причину, и на сервак грешил и на код, больше всего не давала покоя ситуация, что раньше работало а теперь нет, и ты решил мою проблему!
Большое спасибо!!!!!
Ну и где же урок? В этой заметке рассказывается лишь о том, как прошить в микроконтроллер конкретный, специально адаптированный для OTA, скетч для мигания светодиода. Понимаю, что вместо него можно прошить и любой другой скетч, но после этого микроконтроллер перестанет воспринимать ОТА-обновления.
На самом деле нужно было рассказать о том, как адаптировать произвольный скетч для “восприятия” ОТА-обновлений – какие строчки добавлять в декларации, какие прописывать в “setup” и “loop”. Тогда бы от этой инструкции был толк.
Забавно, но всегда найдётся вонючка, которому все не так. Нахаляву написали инструкцию, а вы ещё не довольны, что не с перламутровыми пуговицами. Надо иногда подключать мозг и кодить, не все в этом мире дается бесплатно. А за материал спасибо, наконец разобрался, как шить esp8266 по OTA
Ну правильно написал. А то не урок а фигня получилась, которую не знаешь как применить.
Согласен с Игорем и Дмитрием. Автор сказал “А”, насчёт “Б” сами догадаетесь. Статья как будто оборвана на полуслове.
После этой статьи я протестировал https://github.com/JoaDick/BasicOTA/ и на его основе переписал библиотеку под свои нужды, убрав всё лишнее.
Спасибо автору за статью!
Недовольные: вам дали еду, дали ложку, но не разжевали за вас и не покормили – и вы недовольны, лол.
Чтобы OTA заработало:
1) Подключаем библиотеку
#include
2) В setup прописываем
ArduinoOTA.begin();
2.5) Если хотим меняем параметры до вызова ArduinoOTA.begin();
ArduinoOTA.setHostname(“Имя”);
//ArduinoOTA.setPort(порт);
ArduinoOTA.setPassword((const char *)”пароль”);
ArduinoOTA.begin();
3) В loop прописываем
ArduinoOTA.handle();
4) Подключение к wifi организовываем как больше нравится, но до вызова. ArduinoOTA.begin().
СпасиБо !
Вы сильно помогли.
Уже переживал за гнздо телефона.
Это гениальное для меня открытие
Рады, что все получилось!
Подскажите, а порт с IP адресом должен появляться на любом ПК с Arduino IDE? Просто на ПК, с которого я прошивал, он есть, а с ноутбука в той же сети, нет.
Более подробно для какого скетча нам надо обновление.На примере скетча.