Уведомление о открытии входной двери в телеграмм
На просторах форма есть много заметок по реализации уведомлении в телеграмм с входной двери.
Вот и я расскажу, как это реализовано у меня.
В наличии есть камера в подъезде, видеорегистратор DS-7108 Hivisoin, сервер (файлопомойка с i3 и Ubuntu Server), Arduino Mega (прошивка LightHub) и сервер умного дома на Banana m3. Основная проблема была в том, что при открытии двери начинает создаваться 10 секундный ролик с камеры, что приводит к большой нагрузки на сервер УМ и его подвисанию. Было принято решение, переложить эти действия на файлопомойку. Появилась возможность создавать полноценные ролики ( 10 секунд до открытия двери и 10 после ). В инструкции на регистратор нашёл нужную строку запроса.
Теперь при открытии двери включается подсветка в коридоре ( через плату DMX512 и светодиодную ленту),уведомляем на видеоприставки (с Kodi) что дверь открыта ну и запускаем сценарий по парсинга видеофайла
$open = gg("mqttOpenclose01.status");
$key = md5(microtime(true));
$ch = curl_init('http://192.168.30.2/door/door.php?p='.$key);
$time_date = date('Ymd');
$img_srv = ('http://192.168.30.2/door/'.$time_date.$key.'.mp4');
$img_local = '/tmp/door.mp4';
$cam = hex2bin('F09F8EA5');
echo $open;
if ($open=='OFF') {
// включаем подсветку на полную
setGlobal('Dimmer02'.'.'.'value', '0,0,100');
//Уведомление на планшете делаем громкость 60,отправляем звук
//sayTo('Дверь открыта',2,'Start');
// отправляем уведомление на телевизоры
include_once(DIR_MODULES . 'kodi_notify/kodi_notify.class.php');
$notify = new kodi_notify();
$notify->sendNotifyAll($cam."Входная дверь открыта");
// запрашиваем файл с камеры
curl_exec($ch);
// ждём пока файл сформируется
sleep(120);
// возвращаем подсветку
setGlobal('Dimmer02'.'.'.'value', (getGlobal('Dimmer02'.'.'.'color')) . (',' . (getGlobal('Dimmer02'.'.'.'level'))));
// скачиваем файл
file_put_contents($img_local, file_get_contents($img_srv));
// отарвляем уведомление в телеграмм
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendVideoToAdmin($img_local,"Входная дверь открыта");
}
else
{
// sayTo('Входная дверь закрыта',2,'Start');
}
Вот текст самого файла парсинга с видеорегистратора
<?php
$date = date('Ymd');
$time_start = date('His',time() - 10);
$time_end = date('His',time() + 10);
sleep(120);
echo ("rtsp://admin:password@192.168.30.15:554/Streaming/tracks/101?starttime='.$date.'t'.$time_start.'z&endtime='.$date.'t'.$time_end.'z");
exec('ffmpeg -y -i "rtsp://admin:password@192.168.30.15:554/Streaming/tracks/101?starttime='.$date.'t'.$time_start.'z&endtime='.$date.'t'.$time_end.'z" -rtsp_transport tcp -vf scale=320:-1 -t 20 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 12 /var/www/html/door/'.$date.$_GET['p'].'.mp4');
?>
Привер видео https://radikal.ru/video/MytACpWJ1Zg
Ставрополь, Россия
Web-site URL:
http://stavhome.ru