Перейти к основному содержимому

Wi-Fi

Робот обменивается данными по Wi-Fi через точку доступа

Wi-Fi нужен, когда роботу требуется веб-интерфейс, обмен с компьютером в локальной сети, журналирование, обновление настроек или поток данных больше, чем удобно передавать по Bluetooth. Но Wi-Fi добавляет сетевую настройку, задержки, питание радиочасти и вопросы безопасности.

Коротко

Wi-Fi даёт роботу IP-сеть. Его можно добавить к Arduino отдельным модулем или взять плату, где Wi-Fi встроен в контроллер, например ESP32. В обоих случаях нужно проверить питание, режим сети, задержку, восстановление соединения и безопасное поведение при обрыве.

Зачем это нужно

Через Wi-Fi удобно открыть страницу управления роботом в браузере, отправить телеметрию на ноутбук, сохранить лог испытаний или передать изображение с камеры. Но если точка доступа занята соседними устройствами, робот может получать команды рывками.

Поэтому Wi-Fi выбирают не только по скорости из рекламы. Важно измерить реальную задержку, потери пакетов и поведение при пропадании сети.

Примеры устройств

Примеры Wi-Fi устройств

УстройствоРоль в проектеИнтерфейс/особенностьЧто проверить
Arduino WiFi Shieldдобавляет Wi-Fi к Arduinoобычно SPI и библиотека Wi-Fiсовместимость платы и питание
ESP-01маленький ESP8266-модульUART, логика 3,3 Впитание с пиками тока и прошивка
NodeMCU ESP8266контроллер с Wi-Fi и USBпрограммируется как отдельная платахватит ли GPIO и памяти
ESP32 DevKitконтроллер с Wi-Fi и BLEWi-Fi встроен в микроконтроллерсовмещение сети и управления

Главный вопрос: Arduino остаётся главным контроллером, а Wi-Fi только добавляется, или весь проект сразу строится на ESP32?

Главная идея

Wi-Fi связывает устройство с IP-сетью:

робот -> Wi-Fi радио -> точка доступа или телефон -> приложение

После подключения появляются IP-адрес, порт и протокол приложения: HTTP, WebSocket, UDP, TCP или MQTT. Сам Wi-Fi не говорит, что байты означают команду мотора или строку телеметрии.

Два способа реализации Wi-Fi

Arduino с Wi-Fi модулем и ESP32 как контроллер

СпособКак устроеноПлюсыРиски
Arduino + Wi-Fi модульArduino управляет роботом, модуль отвечает за сетьможно оставить знакомую Arduino-логикубольше проводов, питание модуля, отдельные AT-команды или библиотека
ESP32один контроллер ведёт и робота, и Wi-Fiменьше соединений, мощнее контроллер, Wi-Fi уже внутрипрограмма сложнее: сеть и управление делят память и время

ESP-01 часто используют как Wi-Fi-модем для Arduino, но он требует стабильных 3,3 В и аккуратной прошивки. ESP32 удобен, когда проект сразу рассчитан на Wi-Fi, веб-сервер или MQTT, а не просто «добавить интернет» к старой схеме.

Станция и точка доступа

РежимЧто делает роботКогда удобно
Stationподключается к существующему роутеру или телефонуробот в учебной сети, лог на компьютер
Access Pointсам создаёт Wi-Fi сетьполевой стенд без роутера
Station + APподключается к сети и держит сервисную сетьнастройка и резервный доступ

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

Команды, телеметрия и веб-интерфейс

Для простого пульта подходят короткие команды: forward, stop, left. Для телеметрии удобно отправлять JSON или CSV. Для веб-интерфейса робот может отдавать страницу и принимать запросы. Для быстрых потоков лучше заранее посчитать объём данных.

ЗадачаЧастый протоколОсобенность
веб-страница управленияHTTPпросто открыть в браузере
живые значения датчиковWebSocket или UDPменьше лишних запросов
журнал на серверMQTT или HTTPнужна сеть и адрес сервера
поток камерыHTTP/MJPEG, RTSP или свой протоколрезко растёт трафик и задержка

Задержка и восстановление

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

Минимальное правило безопасности: команда движения имеет срок годности. Если свежей команды нет, робот снижает скорость или останавливается.

Что запомнить про Wi-Fi

  • Wi-Fi даёт IP-сеть, но прикладной протокол нужно проектировать отдельно.
  • Arduino можно дополнить Wi-Fi модулем, а можно сразу взять ESP32.
  • ESP-01 и похожие модули требуют стабильного 3,3 В питания.
  • Режимы Station и Access Point решают разные задачи.
  • Для управления роботом нужно проверять задержку, потери и восстановление связи.

Практика

  1. Выберите для проекта один из вариантов: Arduino + модуль или ESP32. Запишите причину.
  2. Нарисуйте схему сети: кто точка доступа, кто клиент, где находится оператор.
  3. Составьте три сообщения: команда движения, телеметрия и аварийный стоп.
  4. Опишите поведение робота, если Wi-Fi пропал на 2 секунды.

Проверьте себя

  1. Почему ESP-01 нельзя питать от случайного слабого 3,3 В вывода?
  2. Чем режим Station отличается от Access Point?
  3. Почему веб-интерфейс удобен, но не отменяет тайм-аут команд?
  4. Когда ESP32 проще, чем Arduino с отдельным Wi-Fi модулем?
Ориентиры для самопроверки

Сначала ответьте без подсказки. Ответ можно считать полным, если вы:

  • формулируете основную мысль своими словами;
  • называете важные условия, ограничения или меры безопасности;
  • для схемы, кода или расчёта показываете ход решения и ожидаемый результат.

Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.

Словарь статьи

  • Wi-Fi — беспроводная сеть семейства IEEE 802.11.
  • IP-адрес — адрес устройства в сети.
  • Точка доступа — устройство, создающее Wi-Fi сеть.
  • Station — устройство, подключающееся к существующей сети.
  • HTTP — протокол запросов, на котором работает обычный веб.
  • MQTT — лёгкий протокол публикации и подписки для телеметрии.

Связанные темы

  • USB-TTL — как прошивать и отлаживать ESP-01 через последовательный адаптер.
  • Bluetooth — когда достаточно простого пульта рядом.
  • Выбор способа связи — как сравнить Wi-Fi с другими каналами.

Источники