ESP32 CAM. Фото. Telegram...P.S. Видео. РЕШЕНО!!!

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

ESP32 CAM. Фото. Telegram...P.S. Видео. РЕШЕНО!!!

Сообщение VikAnik » Пт фев 26, 2021 1:35 pm

Пишу пост, а не вопрос в Модуле Telegram, так как проблема несколько шире тривиальных затыков новичков.
Я новичок в этом занятии.
К программированию, да и вообще электронике имею опосредственное, бытовое отношение.
Это хобби, в котором несколько поднаторел...
Есть успехи, но больше вопросов.
У меня есть несколько ESP32-CAM.
Такие и такие.
Первый без слота для SD card, второй со слотом.
СпойлерПоказать
Плата M5Stack ESP32 с камерой.jpg
Плата M5Stack ESP32 с камерой.jpg (23 КБ) 5741 просмотр
ESP32-CAM.jpg
ESP32-CAM.jpg (42.65 КБ) 5741 просмотр
Успешно их использую в связке с telegram, благо роликов в YouTube и прилагаемых к ним скетчей огромное множество...
Качество картинки меня устраивает, ибо использую их в проектах "наличия-отсутствия".
Но в связке с MajorDomo опыта их использования я не нашел.
А потому решил попробовать использовать эту камеру как будто это настоящая IP camera...
Из статьи https://sandervandevelde.wordpress.com/ ... sp-stream/
озаглавленной "Превратите свою M5CAM в веб-камеру, открывающую поток RTSP" я взял скетч для камеры в трех местах поменял порт 8554 на 554 (ну тогда так мне было нужно), прошил и получил в поток типа RTSP / MJPEG с URL rtsp://192.168.1.54:554/mjpeg/1 (или ...61:554, ...54:554 - как я говорил камер у меня несколько)...
СпойлерПоказать
1.jpg
1.jpg (8.74 КБ) 5741 просмотр
C таким url прекрасно получаю трансляцию в плеере VLC и приложении видеонаблюдения iSpy.
СпойлерПоказать
2.jpg
2.jpg (74.8 КБ) 5741 просмотр
Вот так в плеере VLC
СпойлерПоказать
3.jpg
3.jpg (21.01 КБ) 5741 просмотр
а с чуть измененным - rtsp://admin:12345678@192.168.1.41:554/mjpeg/1 в приложении ПО Линия
СпойлерПоказать
4.jpg
4.jpg (28.86 КБ) 5741 просмотр
или сервисе iVideon.
Но тут и ПО Линия - отдельная тема...
Просто проверил - работает, но не блестяще, мягко говоря.
СпойлерПоказать
5.jpg
5.jpg (18.74 КБ) 5741 просмотр
Однако с таким путем rtsp я не смог его пристроить к мажору...
Как только не изменял окончание адреса - нет и все.
Уже тогда я обращался за помощью в телеграм каналах, спрашивал под роликами в YuoTube - увы и ах, не подсказали...
Уже даже и не помню с какой подачи, каким перебором, но смог только с http....
http://192.168.1.54:80/ и в Простых устройствах...
СпойлерПоказать
6.jpg
6.jpg (73.49 КБ) 5741 просмотр
Добавил в Меню управления и Домашнюю страницу
СпойлерПоказать
7.jpg
7.jpg (39.63 КБ) 5741 просмотр
вот так, с таким адресом, прямой поток отображается в браузере
СпойлерПоказать
8.jpg
8.jpg (24.78 КБ) 5741 просмотр
а вот так, с таким путем - сохраненная картинка
СпойлерПоказать
9.jpg
9.jpg (28.46 КБ) 5741 просмотр
Далее, подсказали кодом, и смог отправлять фото в telegram
СпойлерПоказать
10.jpg
10.jpg (62.11 КБ) 5741 просмотр
СпойлерПоказать
11.jpg
11.jpg (16.04 КБ) 5741 просмотр

Код: Выделить всё

callMethod('Camera02.takeSnapshot'); // Вызываем метод, который делает снапшот камеры
$img = '/var/www/html/cms/images/'.gg('Camera02.snapshot'); // Указываем путь к снапшоту
$this->sendImageToUser($chat_id, $img, 'Камера на площадке'); // Отправляем в чат
К MajorDomo я пришел благодаря видео Nikolay_K https://www.youtube.com/user/TheParashutik/featured.
А до этого обустраивал свой "Умный дом" микроконтроллерами типа ESP8266, ESP32 используя протокол MQTT, то решил что по импульсу датчика движения через MQTT можно озаботился отправкой фото (серии фото) в телегу.
Так я уже знал, как сообщать в телегу об изменении состояния Свет 1
СпойлерПоказать
12.jpg
12.jpg (66.28 КБ) 5741 просмотр
через вот такой код в методе StatusUpdate я и пошел по тому же пути)))
СпойлерПоказать
13.jpg
13.jpg (59.06 КБ) 5741 просмотр
создал кнопку Zatvor_54
СпойлерПоказать
14.jpg
14.jpg (47.95 КБ) 5741 просмотр
И клавишу Затвор 54 в Меню управления, связанную с кнопкой Zatvor_54...
Туда же вставил код, как в команде телеги - не сработало)))
СпойлерПоказать
15.jpg
15.jpg (46.87 КБ) 5741 просмотр
Итак, что я имею:
- кликая по Затвору 54 я делаю скрин и сохраняю его в папку /var/www/html/cms/images/474/;
- нажимая в смартфоне Foto_54 - получаю фото в телеге, делаю скрин и сохраняю его в папку;
СпойлерПоказать
16.jpg
16.jpg (107.39 КБ) 5741 просмотр
Вот такой, наверное кривой путь, я прошел к своей цели: - Получать фото в телеграмм кликая по Затвору 54 и/или через топик MQTT датчика движения.
Однако решения пока не нашел...
Перелопатил весь форум модуля Telegram...
Перепробовал все способы указанные там в схожих желаниях...
Увы и ах...
Единственное упоминание https://mjdm.ru/forum/viewtopic.php?f=5 ... 50#p112841
Осталось понять как добиться, чтобы снимок отправлялся при событии, например при движении или открытии двери.
развития не получило.
Описал (в личных сообщениях друзьям в telegram каналах) свои успехи и свою проблему - посоветовали обратиться ЦЕЛИКОМ на форум.
Последний раз редактировалось VikAnik Пн мар 29, 2021 9:23 am, всего редактировалось 1 раз.
За это сообщение автора VikAnik поблагодарили (всего 2):
Gasinskiy (Пт фев 26, 2021 1:47 pm) • Samir77 (Вт апр 06, 2021 11:41 am)
Рейтинг: 2.33%
Gasinskiy
Сообщения: 70
Зарегистрирован: Вс мар 22, 2020 12:04 pm
Откуда: Харьков
Благодарил (а): 113 раз
Поблагодарили: 4 раза

Re: ESP32 CAM. Фото. Telegram...

Сообщение Gasinskiy » Пт фев 26, 2021 2:01 pm

Тоже лежит такой модуль и в планах, его интегрировать в Majordomo) И нужна примерно такая же реализация. На событие отправка серии фото в Телеграм. Спасибо за тему на форуме, для меня уже есть от чего отталкиваться)

Будем разбираться в этой теме вместе) И может кто знающий подскажет. Думаю, что у многих должны быть похожие сценарии - отправка видео, фото, анимации или серии фотографий с какой либо IP камеры.

Вопросик. А вот время в меню на изображении от камеры и сверху отличается сильно. Это такая задержка или оно там по идее обновляется при входе в это меню\обновлении странице? и там вроде есть в настройках меню что-то типа частоты обновления. А на сцене наверное с небольшой задержкой само обновляется)
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение VikAnik » Пт фев 26, 2021 2:13 pm

Gasinskiy писал(а):
Пт фев 26, 2021 2:01 pm
...............
Вопросик. А вот время в меню на изображении от камеры и сверху отличается сильно. Это такая задержка или оно там по идее обновляется при входе в это меню\обновлении странице? и там вроде есть в настройках меню что-то типа частоты обновления. А на сцене наверное с небольшой задержкой само обновляется)
Спасибо)))
какие коды нашел)))
В меню - скрин последнего фото.
На Домашней странице - реальный поток...
В обоих случаях нет масштаба нормального...
Еще не разобрался в этом вопросе...
Пардон, за небрежность... :mrgreen:
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение xor » Пт фев 26, 2021 3:49 pm

VikAnik писал(а):
Пт фев 26, 2021 1:35 pm
...
интересный пост и интересное железо!
только не понял вопроса( Вы, вроде, всё уже умеете делать - делать снимок по желанию, ловить движение, отправлять в телегу? в чём затык?
Gasinskiy
Сообщения: 70
Зарегистрирован: Вс мар 22, 2020 12:04 pm
Откуда: Харьков
Благодарил (а): 113 раз
Поблагодарили: 4 раза

Re: ESP32 CAM. Фото. Telegram...

Сообщение Gasinskiy » Пт фев 26, 2021 6:10 pm

xor писал(а):
Пт фев 26, 2021 3:49 pm
VikAnik писал(а):
Пт фев 26, 2021 1:35 pm
...
интересный пост и интересное железо!
только не понял вопроса( Вы, вроде, всё уже умеете делать - делать снимок по желанию, ловить движение, отправлять в телегу? в чём затык?
С товарищем общался в телеграме и наверное лучше уловил суть. С темой в форуме он заморочился серьезно, а самое главное забыл - ТЗ конкретно описать.

Вот это похоже на ТЗ: Осталось понять как добиться, чтобы снимок отправлялся при событии, например при движении или открытии двери.

VikAnik, тут же очень похоже как с нажатием кнопки - вместо кнопки должен быть датчик движения например. И вот когда он изменит свой статус будет сделано фото и отправлено в телеграм. Если ты свой ДД или геркон добавишь через модуль MQTT в простые устройства, то потом там будет по аналогии с Switch.status. Вот это и нужно будет вставить в код. Но проблема наверное больше не в этом. Так как ты и так вроде к этому уже пришел и разобрался вроде. Не уверен, что я сам написал правильно. Мне это так видится.

xor, я так понимаю автору да и мне хотелось бы чтобы делалась серия снимков и отправлялась как альбом в Телегу. Ну динамическое имя файлов типа дата_время. Это было бы удобно.
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение lihodeev » Пт фев 26, 2021 6:14 pm

если я правильно понял проблему, то у себя решил так -
СпойлерПоказать
exec('ffmpeg -y -i "rtsp://192.168.1.4:554/user=admin_password=blablabla_channel=1_stream=0.sdp?real_stream" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/html/cms/cached/webcam_recorder/out.mp4');
$img='/var/www/html/cms/cached/webcam_recorder/out.mp4';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
правда он еще используется у меня и для других целей по сему есть лишние для минимума движения
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение VikAnik » Вт мар 02, 2021 8:31 am

lihodeev писал(а):
Пт фев 26, 2021 6:14 pm
если я правильно понял проблему, то у себя решил так -
СпойлерПоказать
exec('ffmpeg -y -i "rtsp://192.168.1.4:554/user=admin_password=blablabla_channel=1_stream=0.sdp?real_stream" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/html/cms/cached/webcam_recorder/out.mp4');
$img='/var/www/html/cms/cached/webcam_recorder/out.mp4';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
правда он еще используется у меня и для других целей по сему есть лишние для минимума движения
Спасибо за внимание и совет!
Если у меня вот такой url
rtsp://192.168.1.54:554/mjpeg/1,
то как его можно вставить в эту строку?
exec('ffmpeg -y -i "rtsp://192.168.1.4:554/user=admin_password=blablabla_channel=1_stream=0.sdp?real_stream" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/html/cms/cached/webcam_recorder/out.mp4');
За это сообщение автора VikAnik поблагодарили (всего 2):
Gasinskiy (Вт мар 02, 2021 10:53 am) • Samir77 (Вт апр 06, 2021 11:44 am)
Рейтинг: 2.33%
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение VikAnik » Вт мар 02, 2021 8:58 am

xor писал(а):
Пт фев 26, 2021 3:49 pm
VikAnik писал(а):
Пт фев 26, 2021 1:35 pm
...
интересный пост и интересное железо!
только не понял вопроса( Вы, вроде, всё уже умеете делать - делать снимок по желанию, ловить движение, отправлять в телегу? в чём затык?
Затык в том, что не мог отправлять фото в телеграмм кликая по Затвору 54 и/или через топик MQTT датчика движения.
Это я показывал в предпоследенем спойлере ....Затвор 54 в Меню управления, связанную с кнопкой Zatvor_54...
Туда же вставил код, как в команде телеги - не сработало)))
Промежуточное решение нашел пока так
СпойлерПоказать
два кода.jpg
два кода.jpg (40.89 КБ) 5476 просмотров
вот сценарий с двумя кодами...
отличие только в последней строке...
верхний код отлично работает в Команде телеги, но вызывает ошибку в сценарии...
Нижний код - отлично работает как в Команде телеги, так и в сценарии)))
За это сообщение автора VikAnik поблагодарили (всего 2):
Gasinskiy (Вт мар 02, 2021 10:52 am) • Samir77 (Вт апр 06, 2021 11:44 am)
Рейтинг: 2.33%
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: ESP32 CAM. Фото. Telegram...

Сообщение VikAnik » Вт мар 02, 2021 9:36 am

xor писал(а):
Пт фев 26, 2021 3:49 pm
VikAnik писал(а):
Пт фев 26, 2021 1:35 pm
...
интересный пост и интересное железо!
только не понял вопроса( Вы, вроде, всё уже умеете делать - делать снимок по желанию, ловить движение, отправлять в телегу? в чём затык?
Теперь я могу отправлять фото из меню Телеграм (через команду) и Кликая по кнопке Затвор_54 (через сценарий).
Все это сохраняется в папке....
Теперь, нужно привязать датчик движения к отправке фото через топик Mqtt.
Я хочу попробовать сделать датчики движения в паре с esp8266, автономно, без проводов.
Отправлять сигнал по домашней wifi сети..
И могу их прошить esp8266 отправлять сигнал мажору пока он идет от датчика движения, могу сделать сигнал на мажор импульсный...
Потому вопрос: - Какой алгоритм мне применить?
Сигнал топика на MQTT -> (алгоритм) -> получение фото в telegram.
Спасибо. Надеюсь на совет)))

Сегодня сделал вот так.
Привязал топик к датчику движения в Простых устройствах
СпойлерПоказать
топик на дд1.png
топик на дд1.png (91.48 КБ) 5423 просмотра
А в Действиях установил метод и вот такой код
СпойлерПоказать
sleepDD.png
sleepDD.png (63.64 КБ) 5423 просмотра
шарашит в телегу как пулемет )))
Но насколько все это грамотно, надежно и правильно...
Тестирую...
Миша! Спасибо!
За это сообщение автора VikAnik поблагодарили (всего 2):
Samir77 (Вт мар 02, 2021 10:03 am) • Gasinskiy (Вт мар 02, 2021 10:52 am)
Рейтинг: 2.33%
Аватара пользователя
VikAnik
Сообщения: 6
Зарегистрирован: Вт ноя 10, 2020 12:20 pm
Благодарил (а): 2 раза
Поблагодарили: 13 раз

Re: ESP32 CAM. Фото. Telegram...P.S. Видео. РЕШЕНО!!!

Сообщение VikAnik » Пн мар 29, 2021 9:53 am

Дальше установил через Putty ffmpeg
СпойлерПоказать
ffmpeg.jpg
ffmpeg.jpg (74.03 КБ) 5017 просмотров
отредактировал код в Команды
СпойлерПоказать
54 в телегу+.jpg
54 в телегу+.jpg (159.46 КБ) 5017 просмотров
СпойлерПоказать

Код: Выделить всё

exec('ffmpeg -y -i "rtsp://admin:12345678@192.168.1.54:554/mjpeg/1" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/html/cached/out.mp4'); 
$img='/var/www/html/cached/out.mp4'; 
include_once(DIR_MODULES . 'telegram/telegram.class.php'); 
$telegram_module = new telegram(); 
$telegram_module->sendVideoToAdmin($img, 'Камера 54 Admin'); //Умный дом Сделай сам}
И получил возможность получать в телегу 5-ти секундные ролики.

Код взял из ролика "Подключение ip камеры к умному дому majordomo" https://www.youtube.com/watch?v=pFpOmbw14NU
Промежуточный итог!
Камера ESP32 Cam может с успехом применяться с MAjorDomo, если новичок знает прописные истины для знатоков.
Спасибо, продолжаем!!!
За это сообщение автора VikAnik поблагодарили (всего 5):
xor (Пн мар 29, 2021 11:26 am) • tarasfrompir (Пн мар 29, 2021 11:41 am) • Gasinskiy (Сб апр 03, 2021 12:30 am) • Samir77 (Вт апр 06, 2021 11:44 am) • Molostov (Вс янв 30, 2022 9:50 pm)
Рейтинг: 5.81%
Ответить