Программирование OTA (по воздуху) - это функция любого микроконтроллера с поддержкой WiFi, такого как ESP32 и ESP8266, которая позволяет этим устройствам обновлять прошивку или программное обеспечение по беспроводной сети без какого-либо физического доступа. Эту функцию можно использовать для перепрограммирования устройств, закрепленных на крыше или в любом другом месте, где сложно подключить кабель. Используя OTA, вы можете отправить обновление на несколько микроконтроллеров или устройств, находящихся в одной сети. Например, эту функцию можно использовать для отправки обновлений для устранения ошибок, добавления некоторых функций и т. Д. Для нескольких микроконтроллеров, мобильных телефонов, компьютеров, телевизионных приставок и т. Д. Обновления OTA также играют важную роль в IoT. Он используется для удаленного обновления подключенных к Интернету устройств с новыми настройками, программным обеспечением и прошивкой.
Ранее мы научились программировать ESP8266 NodeMCU с помощью OTA. В этом руководстве мы собираемся использовать беспроводное (OTA) программирование с ESP32 с помощью OTA Web Updater в Arduino IDE.
Необходимые компоненты
- ESP32
- IDE Arduino
Как работает OTA-программирование?
Чтобы использовать функцию программирования по воздуху (OTA), сначала необходимо загрузить скетч через последовательный порт. Этот эскиз содержит HTML-код для создания OTA Web Updater, чтобы вы могли загрузить код позже с помощью браузера. Когда код загружается через последовательный порт, он создает веб-сервер, на котором вы можете выбрать и загрузить новый эскиз через веб-браузер.
Чтобы загрузить первый код, подключите ESP32 к ноутбуку и откройте Arduino IDE, выберите тип платы как ESP32 Dev Kit и выберите правильный последовательный порт.
Затем перейдите в Файл> Примеры> ArduinoOTA> OTAWebUpdater.
Измените имя и пароль Wi-Fi в исходном коде.
const char * ssid = "Ваше имя WiFi"; const char * password = "Пароль";
Загрузите код на свою плату ESP32. После успешной загрузки кода откройте монитор последовательного порта. Измените скорость передачи 115200 на последовательном мониторе и нажмите кнопку сброса на ESP32, и он должен распечатать IP-адрес ESP32.
Теперь откройте браузер по умолчанию и вставьте IP-адрес ESP32. Он должен открыть веб-сервер для программирования по воздуху, как показано на рисунке ниже:
Имя пользователя и пароль по умолчанию - admin.
Затем введите имя пользователя и пароль и нажмите на страницу входа, откроется новая вкладка. Здесь вы можете загрузить код.
Здесь мы собираемся загрузить простой код мигания светодиода. Каждый код, который вы загружаете по воздуху, должен содержать код OTA. Так что добавьте часть мигания в исходный код OTA. Полный код приведен в конце страницы.
недействительный цикл (недействительность) {server.handleClient (); задержка (1); digitalWrite (светодиод, ВЫСОКИЙ); задержка (600); digitalWrite (светодиод, LOW); задержка (600); }
Сохраните свой код под новым именем, а затем перейдите в S ketch> Export compiled Binary . Это создаст новый BIN- файл в папке с эскизом.
Теперь перейдите на веб-страницу OTA, затем нажмите кнопку « Выбрать файл» и выберите файл .bin . После этого нажмите кнопку «Обновить» , чтобы загрузить эскиз.
Вот как можно программировать ESP32 с помощью OTA без использования последовательной связи.