roboforum.ru

Технический форум по робототехнике.

Организация управления pan&tilt WiFi-камерой: Нужен совет

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 01 май 2011, 21:37

Продолжаю копаться и экспериментировать. Места во внутренней флешке правда не хватает, подцеплю дополнительную, USB - и перенесу часть (на период отладки - все, кроме ядра) программ туда.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 06 май 2011, 17:35

Движения распознает, крутится... Отлаживаю "самовозбуждение", когда камера продожает движение от того, что изображение в кадре изменилось в предыдущем движении.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 10 май 2011, 15:23

В общем-то на вопрос топикстартера ответить могу, хоть и не полностью: Можно. Без обработки напильником не обойтись, да... Вопрос про "фокусировку" остается открытым - у меня таких объективов нет. Но наводится на движущийся объект довольно успешно. Хоть и с задержкой. :) но над этим работаю.
Потребуется: Камера типа foscam 8908 (или клон, что дешевле намного). Или несколько камер.
Платформа для софта: Тестовая моя для отладки это P3 селерон 800 Мгц и 396 Мб памяти, винт IDE на 40 гб.
То есть хоть нетбук использовать можно. Разве что винт желательно от 200 Гб - чтобы много событий хранить.
Выкладываю текущий:
FoscamFI8908W.7z
Скрипт описания интерфейсов управления.
(2 КиБ) Скачиваний: 0

Попробую описать установку настройку ZoneMinder вкратце:
Код: Выделить всёРазвернуть
ZoneMinder для чайника или прелести секса с видеонаблюдением.
*оффтоп on*
Наверно каждому может пригодиться простая система видеонаблюдения. Следить за подъездом, за машиной... Да хоть за котом!
подумал о том чтобы неплохо поставить свою систему, с блекджеком и ш...(возможностью снимать эротику).
*оффтоп off*
Собрана тестовая машинка: интегрированная мать Asus P5KPL, процессор Cel 2.5 Ггц, память 2ГБ.
В качестве системного диска выбрана Compact Flsah на 8 ГБ - через переходник на IDE.
Для архива - SATA диск на 320 ГБ.

Шаг 1: Установка системы
Выбор пал на Debian, так как более привычен.
Флешка в картридер своей машины (вот в этом - главный плюс! В случае чего - в 2 минуты выдергивается, подмонтируется и правится).
Делаем три примари раздела:

/dev/sdb1 * 1 6 48163+ 83 Linux
/dev/sdb2 7 870 6940080 83 Linux
/dev/sdb3 871 974 835380 83 Linux

Первоначально хотел отвести 3 раздел под своп - но одумался.
Монтируем второй раздел, debootstrap - и через 5 минут получаем систему. Я ставил squeeze - так как ZM версии 1.24 требует свежих пакетов.
Монтируем первый раздел и ставим grub. Далее chroot в установленную систему, apt-get install mc ssh
Настраиваем сеть, apt, меню груба, ставим ядро (у меня 2.6.32-5-686).
Фух. Флешку - в тестовую машину, запускаем.

apt-get install zoneminder

Он тянет за собой все что нужно, так что пока скачаются мускуль и апач - пьем %любимый_напиток% и/или курим.

Шаг 2: Настройка
Тут я буду использовать инфо из инструкции по установке с оффсайта: http://www.zoneminder.com/wiki/index.php/Documentation#Installation_from...
Первым делом создаем ссылку для апача на конфиг сайта ZM:

sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

Потом перезапускам апач, мне почему-то потребовалось его перезапустить несколько раз, а может локальный кэш не обновлялся..

/etc/init.d/apache2 restart

Важно! Добавляем апача в группу video. Если не сделать - потратим лишний час на выяснение, почему нет картинки.

adduser www-data video

Заходим на http://Address_of_server/zm/index.php - и наблюдаем интерфейс.

И самое веселое - начинаем пытаться увидеть свои камеры...
Для теста я использовал дешевую и распространенную Web-камеру Defender G-Lens 324 (около 350 рублей цена)
Выглядит она так:

videoserv:/etc/apt# lsusb
Bus 005 Device 002: ID 093a:2620 Pixart Imaging, Inc.
Ставим пакет v4l-conf.
Делаем v4l-info /dev/video0
Видим самое главное:
general info
VIDIOC_QUERYCAP
driver : "pac7311"
card : "USB Camera (093a:2620)"
bus_info : "usb-0000:00:1d.3-2"
version : 2.7.0
capabilities : 0x5000001 [VIDEO_CAPTURE,READWRITE,STREAMING]

То есть определилась.
Пытаемся настроить в ZM:
Жмем "Add new monitor"
переходим на вкладку "Sources"
Заполняем:
Device Path /dev/video0
Capture Method Video For Linux version 2
Device Channel 0
Device Format PAL
Capture Palette JPEG
Capture Width 640
Capture Height 480
Preserve Aspect Ratio
Orientation Normal

Ссылки сверху (Probe и Presets) - нам бесполезны, предназначены для опознания нескольких сетевых камер.

Сохраняем, после обновления страницы смотрим на _цвет_ пути источника в колонке Source. Если красный - что-то не так.
Не отчаиваемся, клацаем в веб-интерфейсе на имя созданного монитора... И - беспорядочные полосы, помехи или вообще черный экран.
Ничего страшного. Для начала - открываем в консоли tail -f /tmp/* и посматриваем туда на предмет дебага.
Для теста устройства используем команду

videoserv:/etc/apt# zmu -d /dev/video0 -v -q
Video Device: /dev/video0
General Capabilities
Driver: pac7311
Card: USB Camera (093a:2620)
Bus: usb-0000:00:1d.3-2
Version: 2.7.0
Type: 0x5000001
Supports video capture (X)
Does not support video output
Does not support frame buffer overlay
Does not support VBI capture
Does not support VBI output
Does not support sliced VBI capture
Does not support sliced VBI output
Does not support video output overlay
Does not have tuner
Does not have audio in and/or out
Does not have radio
Supports read/write i/o (X)
Does not support async i/o
Supports streaming i/o (X)
Standards:
Formats:
PJPG (PJPG)
Crop Capabilities
Bounds: 0 x 0
Default: 0 x 0
Current: Cropping is not supported
Inputs: 1
Input 0
Name: pac7311
Type: Camera
Audioset: 00000000
Standards: 0x0
Power on (X)
Signal detected (X)
Colour Signal detected
Horizontal Lock detected


Если вывод осмысленный - то хорошо
Если нет - пробуем V4L версии 1

zmu -d /dev/video0 -v -q -V1

Должно быть что-то похожее:

videoserv:/etc/apt# zmu -d /dev/video0 -v -q -V1
Video Device: /dev/video0
Video Capabilities
Name: USB Camera (093a:2620)
Type: 1
Can capture
Video Channels: 1
Audio Channels: 0
Maximum Width: 640
Maximum Height: 480
Minimum Width: 48
Minimum Height: 32
Window Attributes
X Offset: 0
Y Offset: 0
Width: 640
Height: 480
Picture Attributes
Palette: 0 - Unknown
Colour Depth: 8
Brightness: 32768
Hue: 0
Colour :32639
Contrast: 32639
Whiteness: 0
Channel 0 Attributes
Name: pac7311
Channel: 0
Flags: 0
Type: 2 - Camera
Format: 0 - PAL

Для некоторых камер (моей - тоже) вывод содержит ошибку

Error, failed to query crop: /dev/video0: Invalid argument

Не страшно! Есть патч [FIX] ZM 1.24.2 "Error, failed to query crop"
(это нам не надо, порезал)

Хинт 1.
Если в выводе логов видим zmserver zmwatch[3093]: ERR [Can't get shared memory id '7a6d0001', 1: No such file or directory]
значит надо править (добавлять) в /etc/sysctl.conf

kernel.shmall = 268435456
kernel.shmmax = 268435456

Конкретное значение зависит от наличия памяти в системе. (требует перезагрузки) или:

echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax

Хинт 2. Работающий вариант добавления "совместимости":
Многие (не все) камеры USB требуют предварительной подгрузки библиотек v4l.
Берем и редактируем файд /usr/bin/zmdc.pl

После строки $ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL};

Вставляем подгрузку библиотек (лень оформлять патчем):

$ENV{LD_PRELOAD} = '/usr/lib/libv4l/v4l1compat.so';
$ENV{LD_PRELOAD} = '/usr/lib/libv4l/v4l2convert.so';

до строки:

delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};

Хинт 3.
В ZM можно настроить почти все камеры. Метод проверки вашего источника прост:

xawtv -c /dev/video0

Или

cheese

Или

mplayer tv:// -tv driver=v4l2:outfmt=yuy2:width=640:height=480:device=/dev/video0

Ну а "приятное" - настройка датчика движения и прочего - уже через веб-интерфейс.
Да, место где хранится информация указывается ссылкой в /usr/share/zoneminder/events

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

moldov » 22 май 2011, 11:56

Ого себе:) Занимаюсь тем же самым:)))

Расковырял web интерфейс и подправил некоторые файлы.
Реализовал посыл команд через JavaScript прямо в web интерфейс с помощью кнопок клавиатуры.
[img]
download/file.php?mode=view&id=20570
[/img]


На данный момент столкнулся с проблемой, не могу читать из ttyS0 порта камеры.
Хотелось бы читать данные с Atmega подсоединенного к TTY камеры. Написал простенькую программу, которая читает данные с tty порта в камере и по идее должна складывать эти данные в файл на web-сервере.

Столкнулся с проблемой. Данные от AVR не приходят в порт камеры. Вернее приходят но коряво.

Код: Выделить всёРазвернуть
#include <fcntl.h> /* open() and O_XXX flags */
int main (int argc, char ** argv)
{
const char * name = "/home/kiss.txt";
int mode = 0777;
int flags = O_WRONLY | O_CREAT | O_EXCL;

int fd = open (name , flags, mode);
printf ("File descriptor is: %d", fd);
write (fd, "<HTML>",6);

int fd1 = open ("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY );
if (fd1 == -1) {
perror ("open_port:Unable to open /dev/ttyS0 - ");
}
else {
char buffer[3];
fcntl (fd1, F_SETFL,0);
printf ("File descriptor is: %d", fd1);
while (1) {
read (fd1,buffer,3);
write (fd, buffer,3);
}

close (fd1);
}

close (fd);

}


Присоединил камеру к Atmega в VMLAB и отправляю команды следующим образом
http://192.168.1.3/comm_write.cgi?port= ... =2&data=$F
в VMLAB все приходит. Отправляю данные из VMLAB в порт - отправляются, но не доходят до камеры. Вернее доходят но в файл не попадают. И только когда я отсоединяюсь от VMLAB и подключаюсь терминалом на tty камеры все мои команды быстро появляются в терминале и попадают в файл. Как будто они попали в какой-то буфер и подсоединение к терминалу инициирует опорожнение:) этого буфера в терминал. Плюс перенаправление вывода с программы camera в /dev/null не работает, и на Atmega много всякой дряни приходит от камеры, которую надо фильтровать.

Из-за того что застрял на этом стал ковырять в другом направлении - собственная прошивка камеры. Инструменты взял с OpenIPCAM.com
Там люди этим же самым занимаются. На данный момент собрали прошивку с JFFS, mathopd (собственный сервер) и Video4Linux обещают opkg. Склоняюсь к такому варианту, так как монолитная camera не есть гут, а вот мини программы Unix Phylosofy мне больше подходят, можно настраивать потом как хочешь. Также пересобираю свое ядро, но от неполных знаний получается не очень. Хочу все лишнее с ядра выкинуть так как в умолчальном ядре много всякого барахла и левых драйверов. На openipcam лежат исходники для моего Wi-Fi модуля в камере VT6656 , но я не смог их скомпилировать под uClinux, а тот драйвер что лежит на сайте не хочет insmod'ится так как собран под более свежее ядро. admin на OpenIPCam обещал в скором времени все выложить в широкий доступ так что можно будет свое собственное ядро и прошивку собирать, так как все эти камеры, смотря какой китаец их делал, немного отличаются железом. В общем будет что-то на подобии OpenWRT:) Жду не дождусь, а пока поднимаю свои linux kernel skills:)


Базировался на http://foscam-util.svn.sourceforge.net/ ... iew=markup но там метод упаковки для свежих прошивок не подходит. Поэтому собираю программой оттуда, затем меняю в заголовке значения еще одной приблудой-калькулятором.

Они обновили тул, теперь все подходит и работает, сам паковал и шил.

С огромным удовольствием поучаствовал бы в коллективном проекте, основанном на Foscam linux based камерах.
Так знаний у меня немного да и те - довольно разношерстны:) А на OpenCam информация появляется редко, так что сам ковыряю:)
Вложения
Cam.png
Распознает нажатую кнопку клавиатуры и отсылает команду

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 22 май 2011, 15:18

Будем вместе пробовать. :) мне тоже ближе модульная система.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

netbus » 19 апр 2012, 19:45

Здравствуйте!

Набрел на эту ветку форума, с похожим вопросом.
Подскажите пожалуйста, реально ли к данной камере прикрутить 3G модем?

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

Myp » 19 апр 2012, 23:22

нет, и не спрашивай почему =)
попробуй разобрать и собрать прошивку для камеры, когда у тебя это получится то вопрос отпадёт сам собой.

но данную камеру можно прикрутить к 3G роутеру.
китайцы кстати продают отличные и дешовые 3G роутеры.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

netbus » 20 апр 2012, 00:55

Мур, спасибо за ответ. Очень категорично.
Но меня в таком ответе смущает вот что. В камере к первому USB подключена WiFi сетевая плата, и работает. Но это не все. Я понимаю, что любой USB 3G модем - это АТ-модем, а wifi плата это network card. Однако мне недавно попался в руки LTE модем (правда с впаянной симкой) и он является именно сетевым адаптером.
Как думаешь, есть смысл в этом направлении копать?

3G роутеры у китайцев конечно же есть, я уже скупил почти все, что бывает в миниатюрном исполнении, но все равно они слишком здоровые. Уже смотрю в сторону того, чтобы самому сделать роутер.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

Myp » 20 апр 2012, 08:41

подключить можно хоть бегемота, если к нему есть драйвера.
в камере всё работает потому что драйвера под всё китайцами были написаны.

так же и с донглом, есть дрова нет проблем.
так что теоретически и тут можно разобрать прошивку, впихнуть туда драйвера для модема и собрать обратно.
openwrt и подобные можно посмотреть насчёт того как у них это сделано.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

elmot » 20 апр 2012, 10:26

Проще всего IP камера, можно не wifi, мелкий роутер, типа TPLINK-MR3020 и модем. На копание в потрохах камеры уйдет невероятное количество сил и времени, это я как краевед вам обещаю.

Вот только хватит ли модему восходящей скорости на человеческое видео?

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

Myp » 20 апр 2012, 10:52

явно не хватит, а пережимать в убогий размер нечем.
но фотки слайд шоу слать можно будет)

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 20 апр 2012, 11:34

netbus писал(а):Здравствуйте!

Набрел на эту ветку форума, с похожим вопросом.
Подскажите пожалуйста, реально ли к данной камере прикрутить 3G модем?

Ну так надо попробовать - если ядро (а оно там стандартное) съест модем - то и проблем почти нет.
Что надо:
1. Прицепиться к UART камеры - имеем консоль
2. спаять USB разьем.
3. Инструментарий для сборки прошивки (есть, да хоть у меня - по одному щелчку собирает) Хотя проще временно вынести корень на флешку.
4. Закомментить запуск camera в init.sh
5. Залить прошивку.
6. Попробовать модем.
7. собрать (найти) pppd
8. добавить скрипт инициализации и дозвона в init.sh

Добавлено спустя 1 минуту 13 секунд:
Myp писал(а):явно не хватит, а пережимать в убогий размер нечем.
но фотки слайд шоу слать можно будет)

Так есть же разрешение 160. Оно там не пережимается - просто усредняются четыре соседних пикселя.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

Myp » 20 апр 2012, 14:53

есть то оно есть, вопрос в том умеет ли камера его выдавать.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

RootAdmin » 20 апр 2012, 17:36

Умеет. Сама по себе, можно либо в настройках переключить либо в запросу указывать.

Re: Организация управления pan&tilt WiFi-камерой: Нужен сове

Myp » 20 апр 2012, 19:21

хм
а моя по документам тока 2 разрешения умеет
VGA и QVGA


Rambler\'s Top100 Mail.ru counter