Arduino & IoT Academy · Урок

Включение ArduinoOTA

Добавьте поддержку OTA и загружайте обновления через WiFi.

Урок 2 из 413 шагов

«Включение ArduinoOTA» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.

Знакомство с ArduinoOTA

Самый простой способ обновлять устройство по WiFi — использовать библиотеку ArduinoOTA. Она делает плату сетевым портом, который отображается в Arduino IDE.

Подключение библиотеки

OTA работает поверх WiFi, поэтому в начале скетча нужно подключить оба заголовочных файла до запуска любого другого кода.

#include <WiFi.h>
#include <ArduinoOTA.h>

Сначала подключитесь

OTA работает только при наличии подключения к сети. В setup сначала подключитесь к WiFi с помощью имени сети и пароля, а затем запустите OTA.

WiFi.begin("MyNetwork", "secret123");
while (WiFi.status() != WL_CONNECTED) { delay(500); }

Запуск службы

Одного вызова достаточно, чтобы запустить обновление. ArduinoOTA.begin() регистрирует плату в сети, чтобы среда разработки могла её найти.

ArduinoOTA.begin();

Задайте имя

Задайте понятное имя узла, чтобы устройство было легко найти в списке портов IDE, особенно если в одной сети находится несколько плат.

ArduinoOTA.setHostname("living-room-sensor");

Защитите устройство паролем

Всегда задавайте пароль OTA, чтобы посторонний человек в Вашей сети WiFi не мог загрузить собственный код на оборудование.

ArduinoOTA.setPassword("flashMe!");

Обрабатывайте OTA в loop

Обновление не происходит автоматически. Вы должны вызывать ArduinoOTA.handle() при каждом проходе loop, чтобы служба могла принять входящую загрузку.

void loop() {
  ArduinoOTA.handle();
}

Не блокируйте loop

Длительная задержка не даёт handle() работать, и загрузка завершается ошибкой. Делайте loop быстрым, чтобы OTA всегда могла ответить.

Следите за ходом обновления

Вы можете подключить обратные вызовы, например onProgress, чтобы выводить объём новой прошивки, полученный во время загрузки.

ArduinoOTA.onProgress([](unsigned int p, unsigned int t) {
  Serial.printf("%u%%\n", (p * 100) / t);
});

Найдите сетевой порт

После первой загрузки через USB откройте меню портов IDE. Ваша именованная плата появится в разделе сетевых портов, готовая к беспроводной прошивке. 📶

Загрузите прошивку по беспроводной сети

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

Быстрая проверка

Для работы OTA один метод должен выполняться постоянно.

Итоги

Подключите ArduinoOTA, установите соединение с WiFi, вызовите begin() с именем узла и паролем, а затем запускайте handle() в каждом проходе loop, чтобы прошивать плату по беспроводной сети. ✅

Можно начать бесплатно

Изучай C++ с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Включение ArduinoOTA» бесплатный?

Да — полный текст урока «Включение ArduinoOTA» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.

Чему я научусь в уроке «Включение ArduinoOTA»?

Добавьте поддержку OTA и загружайте обновления через WiFi. Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?

Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Включение ArduinoOTA»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?

Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Зачем нужна OTA в полевых условиях
  2. Включение ArduinoOTA
  3. Размещение веб-страницы обновления
  4. Откат неудачного обновления
← Назад к Arduino & IoT Academy