Управляй роботом онлайн

ESP32-CAM Tank Robot — это дистанционно управляемая платформа с видеотрансляцией в реальном времени, ИИ-ассистентом и возможностью сканирования QR-кодов. Полностью открытый исходный code.

🤖
8080
Порт сервера
MJPEG
Видеопоток
WS
WebSocket

Ключевые возможности

Мощный функционал для управления роботом через веб-интерфейс

📹

Видеотрансляция

MJPEG видеопоток с камеры ESP32-CAM в реальном времени с низкой задержкой

🎮

Управление

Джойстик для мобильных устройств и клавиатура WASD для ПК с плавным разгоном

💬

Чат и ИИ-бот

Встроенный чат для зрителей и ИИ-ассистент на базе YandexGPT

🔐

Администрирование

Система прав доступа, смена IP робота, панель настроек

📱

QR-сканер

Автоматическое распознавание QR-кодов с видеопотока камеры

Низкая задержка

Оптимизация WiFi, TCP_NODELAY, throttle команд — минимальный latency

Архитектура системы

Трехуровневая архитектура с Python-прокси для масштабируемости

Браузер

HTML/CSS/JS
WebSocket клиент

Python-прокси

aiohttp:8080
Ретрансляция MJPEG/WS

ESP32-CAM

HTTP:80, MJPEG:81
WebSocket:82

🎮 Управление движением

Интуитивное управление роботом с поддержкой различных схем движения

  • Виртуальный джойстик (nipplejs) для мобильных устройств
  • Управление с клавиатуры WASD для ПК
  • Танковая схема поворота с нормализацией
  • Чистый разворот на месте
  • Плавный разгон и торможение
  • Автоматическая остановка при потере соединения
🤖 Ассистент
Привет! Я ИИ-помощник. Спроси меня о роботе или управлении!
Вы
Как управлять роботом?
🤖 Ассистент
Используйте WASD клавиши или виртуальный джойстик. Для получения прав администратора нажмите кнопку в статус-баре.

💬 Чат и ИИ-бот

Встроенная система общения с ИИ-ассистентом на базе YandexGPT

  • Мультипользовательский чат для всех зрителей
  • ИИ-бот отвечает на вопросы о роботе
  • Автоматическое определение вопросов (фильтрация команд)
  • История диалога в рамках сессии
  • Синтез речи (TTS) для озвучивания сообщений

📱 QR-сканер

Автоматическое распознавание QR-кодов с видеопотока

📷

Сканер QR-кодов работает в фоновом режиме, анализируя видеопоток с камеры робота. Распознанный текст автоматически отправляется в чат от имени администратора.