Ceci & Tati

mjpg_streamer, zoneminder and Nokia E52 - Проверка на детето, дали спи докато си попийваме нощем на бара с жената?

от Илия Няголов на авг.20, 2010, категории Мрежата, Разни

Още един пост от морето, вече ми писна да почивам :).
Понеже жената всеки ден до като си пием разните напитки на бара, постоянно ходи до стаята, ако малкия не е с нас. Един следобед реших че трябва да направя нещо по въпроса.

Първо да спомена, на лаптопа си имам вградена камера.

ilia-asus ~ # v4l-info

### v4l2 device info [/dev/video0] ###
general info
VIDIOC_QUERYCAP
driver                  : “uvcvideo”
card                    : “USB2.0 1.3M UVC WebCam”
bus_info                : “usb-0000:00:1d.7-6″
version                 : 0.1.0
capabilities            : 0×4000001 [VIDEO_CAPTURE,STREAMING]

standards

inputs
VIDIOC_ENUMINPUT(0)
index                   : 0
name                    : “Camera 1″
type                    : CAMERA
audioset                : 0
tuner                   : 0
std                     : 0×0 []
status                  : 0×0 []

video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index                   : 0
type                    : VIDEO_CAPTURE
flags                   : 0
description             : “YUV 4:2:2 (YUYV)”
pixelformat             : 0×56595559 [YUYV]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type                    : VIDEO_CAPTURE
fmt.pix.width           : 320
fmt.pix.height          : 240
fmt.pix.pixelformat     : 0×56595559 [YUYV]
fmt.pix.field           : NONE
fmt.pix.bytesperline    : 640
fmt.pix.sizeimage       : 153600
fmt.pix.colorspace      : unknown
fmt.pix.priv            : 0
……

Използвам стандартния модул (драйвер) за камерата.

ilia-asus ~ # modinfo uvcvideo
filename:       /lib/modules/2.6.34-gentoo/kernel/drivers/media/video/uvc/uvcvideo.ko
version:        v0.1.0
license:        GPL
description:    USB Video Class driver
author:         Laurent Pinchart <laurent.pinchart@skynet.be>
srcversion:     6B23A0D849FE5EC0262441F
alias:          usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1B3Bp2951d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00*

1. mjpg_stream съм го инсталирал, от тук http://bugs.gentoo.org/260969. Точно кое как става няма да навлизам в подробности.
Чрез тази златна програма преобразувам видео сигнала, в мрежов поток. За да може този поток от данни да мине през NAT, аз си пускам тунел и посредством него, лаптопа и zoneminder-а стават видими в една мрежа.

mjpg_streamer -i “input_uvc.so -d /dev/video0 -y -r 320×240 -f 4 -q 40″ -o “output_http.so -p 8090″
Да подчертая нещо много важно за моята камера!
[-y | --yuv ]……….: enable YUYV format and disable MJPEG mode

2. Приемаме че Zoneminder е инсталиран вече, на някаква отдалечена машина, с твърдо реално IP.

zone2

3. Nokia E52.
Най-несполучливия модел на Nokia :) .


Малко скриншоти на моя телефон със zoneminder-а. Ако се загледате внимателно ще видите как синът ми спи здраво.

4. Схема на цялата постановка.

zone1

Дано бъда полезен на някого с това, защото на мен ми свърши страхотна работа :) , всека ден беше здрав купон.

въведете коментар прочетете повече...

Управление на SONY (SNCRZ25N) камери за Zoneminder-1.24.2

от Илия Няголов на авг.14, 2010, категории Линукс, Мрежата

Още едно кратко постче от морето.

Малко код от скрипта.

sub presetHome
{
my $self = shift;
Debug( “Move Stop” );
my $cmd = “/command/presetposition.cgi?HomePos=ptz-recall”;
$self->sendCmd( $cmd );
}

sub moveAbsUp
{
my $self = shift;
Debug( “Move up” );
my $cmd = “/command/ptzf.cgi?move=up”;
$self->sendCmd( $cmd );
}
sub moveAbsUpLeft
{
my $self = shift;
Debug( “Move up-left” );
my $cmd = “/command/ptzf.cgi?move=up-left”;
$self->sendCmd( $cmd );
}
sub moveAbsUpRight
{
my $self = shift;
Debug( “Move up-right” );
my $cmd = “/command/ptzf.cgi?move=up-right”;
$self->sendCmd( $cmd );
}

sub moveAbsDown
{
my $self = shift;
Debug( “Move Down” );
my $cmd = “/command/ptzf.cgi?move=down”;
$self->sendCmd( $cmd );
}
sub moveAbsDownLeft
{
my $self = shift;
Debug( “Move Down-left” );
my $cmd = “/command/ptzf.cgi?move=down-left”;
$self->sendCmd( $cmd );
}
sub moveAbsDownRight
{
my $self = shift;
Debug( “Move Down-right” );
my $cmd = “/command/ptzf.cgi?move=down-right”;
$self->sendCmd( $cmd );
}

sub moveAbsLeft
{
my $self = shift;
Debug( “Move Left” );
my $cmd = “/command/ptzf.cgi?move=left”;
$self->sendCmd( $cmd );
}

sub moveAbsRight
{
my $self = shift;
Debug( “Move Right” );
my $cmd = “/command/ptzf.cgi?move=right”;
$self->sendCmd( $cmd );
}

sub zoomRelTele
{
my $self = shift;
# my $params = shift;
# my $step = $self->getParam( $params, ’step’ );
Debug( “Zoom Tele” );
my $cmd = “/command/ptzf.cgi?Move=tele,2″;
$self->sendCmd( $cmd );
}

sub zoomRelWide
{
my $self = shift;
# my $params = shift;
# my $step = $self->getParam( $params, ’step’ );
Debug( “Zoom Wide” );
my $cmd = “/command/ptzf.cgi?Move=wide,2″;
$self->sendCmd( $cmd );
}

(Цялата публикация…)

въведете коментар прочетете повече...

Превод на български за Zoneminder-1.24.2

от Илия Няголов на авг.13, 2010, категории Мрежата

Едно кратко постче от морето.


snapshot1a

Файла може да изтеглите от тук.

Благодарение на “servbg” и 3 часа от мен :) .

въведете коментар прочетете повече...

Една супер вечер в гр.Обнинск, едно жестоко барбекю. (06.07.2010)

от Илия Няголов на юли.29, 2010, категории Разни, Спорт


Жестока подготовка, така се прави.

Като ги гледа тези неща отново, мога да кажа само едно, не съм гладен, не ми харесва и въобще не лъжа :) .

Правят го почети като в България :) .

За малко да забравя този линк със снимки от Обнинс и Москва.
(Цялата публикация…)

1 коментар прочетете повече...

Cacti + scripts + Gentoo = Графика на трафика през eth1

от Илия Няголов на май.11, 2010, категории Линукс, Мрежата

Доскоро всичките ми графики бяха разхвърлени из сървъри те ми, изчертавани от MRTG и RRDTool. Затова реших да събера всички графики на едно място и се сетих за един стар приятел, а именно Cacti.
Така да се каже, това се прави накрая когато мрежата ти е стабилна и имаш повечко свободно време :).

1. Инсталиране на Cacti.

1.1 Emerge

# emerge -s cacti
Searching…
[ Results for search key : cacti ]
[ Applications found : 2 ]

net-analyzer/cacti
Latest version available: 0.8.7e-r1
Latest version installed: [ Not Installed ]
Size of files: 2,201 kB
Homepage: http://www.cacti.net/
Description: Cacti is a complete frontend to rrdtool
License: GPL-2

net-analyzer/cacti-spine
Latest version available: 0.8.7e-r1
Latest version installed: [ Not Installed ]
Size of files: 770 kB
Homepage: http://cacti.net/spine_info.php
Description: Spine is a fast poller for Cacti (formerly known as Cactid)
License: LGPL-2.1

# emerge -av cacti cacti-spine

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild N ] dev-php/adodb-5.08a 526 kB
[ebuild N ] net-analyzer/cacti-0.8.7e-r1 USE=”snmp -doc -vhosts” 2,202 kB
[ebuild N ] net-analyzer/cacti-spine-0.8.7e-r1 771 kB

Total: 3 packages (3 new), Size of downloads: 3,498 kB

Would you like to merge these packages? [Yes/No] Yes

1.2 Копиране

# cp -a /usr/share/webapps/cacti/0.8.7e-r1/htdocs/ /var/www/localhost/htdocs/cacti

1.3 Mysql

mysqladmin -p –user=root create cacti
mysql -u root -p cacti < /var/www/localhost/htdocs/cacti/cacti.sql
rm /var/www/localhost/htdocs/cacti/cacti.sql
mysql -p –user=root mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ’somepassword’;
mysql> flush privileges;
mysql> quit

1.4 Редактиране на файла “/var/www/localhost/htdocs/cacti/include/config.php”

<?php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “somepassword”;
$database_port = “3306″;
?>

1.5 Apache
Създаване на файл “/etc/apache2/vhosts.d/cacti.conf” и рестартиране на web сървъра.

<Directory “/var/www/cacti.sharcom.org/htdocs/rra”>
<IfModule mod_php5.c>
php_admin_flag engine off
</IfModule>
</Directory>

1.6 Crontab
Долните два реда се добавят в “/etc/crontab” и се рестартира демона.

#cacti
*/1 * * * * apache /usr/bin/php /var/www/localhost/htdocs/cacti/poller.php > /dev/null 2>&1

1.7 Web

cacti1


cacti2


cacti2


cacti2


cacti2


cacti2

# rm -r /var/www/localhost/htdocs/cacti/install/

С това приключва инсталирането на Cacti.
(Цялата публикация…)

въведете коментар прочетете повече...

Нещто не намирате ли?

Потърси в блога ми:

Моля Ви не прекалявайте с информацията!