02.03.2025 12:02
3

Проект смотритель. Часть 1. Начало

Базовая версия

Проект смотритель - удаленно управляемый робот на гусеничной платформе с трансляцией картинки с камерой.

Зачем? Ради фана - этот проект практически квинтесенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров и в целом все, что можно включить в сферу DIY. Но если уж придумывать практическое применение - то было бы удобно при срабатывании датчика протечки иметь возможность удаленно посмотреть в чем дело прежде чем срываться с работы / поездки (было несколько ложно-положительных кейсов).

Тогда

Задумал я проект, страшно сказать, 10 лет назад. У меня уже был репозиторий на гитхаб с описанием хотелок и даже некоторой реализацией. Кажется, это первый мой репозиторий на github, который я без знаний git вел через сайт. Тогда это была Arduino Uno, подключенная к драйверу двигателя с 2 УЗ-дальномерами, без камеры. Реализовать задуманное полностью не было ни сил, ни средств, поэтому проект был отложен на неопределенный срок.

101-arduino

Эта реализация умела ехать вперед и ориентируясь на показатели дальномеров пытаться объехать препятствия. Если оба датчика показывают одинаковые показания - робот отъезжал назад и разворачивался на произвольный угол.

Сейчас

Но прошло 10 лет, появилась куча возможностей, новых устройств. Появился 3д принтер (даже 3), освоена печать различными материалами, опыт программирования, умный дом и вот это вот все.

Поэтому новый план на проект выглядит следующим образом:

  • esp32 cam в качестве контроллера и стриминга видео;
  • своя прошивка с управлением по wifi с передачей видео, фонариком, 2 вариантами управления, адаптивной версткий и переключением качества видео, возможно, даже подключим аппу (Radiomaster TX12) по elrs;
  • свой дизайн устройства с ИИ;
  • свое разработанное шасси - 2WD, возможно 4WD (технически можно хоть 6WD подключить, но бессмысленно);
  • полностью 3д-печатный корпус и гусеницы из TPU;
  • зарядная станция, на которую можно приехать и встать удаленно;
  • плагин для подключения к home assistant.

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

Раскрою некоторые детали, но обойдусь без особых спойлеров.

Прошивка

Написана на Си с помощью большой кучи ИИ-моделей (перепробовал практически все топ модели, т.к. реализация стриминга видео на esp32 cam оказалась практически неподъемной задачей).

Подробное описание прошивки доступно на guthub, если вкратце:

  • управление виртуальным джойстиком или двумя слайдерами (у нас же гусеничная платформа все же);
  • SD / HD режим передачи видео, SD для максимального быстродействия, HD для качества картинки (FPS может проседать);
  • управление светодиодом - 3 положения 0%, 50%, 100% яркости - встроенный светодиод в esp32cam весьма яркий;
  • вывод статистики загрузки ядер контроллера (да, у esp32 2 ядра) различными задачами, эпопею по включению этих функций в esp32 и platformio я писал отдельную статью.

Это не все, что я планирую сделать еще в проекте, но достаточно для MVP.

Железки

Покажу пока новую упрощенную схему на базе той же платформы Rover 5:

110-robot-inside

Что у нас здесь есть:

  • DFRobot Rover 5 - гусеничная платформа, купленная лет 10 назад у @amperka;
  • 3x 18650 аккумулятора с боксами;
  • L298N 2-канальный драйвер двигателей;
  • ESP32-CAM (можно плату найти еще по названию AI Thinker);
  • обычный переключатель для разрыва цепи питания;
  • DC-DC понижающий преобразователь, можно универсальный с подстроечными резисторами - 2 штуки (12.6v > 9v, 12.6v > 5v).

120-robot

Демо

Прошиваем, открываем IP адрес устройства в браузере и управляем:

130-robot-cam

Видео-демонстрация с телефона:

Комментариев пока нет

Последние статьи