ESP32-CAM: http://ali.pub/5jykux
FTDI: http://ali.pub/5jykxg
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В данной статье попробуем определять объекты с помощью камеры на модуле esp32-cam. Делать это будем с помощью библиотеки TensorFlow.
TensorFlow — открытая программная библиотека для машинного обучения, разработанная компанией Google для решения задач построения и тренировки нейронной сети с целью автоматического нахождения и классификации образов, достигая качества человеческого восприятия.
ESP32-cam хоть и довольно мощный микроконтроллер среди других, но он явно не дотягивает до компьютеров для которых предназначен TensorFlow. По этому здесь бует использоваться хитрый метод. А именно, будет использоваться уже специально сгенерированная база с готовыми объектами. Все эти объекты будут находиться в файле index.html. Который в свою очередь находится в папке Data. Которую мы закинем в файловую систему esp32-cam.
Теперь давайте приступим к прошивке.
Схема подключения ESP32-CAM для прошивки:
Далее нам нужно закинуть папку DATA в файловую систему esp32-cam. Для этого нам понадобится специальный плагин для arduino ide. Который называется ESP32FS и его можно скачать тут: https://github.com/me-no-dev/arduino-esp32fs-plugin
Скачиваем данный плагин и его нужно закинуть по следующему пути: <home_dir>/Arduino/tools/ESP32FS/tool/esp32fs.jar . Где <home_dir> – это домашняя директория программы arduino ide. Иными словами это место куда установлена программа arduino ide.
После того как это сделали и перезагрузили программу arduino ide. У Вас должен появиться пункт ESP32 Scetch Data Upload во вкладке Инструменты.
Теперь качаем архив со скетчем и распаковываем его. Скачать можно с githubа https://github.com/ANM-P4F/ESP32CamClassificationTfjs или тут: https://disk.yandex.ru/d/EyP3ebqYaIoqJQ
Запускаем скетч из распакованной папки. Там обязательно со скетчем должна находиться папка DATA.
И в запустившейся программе arduino IDE выбираем Инструменты ->ESP32 Sketch Data Upload. И у нас начнется загрузка содержимого папки DATA в файловую систему микроконтроллера. Но естественно нужно еще предварительно выбрать корректный микроконтроллер в менеджере плат. Как это сделать можно посмотреть тут: https://psenyukov.ru/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0-%D0%BD%D0%B0-esp32/
Теперь после загрузки в файловую систему. Можно загружать скетч. Он загружается как обычно. Но предварительно нужно в нем проставить данные от вашей wi-fi сети.
const char* ssid = “test”;
const char* password = “test”;
И в файле camera_wrap.cpp выбрать корректную камеру:
// Select camera model
// #define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
// #define CAMERA_MODEL_M5STACK_PSRAM
// #define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER – это ESP32-CAM
И все. После загрузки скетча. Отключаем esp32-cam от usb. Снимаем перемычку для программирования. Снова подаем питание и ждем когда законнектится к wi-fi сети. После этого по ip адресу который получила espшка. Подключаемся к ней по web морде. И web интерфейс выглядит следующим образом:
Собственно здесь если нажать на кнопку “OFF” начнется стрим с камеры. И как только мы зафиксиуем нужный нам объект для определения. Нажимаем кнопку “Predict“. После этого начнется определения объекта. Вот например на скрине результат у нас sport car.
Также все данные действия и демонстрацию определения объекта можно посмотреть в видео: