Данную плату ESP32-cam можно купить тут: http://ali.pub/3f04uj
Также понадобится usb/ttl преобразователь для прошивки: http://ali.pub/3f156r
Если у Вас имеется 3D принтер то вот хороший корпус для камеры: https://www.thingiverse.com/thing:3652452
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В прошлой статье я рассказал как смотреть видео с модуля ESP32-cam. Мы заливали скетч из стандартных примеров, но еще переделывали немного пример убрав все лишнее с веб страницы видео. Все было хорошо, за исключением того что мы могли только смотреть видео в реальном времени через веб интерфейс, но не могли его записывать, так как непонятно было как его захватывать. После того как я выложил видео на youtube мне написал один человек в комментариях, что уже реализовали возможность потокового видео rtsp на модуле ESP32-cam.
Дело в том, что в прошлом примере видео вещалось путем показа картинок постоянно обновляющихся и непонятно было чем их захватывать, а вот какраз когда видео вещается по протоколу rtsp, его уже можно будет захватить разными программами даже например VLC проигрывателем. Все готовые камеры видео наблюдения умеют вещать в rtsp.
Ну так вот, один энтузиаст который как он написал работал инженером в силиконовой долине придумал как заставить ESP32-cam и другие платы ESP32 с камерами вещать по rtsp потоку видео. Его проект есть на github.com: https://github.com/geeksville/TenDollarWebcam
Его готовый вариант отличный но есть несколько нюансов:
- Там много библиотек используется и я все не смог найти, поэтому как он и рекомендует нужно загружать код в Микроконтроллер через программу PlatformIO (эта программа сама находит все библиотеки)
- В примере на github.com используется библиотека AutoWifi и настройка wi-fi осуществляется через smartconfig (это грубо говоря фишка контроллеров ESP чтоб настраивать wi-fi своеобразным образом и записывает это все в EEPROM) В данном примере wi-fi настраивается через android или ios приложение.
С первым я ничего сделать не смог, всетаки придется заливать скетч через PlatformIO.
С вторым казалось бы все очень удобно, установил через приложение и забыл, но я столкнулся с проблемой, он намертво записывает в EEPROM настройки и уже к другой wi-fi сети не привязать так просто, пришлось вычищать EEPROM. Поэтому я немного переделал скетч чтоб можно было настройки wi-fi задавать в ручную по старинке.
Итак поехали, для начала скачаем архив программы либо с github.com либо вот этот https://yadi.sk/d/Ys0jT6_1mSb87Q, он уже переделан под настройку wi-fi вручную и раскомментировал строчку для работы с модулем ESP32-cam.
После этого нужно сказать программу Visual Studio и установить ее. Скачать можно тут: https://visualstudio.microsoft.com/ru/?rr=https%3A%2F%2Fyandex.ru%2F
После того как установили Visual studio нужно установить плагит PlatformIO, это можно сделать как показано на картинке:
Тоесть как видно из картинки выбираем пятый пункт в левом столбце, он выглядит в виде квадрата в квадрате. Далее в поиске напишем Platformio IDE и в результате поиска первый пункт и будет, тот который нам нужен, его нужно установить. После установи у нас появится новый пункт шестой по счету в левом столбце, он в виде головы муравья, вот с ним и будем работать.
Далее в окне уже плагина Platformio нажимаем кнопку open project как показано на картинке ниже и выбираем там папку с заранее разархивированной программой которую скачали либо с гитхаба либо по моей ссылке.
Ну и на последней картинке ниже я выделил прямоугольниками на какие моменты нужно обращать внимание и чтоб все без ошибок заработало. Также я каждый прямоугольник пронумеровал, чтоб понимали последовательность.
- В первом прямоугольнике мы видим уже выбранный наш проект и в подпапке src сам основной код программы ESP32-devcam.ino. Выбираем и откроется код программы, там самое главное для работы с esp32-cam нужно раскомментировать строчку “#define USEBOARD_AITHINKER” . Также здесь напишите SSID вашей wi-fi сети и пароль от нее.
- Далее вторым квадратом выделена “галочка” ее нужно обязательно нажать, чтоб PlatformIO подгрузил все библиотеки.
- Далее квадрат под цифрой 3 это консоль, мы открывает консоль и сразу же обращаем внимание на прямоугольник под номером 4.
- В этом прямоугольнике нужно обязательно удоставериться что стоит PlatformIO. Если его там не будет, то скетч не загрузится (Если вы не соблюдаете последовательность то скорее всего у Вас там будет powershell)
- Ну и под пятым пунктом у нас команжа “pip run -t upload” – данная команда собирает скетч и заливает его в микроконтроллер. Но перед вводом этой команды Вы сначала подключите микроконтроллер обязательно с замкнутой перемычкой как показано на схеме:
После успешной заливки скетча, отключаем ESP32-cam от компьютера, убираем перемычку и подключаем заново и контроллер должен подключиться к wi-fi сети указанной в скетче. Полученный ip адресс можно узнать в мониторе порта при подключении контроллера.
После этого чтоб захватить видео rtsp нам нужно например в VLC плеере выбрать медиа->открыть URL..
Далее в открывшемся окне нужно ввести следующий адрес: rtsp://”ip адрес”:8554/mjpeg/1
После этого выбираем воспроизвести и если все верно сделали то видим поток видео в VLC плеере с ESP32-cam.
Ну и последнее, чтоб записывать видео с VLC плеера нужно выбрать запись на главном экране vlc когда будет вещаться потоковое видео и оно срау начнет записываться и сохраняться по пути профиль->видео.
На этом думаю все, надеюсь было понятно все то что я описал. Также я снял видео, в котором все подробно снял и рассказал.
Видео: