Мрежата
mjpg_streamer, zoneminder and Nokia E52 - Проверка на детето, дали спи докато си попийваме нощем на бара с жената?
by Илия Няголов on авг.20, 2010, under Мрежата, Разни
Още един пост от морето, вече ми писна да почивам :).
Понеже жената всеки ден до като си пием разните напитки на бара, постоянно ходи до стаята, ако малкия не е с нас. Един следобед реших че трябва да направя нещо по въпроса.
Първо да спомена, на лаптопа си имам вградена камера.
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.

3. Nokia E52.
Най-несполучливия модел на Nokia
.
Малко скриншоти на моя телефон със zoneminder-а. Ако се загледате внимателно ще видите как синът ми спи здраво.
4. Схема на цялата постановка.

Дано бъда полезен на някого с това, защото на мен ми свърши страхотна работа
, всека ден беше здрав купон.
Управление на SONY (SNCRZ25N) камери за Zoneminder-1.24.2
by Илия Няголов on авг.14, 2010, under Линукс, Мрежата
Още едно кратко постче от морето.
Малко код от скрипта.
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
by Илия Няголов on авг.13, 2010, under Мрежата
Едно кратко постче от морето.
Файла може да изтеглите от тук.
Благодарение на “servbg” и 3 часа от мен
.
Cacti + scripts + Gentoo = Графика на трафика през eth1
by Илия Няголов on май.11, 2010, under Линукс, Мрежата
Доскоро всичките ми графики бяха разхвърлени из сървъри те ми, изчертавани от 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-2net-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 kBTotal: 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
# rm -r /var/www/localhost/htdocs/cacti/install/
С това приключва инсталирането на Cacti.
(continue reading…)
pppoe-server : PADT for session received from ….. should be from ….
by Илия Няголов on авг.04, 2009, under Мрежата
Заглавието е малко странно, но това е моя проблем
.
От както мои клиенти си взеха безжични рутери D-Link DL-524, забелязвам от време на време странни аномалии в логовете на моите ppp-терминали, а те са:
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A2:3E:4B; should be from 00:E0:4C:04:C4:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A1:96:8F; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A1:86:2B; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A3:DA:6B; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:8F:13:47; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A1:BC:AD; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A3:D7:CB; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:9D:62:5D; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:9D:6A:2F; should be from 00:E0:3C:04:C1:EC
pppoe-server[4749]: PADT for session 173 received from 00:22:B0:A2:BD:A1; should be from 00:E0:3C:04:C1:EC
и така по няколко хиляди реда лог-файл за една секунда :(.






