Железные компоненты

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Железные компоненты

Сообщение ErmolenkoM » Пт ноя 15, 2013 12:31 pm

усыплять компьютер за ненадобностью.
Сделал себе вот как:
на компьютере, который будем гасить установлен nnCron. Там простой скрипт: нашел файлик: удаляем файлик, выключаемся.
На Алисе: Записать файлик в папку.
Все.

Из-под винды гасить винду - есть варианты. Из-под линуха смог только так.
aka msh555
Cubian на Cubietruck, Connect
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Пт ноя 15, 2013 12:36 pm

Если платформа целевого ПК Win - то штатным shutdown (или с linux, нужна samba - типа net rpc shutdown -r -f -I 192.168.0.5 -U "mydomain\user".
Если платформа целевого ПК linux - настроить ssh авторизацию по ключам и выполнить что-то типа ssh -t user@192.168.1.11 "sudo poweroff".
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Пт ноя 15, 2013 12:37 pm

С файликом тоже конечно вариант :)
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Железные компоненты

Сообщение ErmolenkoM » Пт ноя 15, 2013 9:16 pm

платформа целевого ПК Win - то штатным shutdown (или с linux, нужна samba - типа net rpc shutdown -r -f -I 192.168.0.5 -U "mydomain\user".
А можно подробно? Гугление привело меня к мысли, что САМБА это домены и прочие навороты. Одна команда на выключение меня очень бы устроила.
aka msh555
Cubian на Cubietruck, Connect
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Пн ноя 18, 2013 9:11 am

Samba это реализация виндового протокола SMB для Linux и ещё кучка дополнительного типа AD, Kerberos и т.п. - http://ru.wikipedia.org/wiki/Samba

Вот http://www.howtoforge.com/how-to-remote ... nux-server (по русски http://system-administrators.info/?p=3468)
или вот http://www.mindflow.su/linux/udalyonnay ... -iz-linux/
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Чт ноя 28, 2013 11:22 am

Пока из Китая едут заказанные железки (ардуины, датчики, релюшки и пр.) и нормальная камера, а небольшой тестовый набор NooLite обещают привезти только сегодня-завтра, я решил подготовить видеонаблюдение.
Имеющаяся в закромах ip-камера не завелась, но не беда: всяких смартфонов на Android разной степени убитости - куча! :)
Есть замечательная программа IP Webcam: https://play.google.com/store/apps/deta ... pas.webcam, настраиваем, запускаем - камера телефона теперь доступна, например, по адресу http://192.168.83.166:8080 :)

Просто транслировать с камеры - это не интересно, надо писать по движению. В этом нам поможет Zoneminder, установка его на Ubuntu из пакетов стандартна (sudo apt-get install zoneminder), но после надо кое-чего поправить:
1. usermod -a -G video www-data или chmod 777 /dev/video0
2. если будут ошибки в логах: http://swip-admin.blogspot.ru/2013/04/zoneminder.html
3. добавить в /etc/init.d/zoneminder "sleep 15" после "zmfix -a"
4. добавить в конфиге апача /etc/apache2/sites-enabled/000-default строчки из /etc/zm/apache.conf

Дальше самая большая проблема - заставить видео показываться на мобильных устройствах. Засада тут в том, что по умолчанию Zoneminder транслирует в mjpeg, что мобильные браузеры как правило не понимают, и mpeg через swf (flash то из android выпилил довольно давно).
Не буду много растекаться по тексту, просто шаги (для Ubuntu 12.0.4 32bit):
1. sudo apt-get install ffmpeg x264
2. в настройках ZM:
Images -> OPT_FFMPEG галка, PATH_FFMPEG -> /usr/bin/ffmpeg
В "Широкий канал", "средний" и "узкий" -> WEB_H_CAN_STREAM no, WEB_H_STREAM_METHOD -> mpeg
3. Добавляем нашу камеру:
Тип источника -> удалённый
Функция -> modect
Источник
Remote Protocol -> HTTP
Remote Method -> Simple
Имя удаленного хоста -> 192.168.83.166
удаленный порт -> 8080
Путь на удаленном хосте -> /videofeed
разрешение - смотря что настроили на телефоне

теперь если открыть новый монитор, он должен показать картинку с камеры телефона, если показывает, тогда идём дальше.
Надо поставить на Android телефон с которого будем смотреть Flash, выбираем самую свежую версию отсюда: http://helpx.adobe.com/flash-player/kb/ ... sions.html
В MJD создаём HTML-код в нужном месте:

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

<p align="left">
<object id="liveStream" width="640" height="480" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" type="application/x-shockwave-flash">
<param name="movie" value="/cgi-bin/nph-zms?mode=mpeg&monitor=2&scale=100&bitrate=150000&maxfps=15&format=swf&connkey=256986&rand=1385619903">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" src="/cgi-bin/nph-zms?mode=mpeg&monitor=2&scale=100&bitrate=150000&maxfps=15&format=swf&connkey=256986&rand=1385619903" name="SonyErricsonLT" width="640" height="480" quality="high" bgcolor="#ffffff" <="" embed="">
</object>
<br><br><a href="/zm/index.php?view=watch&mid=2">Открыть</a><br><br>
</p>
Должно показывать! :) Несколько сумбурно, но идея думаю понятна.
Чуть позже опишу как передавать алармы из ZM в MJD.
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Пт ноя 29, 2013 6:04 pm

Второй вечер ковыряюсь с NooLite - всё отлично работает!
Хочу отметить, что если ремонт делал не ты, надо заранее посмотреть что там под выключателями: у меня, например, где-то вообще нет "подрозетника", бетон один, а где-то его подвернули на 45 градусов, и нет возможности попасть в дырки для крепления :twisted:
TangaRUS
Сообщения: 16
Зарегистрирован: Чт ноя 07, 2013 5:02 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Железные компоненты

Сообщение TangaRUS » Ср дек 11, 2013 12:52 pm

Для получения из ZM можно использовать такой скриптик (дёргает объект ZM_#):

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

#!/usr/bin/perl -w

use strict;

use ZoneMinder;

$| = 1;

#zmDbgInit( "myscript", level=>0, to_log=>0, to_syslog=>0, to_term=>1 );

my $dbh = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".ZM_DB_HOST, ZM_DB_USER, ZM_DB_PASS );

my $sql = "select M.*, max(E.Id) as LastEventId from Monitors as M left join Events as E on M.Id = E.MonitorId where M.Function != 'None' group by (M.Id)";
my $sth = $dbh->prepare_cached( $sql ) or die( "Can't prepare '$sql': ".$dbh->errstr() );

my $res = $sth->execute() or die( "Can't execute '$sql': ".$sth->errstr() );
my @monitors;
while ( my $monitor = $sth->fetchrow_hashref() )
{
    push( @monitors, $monitor );
}

while( 1 )
{
    foreach my $monitor ( @monitors )
    {
        next if ( !zmMemVerify( $monitor ) );
 
        if ( my $last_event_id = zmHasAlarmed( $monitor, $monitor->{LastEventId} ) )
        {
            $monitor->{LastEventId} = $last_event_id;
            #print( "Monitor ".$monitor->{Name}." has alarmed\n" );
            #
            # Do your stuff here
            #
			my $exec = 'wget -q -O /dev/null \'http://192.168.83.166/objects/?object=ZM_'.$monitor->{Id}.'&op=m&m=Alarm\'';
			system($exec); 
        }
    }
    sleep( 1 );
}
DiArt
Сообщения: 210
Зарегистрирован: Пт апр 12, 2013 2:27 pm
Откуда: Уфа
Благодарил (а): 28 раз
Поблагодарили: 16 раз

Re: Железные компоненты

Сообщение DiArt » Ср дек 11, 2013 2:44 pm

Интересно. Надо будет попробовать... Спасибо большое.
P.S. Не в тему будет сказано, я смотрю людей на Linux прибавляется и прибавляется. Я тоже перешёл с винды на ubuntu, ибо часто цикл отваливался.
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
Ответить