Страница 1 из 1

Умная входная дверь!

Добавлено: Сб фев 17, 2018 8:40 am
directman66
Просто решил поделиться своими наработками увеличения уровня дзен по автоматизации двери:
Дано:
1)Замок обычный, механический )
2) На двери датчик открытия двери aqura, подключенный к шлюзу через плагин Xiaomi Home.
3) Объект простые устройтсва OpenClose1
4) IP-видеокамера, установленная напротив двери.
5) Выключатель света Sonoff touch с прошивкой wifi-iot

Задачи:
1) Отправка сообщения об открытии и закрытии двери в телеграмм
2) Включение света при открытии двери и выключение через 5 минут
3) Уведомление о необходимости закрыть входную дверь.

Решение:
СпойлерПоказать
Безымянный2.png
Безымянный2.png (268.57 КБ) 5029 просмотров
сценарий dvertelega:
СпойлерПоказать

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

$image_url="http://192.168.1.32/webcapture.jpg?command=snap&channel=0";
$result=getURL($image_url,0);
$save_to="./cached/cam1.jpg"; // куда сохранять
SaveFile($save_to, $result);



include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();

echo gg("Openclose01.status");
$open=gg("Openclose01.status");
echo $open;



if ($open==1) 
{$text="Входная дверь закрыта!!!$dver";
//cm('Relay12.turnOff');
SetTimeOut("Relay12OffTimer","callMethod('Relay12.turnOff');",300); 
} else 
{$text="Входная дверь открыта!!!$dver";
SetTimeOut("dveropen","rs('dvertimer');",180); 
 
cm('Relay12.turnOn');}

//$telegram_module->sendMessageToAll($text);




$telegram_module->sendImageToAll($save_to,$text); 
Сценарий dvertimer:
СпойлерПоказать

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

$image_url="http://192.168.1.32/webcapture.jpg?command=snap&channel=0";
$result=getURL($image_url,0);
$save_to="./cached/cam1.jpg"; // куда сохранять
SaveFile($save_to, $result);



include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();


$open=gg("Openclose01.status");
echo $open;

if ($open==0) 
{$text="Внимание, вы забыли закрыть входную дверь!!!";
$telegram_module->sendImageToAll($save_to,$text);
say ($text,3);

SetTimeOut("dveropensay","rs(saygoogle, array('text' =>$text)); m.  ",10);
SetTimeOut("dveropen","rs('dvertimer');",180);  
} 
Метод change объекта OpenClose1
СпойлерПоказать

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

rs("dvertelega"); 
В плагине XiaomiHome устройство Magnet 2017-08-20 привязано к нашему объекту.
no_close: 300; status: 1 (Openclose01.status); voltage: 3035 (Openclose01.voltage);

Результат:
СпойлерПоказать
Безымянный2.png
Безымянный2.png (268.57 КБ) 5029 просмотров
Не забывайте про кнопку "спасибо" )

Re: Умная входная дверь!

Добавлено: Сб фев 17, 2018 4:15 pm
directman66
В планах:
1) По камере (нейросети, облачные системы распознавания (гугл и амазон), пока идет тестирование методов, похоже недостаточно разрешения камеры для распознавания, и место установки выбрано не подходящее.) или другим косвенным признакам (пингование телефонов, бт браслетов) определять кто пришел и приветствовать информационным сообщением (если до этого был статус дома никого нет:
а) если пришел взрослый, то рассказать какие письма есть непрочитанные в почте (в моем конекте есть пример получения данных гугл почты), какие оценки получил ребенок за день (сетевой город - пока не могу победить).
б) если ребенок, то рассказать ему про распорядок дня (погулять с собакой, разогреть обед, сделать уроки).

Re: Умная входная дверь!

Добавлено: Вс фев 18, 2018 11:45 am
zhulen820
Бьюсь несколько дней. Хочу реализовать то же самое, что у Вас. Не могу получить снимок с камеры. Камера ip купленная несколько лет назад в Китае, соответственно какой-либо информации по ней нет и не найти. Вывел на сцену изображение с нее, а вот как сделать снимок не пойму. Где Вы брали $image_url="http://192.168.1.32/webcapture.jpg?comm ... &channel=0"; для своей камеры??? Читал тему Telegramm, там много примеров получения снимка с камеры, ни один не подошел. Не могу разобраться в механизме получения этого изображения. Камера вещает RTSP поток, но ведь на сцене вывод получается не онлайн, а серия снимков с периодом в несколько секунд. Вроде как этим занимается ffmpeg, но как разобраться какую команду дать для получения снимка не знаю. Подскажите куда копать

Re: Умная входная дверь!

Добавлено: Вс фев 18, 2018 12:45 pm
Eraser
zhulen820 писал(а):Бьюсь несколько дней. Хочу реализовать то же самое, что у Вас. Не могу получить снимок с камеры. Камера ip купленная несколько лет назад в Китае, соответственно какой-либо информации по ней нет и не найти. Вывел на сцену изображение с нее, а вот как сделать снимок не пойму. Где Вы брали $image_url="http://192.168.1.32/webcapture.jpg?comm ... &channel=0"; для своей камеры??? Читал тему Telegramm, там много примеров получения снимка с камеры, ни один не подошел. Не могу разобраться в механизме получения этого изображения. Камера вещает RTSP поток, но ведь на сцене вывод получается не онлайн, а серия снимков с периодом в несколько секунд. Вроде как этим занимается ffmpeg, но как разобраться какую команду дать для получения снимка не знаю. Подскажите куда копать
Вот например, получаю не один кадр, а видео 15 секунд

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

 $video = "/var/www/files/out.mp4";
    exec("ffmpeg -y -i http://192.168.0.187:8081 -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 15 /var/www/files/out.mp4");
    include_once(DIR_MODULES . 'telegram/telegram.class.php');
    $telegram_module = new telegram();
    $telegram_module->sendVideoToAdmin($video,"Входная дверь"); 

Re: Умная входная дверь!

Добавлено: Вс фев 18, 2018 1:20 pm
zhulen820
А вот порт у Вашей камеры 8081 это порт чего: вебки, rtsp или вывод медиа(не знаю как он правильно называется)???

Re: Умная входная дверь!

Добавлено: Ср фев 17, 2021 1:19 pm
lihodeev
Имею такой датчик , логика его работы не очень понятна. При сработке присылает код открытой двери, через примерно 5 секунд присылает код исходного(зарытой двери), то есть факт забытой открытой двери установить невозможно? Это особенность или я чего то не понял? Может был у кого то опыт работы с подобным девайсом?