Цель урока
Подключить камеру ESP32-CAM и показать видео с машины в окне pygame. Получится FPV —
«вид от первого лица», как у настоящих дронов.
⚠️ Это продвинутый и необязательный урок
Камера ESP32-CAM не входит в набор и подключается отдельно. Весь курс прекрасно работает
и без неё. Берись за этот урок, если хочется большего и рядом есть взрослый-помощник.
📷 Как камера отдаёт видео
ESP32-CAM — это маленькая плата с камерой и Wi-Fi. Она раздаёт видео как поток картинок
JPEG (формат MJPEG) по адресу вроде http://192.168.4.1:81/stream. Видео — это
просто много картинок подряд, наша задача — ловить их и показывать.
🧩 Что нужно сделать
Залить в ESP32-CAM пример CameraWebServer из Arduino IDE (со взрослым: для прошивки
нужен USB-переходник).
Узнать IP-адрес камеры — он печатается в Serial Monitor при старте.
Подключить ноутбук к Wi-Fi камеры и вписать адрес в CAM_URL.
CAM_URL = "http://192.168.4.1:81/stream"# ← адрес своей камеры
🖼️ Показываем кадры в pygame
Поток читаем в фоновом потоке, вырезаем каждый кадр JPEG (он начинается с байтов
FF D8 и кончается FF D9) и рисуем картинку:
💡 Куда расти дальше
Соедини камеру и кокпит: видео на весь экран, а сверху — HUD радара и кнопки управления.
Получится настоящая станция управления: видишь «глазами» машины и рулишь, даже когда она
в другой комнате.
🏆 Финал курса
Ты собрал машину-робота, научил её ездить по Bluetooth, рисовать радар, тормозить у стен,
повторять маршруты — и даже показывать видео. Это уже серьёзная робототехника. Поздравляю!
🧠 Проверь себя
Выбери ответ. Ошибёшься — 30 секунд на то, чтобы вернуться в урок и перечитать.
Как камера ESP32-CAM отдаёт видео?
✅ Камера раздаёт поток по адресу вроде http://192.168.4.1:81/stream — ловим кадры и рисуем.
Видео — это по сути что?
✅ Каждый кадр JPEG начинается с байтов FF D8 и кончается FF D9 — вырезаем и показываем blit.