RoboCam в открытом доступе: исходники Android-сервера робота и HTML5-клиента
Идея RoboCam родилась в 2016 году и была простой: телефон с камерой и Wi-Fi уже есть почти в каждом доме - так почему бы ему не стать «глазами» и пультом робота? RoboCam превращает Android-смартфон или планшет в камеру и сервер управления для робота LEGO Mindstorms EV3 или полностью самодельной конструкции: приложение раздаёт по Wi-Fi HTML5-клиент, транслирует обработанное видео с камеры и передаёт команды роботу по Bluetooth.

Сегодня я открываю исходные коды проекта. Выложено два репозитория:
-
-
- RoboCam (Android-приложение, сервер): github.com/zMotoR/RoboCam
- RoboCam-HTML5-Client (веб-клиент, Construct 2): github.com/zMotoR/RoboCam-HTML5-Client
-
Оба проекты распространяются под лицензией MIT - берите, изучайте, переделывайте под своего робота.
Что внутри RoboCam:
-
-
- встроенный HTTP + WebSocket-сервер (библиотека Webbit) - раздаёт HTML5-клиент и принимает команды управления;
- трансляция видео с камеры: кадры обрабатываются (в flavor-версии - быстро, через RenderScript) и отправляются подключённым браузерам с кешированием для нескольких клиентов;
- свой драйвер байт-кода EV3: управление роботом LEGO Mindstorms EV3 по Bluetooth, включая загрузку пользовательских программ на «кирпич»;
- драйвер «нестандартного робота»: экранный пульт собирается прямо в приложении - группы клавиш, спиннеры, поведение портов; настройки роботов сохраняются, импортируются и экспортируются;
- локальный пульт: управлять роботом можно с самого телефона - физической клавиатурой устройства;
- локализация: русский, английский, казахский.
-
Веб-клиент написан в Construct 2: два виртуальных джойстика, режим «правша/левша», управление стрелками и физической клавиатурой, отображение баннеров и полноэкранный режим. Теперь открыты и его исходники - добавьте свои элементы пульта под вашу конструкцию.
Зачем открывать коды? RoboCam существует давно и о приложении написаны статьи, но код может помочь не меньше, чем статьи: кому-то нужно подсмотреть протокол обмена, формат байт-кода EV3 или взять готовый пульт за основу. Сборка ведётся в Android Studio 2.3.x; проект оставлен «как был» в 2016-м - это честная временная точка истории, какой она и была.
Если соберёте своего робота на RoboCam - расскажите, интересно посмотреть. Серия статей о проекте: proghouse.ru/tags/robocam.
