Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2015, 14:30   #1
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 120
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
По умолчанию DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Есть у меня D-Link Dir-620 ревизия D1. Верой и правдой служил много лет, но недавно поменял его на Keenetic Giga II. (Стыдно перед старым другом, но функционал не много не тот). Тут я и нашел рессурс : "Прошивка DIR-620 OpenWRT" , и понял , что не все так уж и плохо для него. Он может еще послужить мне. Есть у меня дача, расположена от города в 30 км. Кроме поливной воды и канала, в котором можно купаться, нет ни чего (света, нормальной дороги, газа, ну и самого главного инета). С электричеством проблему решил, благо солнышко еще не кто не отменял, а соответственно информационный вакуум был решен с помощью телевизора. Но как хочется общаться с друзьями, близкими и т.д. Вот тут и всплыл Dir-620, USB модем Huawey E-173u, оператор Beelin (это не реклама, но у нас только он здесь работает нормально, все остальные проиграли после долгих проверок).

Ну поехали!

Буду описывать последовательность действий, как делаю сам и что получилось. Ссылки на статьи буду вкладывать в текст.

Переворачиваем роутер и смотрим ревизию прошивки. У меня она: D1.
Если у Вас тоже, то качаем прошивку : Ревизия D1
Если у Вас ревизия А1, тоже не беда качаем: Ревизия A1


Сразу скажу, что решение прошивать принимаете Вы сами!
Так , что меня не пинать.
Скажу, что это: " Не я!"


Начинаем:
Подключаем роутер через один из четырех портов LAN к компьютеру.
Выключаем роутер, зажимаем на передней панели кнопку , включаем роутер не отпуская кнопку, считаем до 30, отпускаем кнопку. Настраиваем сетевую карту в компьютере так:
Нажмите на изображение для увеличения
Название: сеть1.png
Просмотров: 412
Размер:	18.6 Кб
ID:	2889

Набираем в браузере: 192.168.0.1. Видим:
Название: 1.png
Просмотров: 9685

Размер: 20.0 Кб

Выбираем файл прошивки, для Вашей ревизии:
Название: 2.png
Просмотров: 9662

Размер: 19.1 Кб

Нажимаем отправить и ждем пока прошьется, это порядка 5 минут. Он перезагрузится. Светодиод питания должен перестать моргать, а сетевой линк должен мигать в стандартном режиме.
Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 304
Размер:	22.3 Кб
ID:	2892

Настройки сетевой меняем на авто получения адреса, или вот так:
Нажмите на изображение для увеличения
Название: сеть2.png
Просмотров: 300
Размер:	18.5 Кб
ID:	2908
Набираем в браузере: 192.168.1.1
Нажмите на изображение для увеличения
Название: 4.jpg
Просмотров: 322
Размер:	47.6 Кб
ID:	2893
Прекрасно.
Логинимся, просто нажимаем: "Login" и попадем на страницу ввода своего пароля:
Нажмите на изображение для увеличения
Название: 5.png
Просмотров: 293
Размер:	7.6 Кб
ID:	2894
Вводим свой пароль и не Забываем внизу нажать кнопочку:"Сохранить и применить"(там по аглицки).
Пытаемся куда нибудь зайти, нам предлагается авторизоваться. Вводим свой, только, что введенный пароль и мы вошли в Luci.
Название: 6.png
Просмотров: 9609

Размер: 7.4 Кб
Название: 7.png
Просмотров: 9599

Размер: 6.0 Кб

Подключаем роутер через порт Wan к интернету.
Переходим в : System/Software:
Нажмите на изображение для увеличения
Название: 8.png
Просмотров: 311
Размер:	20.8 Кб
ID:	2897

Жмем кнопку: "Обновить пакеты"
Нажмите на изображение для увеличения
Название: 9.png
Просмотров: 397
Размер:	28.6 Кб
ID:	2898

Пакеты обновились, прекрасно.
Набираем в строке "Filter" : luci. На закладке : Available packages (luci) находим файл:
luci-i18n-russian и устанавливаем его.

Нажмите на изображение для увеличения
Название: 12.png
Просмотров: 337
Размер:	4.7 Кб
ID:	2899
Нажмите на изображение для увеличения
Название: 13.png
Просмотров: 335
Размер:	5.7 Кб
ID:	2900

И о чудо! Великий и могучий.

Нажмите на изображение для увеличения
Название: 14.png
Просмотров: 289
Размер:	6.2 Кб
ID:	2901

Теперь надо подключить внешний FLASH накопитель как системный диск. Памяти то, мало.
Статьи:
Умный Дом

Сообщество EasyElectronics


Подключаемся через PUTTY
Устанавлиаем пакеты.
Код:
opkg update
opkg install kmod-usb2
insmod ehci-hcd
opkg install kmod-usb-core kmod-usb-storage kmod-fs-ext4 kmod-scsi-core block-mount e2fsprogs fdisk
Смотрим как флешка определась системой: (у меня она 16Гб)
fdisk -l
USB Flash-диск должен определится как sda

Сначала создаем на USB Flash разделы:
fdisk /dev/sda

Выполняем следующие команды:
Command (m for help): d
Partition number (1-4): 1

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
No partition is defined yet!

Если появилось сообщение No partition is defined yet! тогда идем дальше
Создаем сначала третий раздел для Swap:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

[B] Partition number (1-4): 3
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): +128M

Создаем два раздела : системный и домашний:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): +5G

Создаем домашний раздел, используем для него все оставшееся пространство на флешке:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 2
First cylinder (xx-xxx, default xx): жмем Enter
Using default value xx
Last cylinder or +size or +sizeM or +sizeK (xx-xxx, default xxx): жмем Enter

Третий раздел у нас должен быть Swap, меняем тип для него:
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): a
Partition number (1-4): 1

Смотрим, что получилось:
Command (m for help): p

Выходим:
Command (m for help): w

Разделы созданы, форматируем их, одновременно присваивая им метки:

Код:
mkswap -L CyberSwap /dev/sda3
mkfs.ext4 -L CyberWrt /dev/sda1
mkfs.ext4 -L CyberHome /dev/sda2
Теперь:

reboot

Смотрим как флешка определась системой:
fdisk -l

Код:
Disk /dev/sda: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe1a8e1a8

Device    Boot     Start       End   Blocks  Id System
/dev/sda1 *       264192  10749951  5242880  83 Linux
/dev/sda2       10749952  31116287 10183168  83 Linux
/dev/sda3           2048    264191   131072  82 Linux swap / Solaris
Настройка прошивки для загрузки с внешнего накопителя

Заходим на роутер SSH-клиентом, используя логин root и пароль, установленный через веб-админку. Редактируем файл /etc/config/fstab.

vi /etc/config/fstab
Для начала включим автомонтирование swap-раздела на USB-HDD/USB-флешке.
Для этого в блоке global присвоим опции auto_swap значение 1.
А так же в блоке swap опции enabled значение 1.
Редактируем первую секцию «mount» для монтирования раздела накопителя поверх основной файловой системы.
Узнать UID диска можно с помощью программы blkid, установив ее:
Код:
opkg update
opkg install blkid
blkid

Результат:
Код:
root@OpenWrt:~# blkid
/dev/mtdblock4: TYPE="squashfs"
/dev/sda1: LABEL="CyberWrt" UUID="91054dc0-88de-4e99-bd92-2151ee729de7" TYPE="ext4" PARTUUID="e1a8e1a8-01"
/dev/sda2: LABEL="CyberHome" UUID="af62f232-d026-4c21-996b-0ad89b7dd29d" TYPE="ext4" PARTUUID="e1a8e1a8-02"
/dev/sda3: LABEL="CyberSwap" TYPE="swap" PARTUUID="e1a8e1a8-03"
Или можно воспользоваться утилитой block detect

Она поможет создать файл /etc/config/fstab с нуля и все UID уже будут стоять на месте. Есть два варианта:
Очистить полностью файл fstab или использовать готовый, в этом случае в нем создадутся два практически одинаковых варианта настроек, вернее новые допишутся в конец файла. Поэтому верхние настройки (дубликаты)надо убрать.

block detect >> /etc/config/fstab

Для монтирования других разделов, будет использоваться файл fstab, хранящийся на внешнем накопителе:
Код:
        
config 'global'
        option  auto_swap       '1'
config 'mount'
        option  target  '/overlay'
        option  uuid    'UID диска SDA1'
        option  enabled '1'
config 'swap'
        option  device  '/dev/sda1'
        option  enabled '1'
Сохраняем, но не перезагружаемся. Надо подготовить overlay-раздел на флешке.
Монтируем новый диск и копируем на него все необходимое:
Код:
mkdir -p /mnt
mount -t ext4 /dev/sda1 /mnt -o rw,sync 
tar -C /overlay -cvf - . | tar -C /mnt -xvf -
Перезагружаем роутер, заходим через Putty.
Проверяем смонтировался ли диск?

df -h

код
Код:
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    4.8G     17.5M      4.5G   0% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.3M    348.0K     14.0M   2% /tmp
/dev/sda1                 4.8G     17.5M      4.5G   0% /overlay
overlayfs:/overlay        4.8G     17.5M      4.5G   0% /
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda2                 9.4G     21.9M      8.9G   0% /home
создаём точку монтирования для домашней директории:home

mkdir /home

Редактируем файл /etc/config/fstab.

vi /etc/config/fstab
В конечном итоге, он должен выглядеть вот так:
код:

Код:
config 'global'
        option  anon_swap       '0'
        option  anon_mount      '0'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '5'
        option  check_fs        '0'

config 'mount'
        option  target  '/overlay'
        option  uuid    'UID диска SDA1'
        option  enabled '1'

config 'mount'
        option  target  '/home'
        option  uuid    'UID диска SDA2'
        option options 'noatime, async'
        option  enabled '1'

config 'swap'
        option  device  '/dev/sda3'
        option  enabled '1'
Чтобы продлить жизнь флешке раздел для домашних директорий с опциями async и noatime.
Или делаем тоже самое зайдя в LUCI: Система/Точки монтирования
Перезагружаемся!
Смотрим как примонтировались системный и домашний диск:

df -h

код:

Код:
root@OpenWrt:~# df -h
Filesystem                Size      Used   Available  Use% Mounted on
rootfs                      4.8G     13.6M      4.5G   0%       /
/dev/root                 2.3M      2.3M         0    100%    /rom
tmpfs                     14.3M    464.0K     13.9M   3%    /tmp
/dev/sda1                4.8G     13.6M      4.5G    0%    /overlay
overlayfs:/overlay      4.8G     13.6M      4.5G    0%     /
tmpfs                      512.0K         0      512.0K   0%   /dev
/dev/sda2                 9.4G     21.9M      8.9G    0%   /home

Проверяем SWAP раздел:

free

код:
Код:
root@OpenWrt:~# free
                   total         used         free       shared      buffers
Mem:         29372        25688         3684            0         3548
-/+ buffers:              22140         7232
Swap:       131068            0       131068
Все здорово.

Устанавливаем поддержку кодировок
Код:
opkg update
opkg install kmod-nls-cp1251 kmod-nls-koi8r kmod-nls-utf8 kmod-nls-cp866 kmod-nls-cp437
Устанавливаем нужные пакеты:

Код:
opkg install kmod-input-core kmod-video-core kmod-video-uvc

Устанавливаем Midnight Commander

Ссылки на статьи:
Умный дом

Код:
opkg update
opkg install mc
Для правильной работы MC, перед запуском нужно выполнить:
Код:
export TERMINFO="/usr/share/terminfo"
export TERM="xterm"
mc
Но что бы каждый раз не писать эти строчки перед запуском, то лучше прописать их в файле profile:

vi /etc/profile
Код:
export TERMINFO=/usr/share/terminfo
export TERM=xterm
Далее запускаем Putty. Подключаемся по адресу 192.18.1.1
Логинимся: root, Ваш пароль.
Копируем весь этот код и вставляем в окно Putty:

Код:
opkg update
opkg install comgt
opkg install kmod-usb-core
opkg install kmod-usb-serial
opkg install kmod-usb-serial-option
opkg install kmod-usb-uhci
opkg install usb-modeswitch
opkg install usb-modeswitch-data
opkg install kmod-usb2
opkg install kmod-usb-ohci
opkg install kmod-usb-serial-wwan
opkg install kmod-usb-acm
opkg install sdparm
opkg install luci-proto-3g
opkg install kmod-usb-serial-ipw
opkg install chat
opkg install ppp
opkg install libusb-1.0
opkg install firewall
opkg install luci-proto-ppp 
opkg install luci-app-firewall
Смотрим как устанавливаются пакеты, в конце жмем один раз ENTER.

Нажмите на изображение для увеличения
Название: 19.png
Просмотров: 405
Размер:	29.9 Кб
ID:	2902
Перезагружаемся.
Заходим в Сеть/Интерфейсы:
Жмем кнопку:
Интерфейс WAN/редактировать этот интерфейс. (это, чтобы не заморачиваться потом с настройками firewall и т.д., все равно у меня на даче кабельного инета нет и долго еще ( читай никогда) не будет) и меняем протокол

Нажмите на изображение для увеличения
Название: 22.png
Просмотров: 287
Размер:	3.2 Кб
ID:	2905

Название: 21.png
Просмотров: 9533

Размер: 4.8 Кб

Выбираем протокол: UMTS/GPRS/EV-DO, не забываем нажать кнопку "Изменить протокол".
Сохраняем, заходим в настройки только, что измененного интерфейса WAN.

Выбираем модем: USB0
Тип службы, на рисунке только: 3G.
APN: точка доступа ОПСОСа
PIN: если включена проверка PIN кода на сим карте.
Имя пользователя и пароль. Все согласно рекомендациям сотового оператора.
Нажимаем: "Сохранить и применить"


Нажмите на изображение для увеличения
Название: 23.png
Просмотров: 454
Размер:	14.6 Кб
ID:	2906

Заходим в Сеть/Интерфейсы и через некоторое время видим, что 3G модем достучался до оператора.
Название: 24_1.png
Просмотров: 9550

Размер: 47.4 Кб


Ну, что ж в инет я вышел.
Настраиваем локальную сеть, настраиваем WiFi. Через LUCI это быстро(ну окошки больше привычны).
Вот конфиги (это секции которые надо настроить, остальное не менять) Это для любителей работать с конфигами, а не с окошками :-) :

NETWORK:


Код:
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option macaddr '90:94:e4:ed:a5:58'
        option ipaddr '192.168.2.254'  #это адрес  Вашего роутера
DHCP:

Код:
config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'

config dhcp 'lan'
        option interface 'lan'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
        option start '11' # это с какого и по какой адрес
        option limit '60'# DHCP будет раздавать
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
WIRELESS:

Код:
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path '10180000.wmac'
        option htmode 'HT20'
        option txpower '20'
        option country '00'

config wifi-iface
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Имя Вашей Сети'
        option encryption 'psk-mixed'
        option key 'ПарольСети'
Если Вы просто поменяли настройки WAN интерфейса, то firewall трогать не надо.


Все это здорово конечно! Но вопрос ведь не только выходить в Инет, но еще хотелось бы и иметь возможность подключаться удаленно к даче и вершить всякие магические действия, внушая страх моей любимой теще, живущей там. Ну и всяким супостатам пытающимся совершить противоправные действия.
И тут полный облом. Оказывается, доблестный Beeline, в нашей зоне не раздает простым смертным белые IP адреса (даже динамические) и мы все находимся за серой стеной NATа. Поэтому про такой прекрасный сервис как DDNS надо забыть. Но мы не лыком шиты. Тут то на помощь и пришел Kenetic. На нем легко поднимается PPtP VPN сервер, а наш DIR-620 прекрасно к нему логинится.
Ну что же, поехали:
Используем: PPTP client

Запускаем Putty? подключаемся и логинимся к роутеру.
Вставляем следующий код:

Код:
opkg update
opkg install ppp-mod-pptp
opkg install kmod-gre 
opkg install kmod-mppe 
opkg install kmod-pppoe
opkg install kmod-pppox 
opkg install kmod-pptp
opkg install luci-proto-ppp
opkg install ppp
opkg install ppp-mod-pppoe
Возможно некоторые пакеты установлены, но на всякий случай пишу все.
Не забываем в конце установки нажать один раз ENTER.

Заходим через браузер на наш DIR-620, логинимся.
Далее : Сеть/Интерфейсы
Добавиь новый интерфейс.
Обзовем например: VPN_HOME.
Выбираем протокол: PPTP/
Сохраняем с применением.
Заходим в настройки.
Прописываем адрес PPTP сервера,логин и пароль пользователя заведенного на PPTP сервере.
Нажмите на изображение для увеличения
Название: 27.png
Просмотров: 330
Размер:	15.1 Кб
ID:	2913

Заходим на закладку "Расширенные настройки". Ставим птичку:" Запустить при загрузке" и убираем птички : "Использовать шлюз по умолчанию" и "Использовать обьявляемые узлом DNS-серверы".
Иначе наш DIR-620 будет ломиться в интернет через домашний роутер, а оно нам надо?

Нажмите на изображение для увеличения
Название: 28.png
Просмотров: 469
Размер:	28.1 Кб
ID:	2911

Сохраняем с применением.
Далее смотрим файл:/etc/ppp/options.pptp Спасибо Shai27 ! Без него долго не мог понять почему не получается.
Код:
noipdefault
noauth
nobsdcomp
nodeflate
idle 0
maxfail 0
mppe required,no40,no56,stateless
refuse-eap
Ждем. Смотрим в интерфейсах. Все подключилось.

Название: 24_1.png
Просмотров: 9550

Размер: 47.4 Кб

Нажмите на изображение для увеличения
Название: 28_1.png
Просмотров: 321
Размер:	25.9 Кб
ID:	2912

А это, что будет в конфиге:
NETWORK

Код:
config interface 'VPN_HOME'
        option proto 'pptp'
        option username 'Da4a' # Логин клиента
        option delegate '0'
        option defaultroute '0'
        option peerdns '0'
        option server '*******.ddns.net' #адрес (ip или URL) Вашего PPtP VPN сервера
        option buffering '1'
        option password 'password' # Пароль клиента
Так, теперь поговорим о сетях.
У нас их три:
192.168.1.0/24 Это домашняя, за роутером Keenetic.
192.168.2.0/24 Дачная- за DIR-620.
172.168.1.0/24 Это наша сеть VPN.
Если мы сейчас попытаемся пингануть с DIR-320 две другие сети , то в ответ получим полный отлуп.
Название: 30.png
Просмотров: 9489

Размер: 18.5 Кб

Название: 31.png
Просмотров: 9472

Размер: 19.7 Кб

Проблема в маршрутах. Надо их прописать.
Наш DIR-320 просто не знает где они находятся, он пытается их найти на маршруте по умолчанию, а у нас это Итернет. Нам надо ему явно указать, что сети 192.168.1.0/24 и 172.16.1.0/24 находятся за интерфейсом "VPN_HOME" и искать их надо там.
Идем: Сеть/Статические маршруты.
Название: 32.png
Просмотров: 9456

Размер: 4.2 Кб

При добавлении маршрута рассуждаем так: "Чтобы попасть в сеть 172.16.1.0 с маской 255.255.255.0 надо отправиться через интерфейс VPN_HOME."
Добавляем точно так же статический маршрут и для сети 192.168.1.0/24.
Сохраняем, применяем.

Нажмите на изображение для увеличения
Название: 33.png
Просмотров: 409
Размер:	8.0 Кб
ID:	2924

Конфиг NETWORK

Код:
config route
        option interface 'VPN_HOME'
        option target '172.16.1.0'
        option netmask '255.255.255.0'

config route
        option interface 'VPN_HOME'
        option netmask '255.255.255.0'
        option target '192.168.1.0'
Ну и самое последнее, проверка.

Название: 34.png
Просмотров: 9437

Размер: 9.9 Кб

Название: 35.png
Просмотров: 9390

Размер: 9.8 Кб

Название: 36.png
Просмотров: 9413

Размер: 9.7 Кб

Нажмите на изображение для увеличения
Название: 37.png
Просмотров: 286
Размер:	6.7 Кб
ID:	2928

Как видим пингуются: VPN-шлюз, компьютер из сети шлюза и второй клиент подключенный по VPN каналу.
Так же ping идет к самому DIR-620 от домашнего компа.
(продолжение следует...)

Последний раз редактировалось Parashutik; 24.05.2017 в 09:24.
Parashutik вне форума   Ответить с цитированием
Старый 27.07.2015, 08:54   #2
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 120
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Устанавливаем FTP-сервер
Статьи:

Умный дом

Сообщество EasyElectronics

Вообще-то у меня в домашней сети стоит NAS сервер на базе DNS-320 и данные буду скидывать туда, но и на DIR-620 тоже надо
иметь возможность оперировать файлами.
Создадим группу админов сервера:
Код:
echo web:x:101: >> /etc/group
Анонимного пользователя создавать не будем, а нечего.

Код:
echo ftpadmin:*:102:101:ftpadmin:/home/srv/ftp:/bin/ash >> /etc/passwd
 mkdir -p /home/srv/ftp
 chgrp -R web /home/srv
 chown ftpadmin /home/srv/ftp
Зададим пароль для пользователя ftpadmin

Код:
passwd ftpadmin
Установим pure-ftpd — быстрый и лёгкий FTP-сервер

Код:
 opkg update
 opkg install pure-ftpd

Настройки сервера находятся в файле /etc/config/pure-ftpd. выберем отдельный лог отредактировав следующие строки:
Код:
option syslogfacility 'none'
option altlog 'stats:/home/srv/log/ftp/pureftpd.log'
option enabled '1'
Также удалим опцию peruserlmits, чтобы убрать ограничения на количество входов пользователей.

Запустим сервер:
Код:
 /etc/init.d/pure-ftpd start
/etc/init.d/pure-ftpd enable
Зайдем по адресу ( в VPN сети) : ftp:// адрес сервера
Логинимся.

Нажмите на изображение для увеличения
Название: FTP авторизация.png
Просмотров: 296
Размер:	14.2 Кб
ID:	2956

Видим пустой каталог.

Название: FTP каталог.png
Просмотров: 9290

Размер: 14.8 Кб

Для более удобного использования настраиваем или Total Comander, или FileZilla Client.

Последний раз редактировалось Parashutik; 27.07.2015 в 09:30.
Parashutik вне форума   Ответить с цитированием
Старый 28.07.2015, 12:40   #3
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 120
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
Smile Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Подключаем WEB камеру.

Ну и вот и самое главное, собственно из-за чего все и затевалось.
Камера Logitech C270.
На счастье есть она. (Просто ее часто рекомендуют). Подключена вместе с модемом и Flash через USB hub, пока без внешнего питания.
Подключаемся через PUTTY.
Вводим :
ls /dev/vid*

Видим:
/dev/video0
Значит камера подключена.
Встал вопрос о программном обеспечении:

mjpg-streamer

или

Motion

mjpg-streamer уже ставил и она прекрасно справляется со своей работой.

Motion привлекла огромным конфигом, а так же она способна контролировать сигнал, полученный с одной или нескольких видеокамер, и обнаруживать наличие изменений на картинке. На выходе получаем фотки в форматах jpeg, ppm или mpeg видеопоток, который может транслироваться в сеть или записываться в файл. Проект целиком и полностью свободный, сама программа существует только в виде демона что обеспечивает низкое ресурсо-потребление, имеет встроенный мини http-server (это позволяет смотреть видео в реальном времени в браузере на локальном компьютере или же другом компьютере в сети, интернете) и может работать с СУБД MsSQL, настраивается через конфиг-файлы.
В свое время в журнале " ][akep" была статья в №111 , март, 2008 г. о настройках этой программы. К сожалению ссылка на статью не действует, но я нашел ее в кэше GOOGLE.

Статья журнала Хакер:
Настройки по журналу Хакер.zip

Устанавливаем саму программу:

Код:
opkg update
opkg install motion
opkg install ffmpeg
Не забываем, что роутер на даче и работает через 3G модем, поэтому скорость загрузки соответствующая. Но VPN держится четко, канал не падает.

Видим:

Код:
root@CyberWrt:~# opkg install motion
Installing motion (20110826-051001-2) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/motion_20110826-051001-2_ramips_24kec.ipk.
Installing libjpeg (6b-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/libjpeg_6b-1_ramips_24kec.ipk.
Configuring libjpeg.
Configuring motion.
opkg install ffmpeg
Installing ffmpeg (0.11.5-5) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/ffmpeg_0.11.5-5_ramips_24kec.ipk.
Installing libffmpeg-full (0.11.5-5) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/libffmpeg-full_0.11.5-5_ramips_24kec.ipk.
Installing libbz2 (1.0.6-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/libbz2_1.0.6-1_ramips_24kec.ipk.
Installing alsa-lib (1.0.27.2-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/packages/alsa-lib_1.0.27.2-1_ramips_24kec.ipk.
Installing kmod-sound-core (3.10.49-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/rt305x/packages/base/kmod-sound-core_3.10.49-1_ramips_24kec.ipk.
Configuring kmod-sound-core.
kmod: failed to insert /lib/modules/3.10.49/snd-pcm.ko
kmod: failed to insert /lib/modules/3.10.49/snd-pcm-oss.ko
Configuring alsa-lib.
Configuring libbz2.
Configuring libffmpeg-full.
Configuring ffmpeg.
Отредактируем фаил конфигурации:

vi /etc/motion.conf

Впечатляет!

Сначало укажем куда сохранять файлы.
Найдем строку: target_dir и пропишем путь к каталогу сохранения. Конечно предварительно создав эти каталоги.

target_dir /home/srv/ftp/Da4a/Camera

Далее создадим каталог:

mkdir /home/srv/log/motion/

и в файле motion.conf
раскоментируем строку ";logfile", т.е. уберем спереди ;
и изменим на :

logfile /home/srv/log/motion/motion.log

Это, чтобы за "Daemon" следить, что он там творит и что ему не нравится.(потом возможно отключим или уровень лога снизим).
Это, чтобы за "Daemon" следить, что он там творит и что ему не нравится.(потом возможно отключим или уровень лога снизим).

Пока уровни лога оставим по умолчанию. (Правда растет как бешеный).


Вот попытался перевести : motion_config.zip

Запустим, вернее попытаемся запустить программу:
motion
на всякий случай остановим
(картинки шлепает с бешенной скоростью):
killall motion
посмотрим запущенные процессы:
ps
Нет motion и ***** богу.
Откроем:
vi home/srv/log/motion.log
Что-то написано. Ищем строки:
[1] [NTC] [VID] v4l2_set_pix_format: (0) YUYV (YUV 4:2:2 (YUYV))
[1] [NTC] [VID] v4l2_set_pix_format: (1) MJPG (MJPEG)

Т.е. программа сообщает, что наша камера поддерживает паллитры вывода: YUYV и MJPG.
Также можно поставить утилиту: uvcdynctrl
Код:
opkg update
opkg install uvcdynctrl
И запустить ее:
uvcdynctrl -d /dev/video0 --formats
И она нам покажет все вкусности нашей камеры:
Код:
Listing available frame formats for device /dev/video0:
Pixel format: YUYV (YUV 4:2:2 (YUYV); MIME type: video/x-raw-yuv)
  Frame size: 640x480
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 160x120
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 176x144
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 320x176
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 320x240
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 352x288
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 432x240
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 544x288
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 640x360
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 752x416
    Frame rates: 25, 20, 15, 10, 5
  Frame size: 800x448
    Frame rates: 25, 20, 15, 10, 5
  Frame size: 800x600
    Frame rates: 20, 15, 10, 5
  Frame size: 864x480
    Frame rates: 20, 15, 10, 5
  Frame size: 960x544
    Frame rates: 15, 10, 5
  Frame size: 960x720
    Frame rates: 10, 5
  Frame size: 1024x576
    Frame rates: 10, 5
  Frame size: 1184x656
    Frame rates: 10, 5
  Frame size: 1280x720
    Frame rates: 10, 5
  Frame size: 1280x960
    Frame intervals: 2/15, 1/5
Pixel format: MJPG (MJPEG; MIME type: image/jpeg)
  Frame size: 640x480
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 160x120
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 176x144
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 320x176
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 320x240
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 352x288
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 432x240
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 544x288
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 640x360
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 752x416
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 800x448
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 800x600
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 864x480
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 960x544
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 960x720
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 1024x576
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 1184x656
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 1280x720
    Frame rates: 30, 25, 20, 15, 10, 5
  Frame size: 1280x960
    Frame rates: 30, 25, 20, 15, 10, 5
Код:
#mszerg
#v4l2_palette 15
v4l2_palette 17
и меняем 17 на 15. Пока подключим YUYV / Потом поменяем на 8(MJPEG) и тоже посмотрим как работает.
Далее ставим разрешение картинки:
Код:
# Image width (pixels). Valid range: Camera dependent, default: 352
#mszerg
#width 320
width 544

# Image height (pixels). Valid range: Camera dependent, default: 288
#mszerg
#height 240
height 288
Пока отключим запись видео:
Код:
# Use ffmpeg to encode movies in realtime (default: off)
#mszerg
#ffmpeg_output_movies on
ffmpeg_output_movies off
Разрешим просмотр потокового видео из сети:
Код:
# Restrict stream connections to localhost only (default: on)
#mszerg
#stream_localhost on
stream_localhost off
Зададим пароль,(хотя смотрим по VPN каналу, ну все равно надо проверить работает ли, потом можно отключить):

Код:
# Set the authentication method (default: 0)
# 0 = disabled
# 1 = Basic authentication
# 2 = MD5 digest (the safer authentication)
#mszerg
#stream_auth_method 0
stream_auth_method 1
Пароль и логин стандартные: "admin", "admin". Поменять не забудьте!

Код:
# Authentication for the stream. Syntax username:password
# Default: not defined (Disabled)
#mszerg
; stream_authentication username:password
stream_authentication admin:admin
Поставим пароль для доступа к настройкам программы через браузер (прикольная штука), они те же самые:

Код:
# Restrict control connections to localhost only (default: on)
#mszerg
#webcontrol_localhost on
webcontrol_localhost off

# Authentication for the http based control. Syntax username:password
# Default: not defined (Disabled)
#mszerg
; webcontrol_authentication username:password
webcontrol_authentication admin:admin
Запускаем программу:
motion
Код:
root@CyberWrt:~# motion
[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion.conf
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_output_movies"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_output_debug_movies"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_timelapse"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_timelapse_mode"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_bps"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_variable_bitrate"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_video_codec"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "ffmpeg_deinterlace"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sdl_threadnr"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "movie_filename"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "timelapse_filename"
[0] [NTC] [ALL] motion_startup: Motion trunkREV528 Started
[0] [NTC] [ALL] motion_startup: Logging to syslog
[0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (NTC)
[0] [NTC] [ALL] become_daemon: Motion going to daemon mode
Набираем в браузере ( в GOOGL CHROME не работает):
Логинимся
172.16.1.11:8081 (не забываем, что работаем через VPN).
И видим практически видео,смену картинок.
Нажмите на изображение для увеличения
Название: Авторизация видео.png
Просмотров: 290
Размер:	11.1 Кб
ID:	2967
Нажмите на изображение для увеличения
Название: Видео радуга.png
Просмотров: 301
Размер:	358.5 Кб
ID:	2965
Заходим по адресу:
172.16.1.11:8080
Логинимся и мы в настройках программы.
Название: Панель управления 1.png
Просмотров: 9263

Размер: 5.7 Кб
Название: Панель управления 2.png
Просмотров: 9330

Размер: 5.0 Кб

Времени катастрофически не хватает!
Вот рабочий на сейчас motion.config:

motion.zip

Не забудьте прописать свою директорию сохранения файлов и поменять логин и пароли на доступ к просмотру и настройкам.
Что мы с ним имеем:
Потоковое видео, жаль нельзя показать. Но есть одно но. Прекрасно работает через LAN и Wi-Fi, но не хочет через VPN. Скорее всего слишком медленный канал.
Далее вот, что с процессором и памятью:
Название: Процессорное время.png
Просмотров: 9361

Размер: 1.0 Кб
И это наводит на грустные мысли.

Это, что видно через FTP в папке сохранения файлов:

Нажмите на изображение для увеличения
Название: FTP.png
Просмотров: 287
Размер:	46.4 Кб
ID:	2970

Видно, что каждую минуту (я изменил параметр сохранения snapshot с 600 сек на 60 сек) сохраняется snapshot. Вопрос, что за файлы через кадые пять snapshot-ов сохраняются. Будем разбираться. И где все таки видео. Ну и лог:
Код:
[0] [NTC] [ALL] [Jul 29 13:54:58] motion_startup: Using log type (ALL) log level (NTC)
[0] [NTC] [ALL] [Jul 29 13:54:58] become_daemon: Motion going to daemon mode
[0] [NTC] [ALL] [Jul 29 13:54:58] become_daemon: Created process id file /var/run/motion/motion.pid. Process ID is 3969
[0] [NTC] [ALL] [Jul 29 13:54:58] motion_startup: Motion running as daemon process
[0] [NTC] [ALL] [Jul 29 13:54:58] main: Thread 1 is from /etc/motion.conf
[0] [NTC] [ALL] [Jul 29 13:54:58] main: Thread 1 is device: /dev/video0 input -1
[0] [NTC] [ALL] [Jul 29 13:54:58] main: Stream port 8081
[0] [NTC] [ALL] [Jul 29 13:54:58] main: Waiting for threads to finish, pid: 3969
[0] [NTC] [STR] [Jul 29 13:54:58] httpd_run: motion-httpd testing : IPV4 addr: 0.0.0.0 port: 8080
[0] [NTC] [STR] [Jul 29 13:54:58] httpd_run: motion-httpd Bound : IPV4 addr: 0.0.0.0 port: 8080
[0] [NTC] [STR] [Jul 29 13:54:58] httpd_run: motion-httpd/trunkREV528 running, accepting connections
[0] [NTC] [STR] [Jul 29 13:54:58] httpd_run: motion-httpd: waiting for data on 0.0.0.0 port TCP 8080
[1] [NTC] [ALL] [Jul 29 13:54:58] motion_init: Thread 1 started
[1] [NTC] [VID] [Jul 29 13:54:58] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_get_capability: 
------------------------
cap.driver: "uvcvideo"
cap.card: "UVC Camera (046d:0825)"
cap.bus_info: "usb-101c0000.ehci-2.4"
cap.capabilities=0x84000001
------------------------
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_get_capability: - VIDEO_CAPTURE
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_get_capability: - STREAMING
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_select_input: name = "Camera 1", type 0x00000002, status 00000000
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_select_input: - CAMERA
[1] [WRN] [VID] [Jul 29 13:54:58] v4l2_select_input: Device doesn't support VIDIOC_G_STD
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_do_set_pix_format: Testing palette YUYV (544x288)
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_do_set_pix_format: Using palette YUYV (544x288) bytesperlines 1088 sizeimage 313344 colorspace 00000008
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: found control 0x00980900, "Brightness", range 0,255 
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: 	"Brightness", default 128, current 128
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: found control 0x00980901, "Contrast", range 0,255 
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: 	"Contrast", default 32, current 32
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: found control 0x00980902, "Saturation", range 0,255 
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: 	"Saturation", default 32, current 32
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: found control 0x00980913, "Gain", range 0,255 
[1] [NTC] [VID] [Jul 29 13:54:58] v4l2_scan_controls: 	"Gain", default 0, current 0
[1] [NTC] [VID] [Jul 29 13:54:58] vid_v4lx_start: Using V4L2
[1] [NTC] [ALL] [Jul 29 13:54:58] image_ring_resize: Resizing pre_capture buffer to 1 items
[1] [NTC] [STR] [Jul 29 13:54:59] http_bindsock: motion-stream testing : IPV4 addr: 0.0.0.0 port: 8081
[1] [NTC] [STR] [Jul 29 13:54:59] http_bindsock: motion-stream Bound : IPV4 addr: 0.0.0.0 port: 8081
[1] [NTC] [ALL] [Jul 29 13:54:59] motion_init: Started motion-stream server in port 8081
[1] [NTC] [ALL] [Jul 29 13:54:59] image_ring_resize: Resizing pre_capture buffer to 6 items
[1] [NTC] [EVT] [Jul 29 13:55:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135500-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 13:55:03] event_new_video FPS 12
[1] [NTC] [ALL] [Jul 29 13:55:03] motion_detected: Motion detected - starting event 1
[1] [NTC] [EVT] [Jul 29 13:56:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135600-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 13:57:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135700-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 13:58:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135800-snapshot.jpg
[0] [NTC] [STR] [Jul 29 13:58:54] httpd_run: motion-httpd - Read from client
[0] [NTC] [STR] [Jul 29 13:58:55] httpd_run: motion-httpd - Read from client
[0] [NTC] [STR] [Jul 29 13:58:55] httpd_run: motion-httpd - Read from client
[0] [NTC] [STR] [Jul 29 13:58:55] httpd_run: motion-httpd - Read from client
[0] [NTC] [STR] [Jul 29 13:58:59] httpd_run: motion-httpd - Read from client
[1] [NTC] [EVT] [Jul 29 13:59:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135900-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:00:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/01-20150729140000-snapshot.jpg
[1] [NTC] [ALL] [Jul 29 14:00:03] preview_save: different filename or picture only!
[1] [NTC] [EVT] [Jul 29 14:00:03] event_newfile: File of type 1 saved to: /home/srv/ftp/Da4a/Camera/01-20150729135835-05.jpg
[1] [NTC] [EVT] [Jul 29 14:00:03] event_new_video FPS 9
[1] [NTC] [ALL] [Jul 29 14:00:03] motion_detected: Motion detected - starting event 2
[1] [NTC] [EVT] [Jul 29 14:01:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140100-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:02:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140200-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:03:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140300-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:04:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140400-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:05:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140500-snapshot.jpg
[1] [NTC] [ALL] [Jul 29 14:05:03] preview_save: different filename or picture only!
[1] [NTC] [EVT] [Jul 29 14:05:03] event_newfile: File of type 1 saved to: /home/srv/ftp/Da4a/Camera/02-20150729140253-05.jpg
[1] [NTC] [EVT] [Jul 29 14:05:03] event_new_video FPS 9
[1] [NTC] [ALL] [Jul 29 14:05:03] motion_detected: Motion detected - starting event 3
[1] [NTC] [EVT] [Jul 29 14:06:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/03-20150729140600-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:07:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/03-20150729140700-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:08:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/03-20150729140800-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:09:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/03-20150729140900-snapshot.jpg
[1] [NTC] [EVT] [Jul 29 14:10:00] event_newfile: File of type 2 saved to: /home/srv/ftp/Da4a/Camera/03-20150729141000-snapshot.jpg
[1] [NTC] [ALL] [Jul 29 14:10:03] preview_save: different filename or picture only!
[1] [NTC] [EVT] [Jul 29 14:10:03] event_newfile: File of type 1 saved to: /home/srv/ftp/Da4a/Camera/03-20150729140508-08.jpg
[1] [NTC] [EVT] [Jul 29 14:10:05] event_new_video FPS 10
[1] [NTC] [ALL] [Jul 29 14:10:05] motion_detected: Motion detected - starting event 4
[1] [NTC] [ALL] [Jul 29 14:10:20] preview_save: different filename or picture only!
[1] [NTC] [EVT] [Jul 29 14:10:20] event_newfile: File of type 1 saved to: /home/srv/ftp/Da4a/Camera/04-20150729141013-01.jpg
[1] [NTC] [ALL] [Jul 29 14:10:21] motion_loop: Thread exiting
[1] [NTC] [STR] [Jul 29 14:10:21] stream_stop: Closing motion-stream listen socket & active motion-stream sockets
[1] [NTC] [STR] [Jul 29 14:10:21] stream_stop: Closed motion-stream listen socket & active motion-stream sockets
[1] [NTC] [VID] [Jul 29 14:10:21] vid_close: Closing video device /dev/video0
[0] [NTC] [ALL] [Jul 29 14:10:21] main: Threads finished
[0] [NTC] [STR] [Jul 29 14:10:22] httpd_run: motion-httpd - Finishing
[0] [NTC] [STR] [Jul 29 14:10:22] httpd_run: motion-httpd Closing
[0] [NTC] [STR] [Jul 29 14:10:22] motion_web_control: motion-httpd thread exit
[0] [NTC] [ALL] [Jul 29 14:10:22] main: Motion terminating
[0] [NTC] [ALL] [Jul 29 14:10:22] motion_remove_pid: Removed process id file (pid file).
[0] [NTC] [ALL] [Jul 29 14:10:22] motion_remove_pid: Closing logfile (/home/srv/log/motion/motion.log).
Из лога видно, что snapshot -это файл второго типа, а левые -это файлы первого типа.
Разобрался почему не хочет через VPN показывать, трафик кончился. :-)
С левыми рисунками тоже, поставил параметр:
output_pictures off
И все стало в порядке.
В папку стабильно каждую минуту ложатся snapshot-ы. Т.е. на данный момент вопрос для подключения к проекту Народный монитор уже решен, фото с камеры ,с интервалом 10 минут(если увеличить время сохранения snapshot до 600 секунд), мы уже получаем.
А вот видео так и нет, хотя потоковое катит как по маслу. Есть подозрение , что проблема с программой ffmpeg, а точнее
с кодеками.
Сегодня решил проверить работает ли ffmpeg на DIR-620.
Запустил:
motion

Запустил ffmpeg, в таком виде:
Код:
ffmpeg -f mjpeg -i http://admin:admin@localhost:8081 /home/srv/ftp/Da4a/Camera/proba.avi
Смотрим в консоли, и о чудо, видим , что ffmpeg перехватыает потоковое видео, более того оно его компрессирует и после нажатия клавиши "q" закрывает и сохраняет.

Код:
root@CyberWrt:~# ffmpeg -f mjpeg -i http://admin:admin@localhost:8081 /home/srv/
ftp/Da4a/Camera/proba.avi
ffmpeg version 0.11.5 Copyright (c) 2000-2014 the FFmpeg developers
  built on Sep 24 2014 11:46:15 with gcc 4.8.3
  configuration: --enable-cross-compile --cross-prefix=mipsel-openwrt-linux-uclibc- --arch=mipsel --target-os=linux --prefix=/usr --enable-shared --enable-static --disable-debug --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-altivec --disable-asm --disable-doc --disable-dxva2 --enable-pthreads --disable-optimizations --enable-small --disable-stripping --enable-zlib --disable-outdevs
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[mjpeg @ 0x727540] max_analyze_duration 5000000 reached at 5000000
[mjpeg @ 0x727540] Estimating duration from bitrate, this may be inaccurate
Input #0, mjpeg, from 'http://admin:admin@localhost:8081':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 544x288 [SAR 1:1 DAR 17:9], 25 fps, 25 tbr, 1200k tbn, 25 tbc
[buffer @ 0x7379b0] w:544 h:288 pixfmt:yuvj420p tb:1/1200000 sar:1/1 sws_param:flags=2
[buffersink @ 0x859600] No opaque field provided
[format @ 0x859bd0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'format'
[scale @ 0x8598e0] w:544 h:288 fmt:yuvj420p sar:1/1 -> w:544 h:288 fmt:yuv420p sar:1/1 flags:0x4
Output #0, avi, to '/home/srv/ftp/Da4a/Camera/proba.avi':
  Metadata:
    ISFT            : Lavf54.6.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 544x288 [SAR 1:1 DAR 17:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
Press [q] to stop, [?] for help
frame=    2 fps=0.2 q=2.0 size=      21kB time=00:00:00.08 bitrate=2112.8kbits/sframe=    3 fps=0.1 q=2.0 size=      25kB time=00:00:00.12 bitrate=1729.2kbits/sframe=    4 fps=0.2 q=2.0 size=      30kB time=00:00:00.16 bitrate=1532.7kbits/sframe=    5 fps=0.1 q=2.0 size=      34kB time=00:00:00.20 bitrate=1394.6kbits/sframe=    6 fps=0.1 q=2.5 size=      37kB time=00:00:00.24 bitrate=1256.2kbits/sframe=    7 fps=0.2 q=3.5 size=      40kB time=00:00:00.28 bitrate=1163.9kbits/sframe=    8 fps=0.2 q=4.8 size=      41kB time=00:00:00.32 bitrate=1061.2kbits/sframe=    9 fps=0.2 q=5.0 size=      43kB time=00:00:00.36 bitrate= 974.4kbits/sframe=   10 fps=0.2 q=5.3 size=      44kB time=00:00:00.40 bitrate= 907.6kbits/sframe=   11 fps=0.2 q=4.9 size=      46kB time=00:00:00.44 bitrate= 849.1kbits/sframe=   12 fps=0.2 q=5.5 size=      47kB time=00:00:00.48 bitrate= 802.9kbits/sframe=   13 fps=0.2 q=4.8 size=      56kB time=00:00:00.52 bitrate= 878.9kbits/sframe=   14 fps=0.2 q=5.3 size=      58kB time=00:00:00.56 bitrate= 843.6kbits/sframe=   15 fps=0.2 q=5.8 size=      59kB time=00:00:00.60 bitrate= 805.4kbits/sframe=   16 fps=0.3 q=6.3 size=      60kB time=00:00:00.64 bitrate= 770.8kbits/sframe=   17 fps=0.3 q=6.3 size=      61kB time=00:00:00.68 bitrate= 740.1kbits/s
video:279kB audio:0kB global headers:0kB muxing overhead 3.488967%
Заходим через FTP:
И видим , что в папке кроме снапшотов появился файл proba.avi.
Название: proba_video.png
Просмотров: 9385

Размер: 11.8 Кб
Запускаем и вполне приличное видео получилось:

proba.zip

Правда пока вид в кабинете. :-)
Да и кадры выхвачены, секунды как бешеные.

В общем поиски по инету привели только к одному, что motion под OpenWRT собрана без поддержки ffmpeg!
Т.е. потоковое видео работает, сбор снимков работает, а непосредсвенное создание видеороликов не работает Я конечно не программист и тем более не Линуксоид (ZX-Spectrumисты мы, кто знает тот поймет, ну и Windowsятники немного), а тем более с моим знанием английского языка, но есть подозрения, что motion не имеет связки с библиотеками ffmpeg . Есть две статьи:
Эта
и
эта
В них , как я понял , вроде надо все это счастье пересобрать. Но для меня make файлы это темный лес. Если кто поможет, все скажут спасибо.
Ну а нет , тогда будем думать дальше.

И как поется в песне: "Нормальные герои всегда идут в обход!"
Сама motion нам и поможет обойти эту беду.
Есть в ней несколько директив обеспечивающих запуск каких либо действий при обнаружении движения.
Создадим директорию:

mkdir /home/scripts

В ней создадим два скрипта:
vi /home/scripts/recordstart.sh
В него вложим следующее:

Код:
dt=`date +%Y%m%d%H%M%S`
FILENAME="${dt}.avi"
echo $FILENAME
ffmpeg -f mjpeg -i http://admin:admin@localhost:8081 /home/srv/ftp/Da4a/Camera/$FILENAME
Сохраним.
И второй скрипт:
vi /home/scripts/recordstop.sh

В нем напишем:
Код:
MPID=`pidof ffmpeg`
`kill -15 $MPID`
Сохраним и откроем файл конфигурации motion

vi /etc/motion.conf

Найдем и изменим параметры на:
Код:
on_event_start "sh  /home/scripts/recordstart.sh"
on_event_end "sh /home/scripts/recordstop.sh"
Запускаем motion

Вводим : PS
и видим, что у нас работает motion и запустился от движения ffmpeg

Код:
 1655 root      1700 S    /usr/sbin/pppd nodetach ipparam VPN_HOME ifname pptp
 1657 root     13628 S    motion
 1660 root         0 SW   [kworker/0:1]
 1662 root      1480 S    sh -c sh  /home/scripts/recordstart.sh  &
 1663 root      1480 S    sh /home/scripts/recordstart.sh
 1665 root     15864 S    ffmpeg -f mjpeg -i http://admin:admin@localhost:8081
 1668 root      1480 R    ps
Заходим через какое-то время по ftp в нашу домашнюю дирректорию и видим , что там благополучно появляются snapshot и самое главное видеофайлы. У каждого из них свое имя образованное из даты и времени момента обнаружения движения. Длится файл ровно до окончания движения + время параметра GAP. Т.е. запись идет с момента обнаружения движения до его окончания+30сек.(У меня gap=30).
Нажмите на изображение для увеличения
Название: Видео.png
Просмотров: 291
Размер:	19.9 Кб
ID:	2985
Что же, основную задачу выполнил. Правда не совсем корректно, но работает. В этой ситуации не учитываются параметры, которые мы задали для видео в motion.config. Проблему я описал чуть выше. Господа умельцы Линуксоиды, попробуйте пересобрать программу. Чтобы она запускала ffmpeg правильно. Тут я не помошник.
Что дальше?
А дальше надо удалять старые файлы(дней так за тридцать) и самой главное сохранять их не на flash, которая хоть и 16Гб , но не безразмерная, а через VPN канал (благо мы его настроили и он пингуется) на NAS сервер на базе DNS-320, который стоит дома. Это чтобы злодеи, если flash и уведут, все равно от видеофакта не отвертелись.
Создадим скрипт:
vi /home/scripts/recordclear.sh
Внесем в него следующий текст (цифра кол-во дней):
Код:
/home/srv/ftp/Da4a/Camera -name "*.*" -mtime +30 -delete
Удалять файлы будем через планировщик задач Cron. Наберем в Putty :

crontab -e

В редакторе vi откроется план заданий запишем задание, одна строка-одно задание:
Код:
1*0* * *1-7 /home/scripts/recordclear.sh
Это значит, в 00:01 каждый день будет срабатывать скрипт и будут удаляться файлы старше 30 дней.
Тоже самое можно сделать и в Luci : Система/Запланированные задания.
При записи мешают деревья, программа на них реагирует и начинает писать и не отключает ffmpeg, т.к. считает, что есть движение. Возьмем один из снапшотов и отредактируем его в Photoshope. Ненужное полностью закрасим черным, а зону за которой надо следить закрасим белым.
Было так:

Нажмите на изображение для увеличения
Название: 02-20150804125000-snapshot.jpg
Просмотров: 297
Размер:	24.4 Кб
ID:	2986
Стало так:

Нажмите на изображение для увеличения
Название: maska.jpg
Просмотров: 284
Размер:	26.1 Кб
ID:	2987

Зайдем на сайт On-Line конвертер рисунков
Укажем путь к нашему рисунку: maska.jpg
Внизу выберем формат: PGM, нажмем CONVERT
дождемся появления ссылки для скачивания. Сохраним рисунок на компе, переименуем его в maska.pgm. Скопируем на роутер в папку /home/scripts/
Откроем :
vi /etc/motion.conf

И исправим параметр:
Код:
mask_file "/home/scripts/maska.pgm"
Все, motion будет реагировать только на зону в белом поле, т.е. деревья пусть машут сколько хотят, мы их просто не замечаем.
Ну и два видео:
Без маски, видно как программа реагирует на машущие ветки:
Нажмите на изображение для увеличения
Название: 07-20150804155011-snapshot.jpg
Просмотров: 292
Размер:	28.5 Кб
ID:	2990
Без маски.zip
И с маской. Видно, что motion реагирует только на людей в зоне выделенной маской:
Нажмите на изображение для увеличения
Название: 05-20150804154005-snapshot.jpg
Просмотров: 308
Размер:	27.2 Кб
ID:	2991
C маской.zip
Красный прямоугольник можно потом отключить, но он очень помогает при настройке motion.

Подключим сетевой диск

Есть NAS сервер на базе DNS-320. По VPN он пингуется как 192.168.1.10 и на самом деле он стоит дома мирно на полке и тихо шуршит своим вентилятором. На нем много чего крутится: торент клиент, ftp, lighttpd вместо WEB сервера. Так же он выполняет свою функцию как MediaCenter и всё Smart оборудование на нем висит. Но это отдельный разговор. 3Tб места , даже учитывая весь контент , который на нем находится, более чем достаточно. Вот сюда мы наше видео и будем сохранять. Побережем место на flash. И не люблю когда мое лежит у кого то в шкафу, поэтому Yandex диск не будем использовать.
Папки уже расшарены, по сети прекрасно видны. Вход только по авторизации, лучше перебдеть, чем недобдеть. Никаких анонимов.

Спасибо Admin-у за сообщение(не пришлось искать):

CIFS - Общая файловая система для Интернет, позволяет подключать сетевые диски. Вам потребуется подключение к интернету для загрузки пакетов и компьютер являющийся CIFS/SAMBA сервером с расшареными папками (в качестве компьютера-сервера может выступать обычный компьютер с ОС Windows).

Установим:
Код:
opkg update
opkg install kmod-fs-cifs kmod-crypto-hmac kmod-crypto-md5 kmod-crypto-misc
opkg install kmod-nls-utf8 kmod-nls-base cifsmount
Создадим точку монтирования сетевого диска:

mkdir /home/Xaza

И подключимся:

Код:
mount -t cifs //192.168.1.10/Da4a /home/Xaza -o user=username,password=password
Я в папку на NAS положил файл: Proba.txt , чтоб убедиться , что все нормально. Смотрим:

Нажмите на изображение для увеличения
Название: сетевой1.png
Просмотров: 297
Размер:	20.6 Кб
ID:	2994

Нажмите на изображение для увеличения
Название: сетевой2.png
Просмотров: 296
Размер:	8.6 Кб
ID:	2995
Файл видно и можно его редактировать.
Не забыть в motion.conf прописать новый путь сохранения файлов:

target_dir /home/Xaza

Итог:
Запись ведется при обнаружении движения. Видео и снапшоты сохраняются с завидной регулярностью, устаревшие файлы удаляются(поставил в скрипте 1 день). Параметры ffmpeg надо вставлять в строку в скрипте recordstart.sh. Так же если поменяли в motion.conf порт вывода видеопотока с 8081 на свой обязательно поменяйте его и в скрипте запуска ffmpeg (Это для парашютистов, после неудачного приземления. ). Не забудьте поменять пароль для доступа к видео и настройкам motion и впишите свой путь сохранения файлов.
Из минусов если выбрать палитру YUYV ,то запускается с максимальным разрешением 544х288, а если выбрать палитру MJPEG то максимальное разрешение 320х176. С большими разрешениями просто не хочет запускаться. Пишет на экране: "error capturing first image".
Важно!
В motion.conf тщательно подбирать параметры определяющие наличие движения и его отсутствия. Иначе ffmpeg будет запускаться несколькими процессами!

И, небольшая идея. Не запускать создание видео, а сохранять во время движения картинки(за весь день). Потом ночью запускать, через скрипт и cron, ffmpeg и из этих картинок создавать один видеоролик за весь день, а картинки так же удалять.
Что это дает:
Во первых, освобождает процессорное время.(ffmpeg +motion- это хлопотно) Делать это скорее всего будем ночью, когда мало кто кинется смотреть,что у нас там делается.
Во вторых, сразу получим склееный видеоролик за весь день. И не надо потом несколько видео клеить в одно. И скорее всего ffmpeg
буду запускать на DNS-320L, а то бедный роутер и так напрягается от motion.
Как то так.
Продолжение следует!....

Последний раз редактировалось Parashutik; 22.03.2016 в 14:29. Причина: Продолжение
Parashutik вне форума   Ответить с цитированием
Старый 28.07.2015, 13:50   #4
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Цитата:
На выходе получаем фотки в форматах jpeg, ppm или mpeg видеопоток, который может транслироваться в сеть или записываться в файл.
Parashutik Спасибо за подробное описание , 2 года назад тоже на С270 с помощью motion записывал видеопоток при движении (detected) - не пишет, фотки нормально . Незнаю мож сейчас изменилось что-то, но это вроде как камера не позволяла.

Последний раз редактировалось sakatgg; 28.07.2015 в 13:55.
sakatgg вне форума   Ответить с цитированием
Старый 28.07.2015, 14:08   #5
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 120
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

А я попробую, все таки. Для начала переведу конфиг на русский, а там видно будет.

Последний раз редактировалось Parashutik; 28.07.2015 в 20:06.
Parashutik вне форума   Ответить с цитированием
Старый 28.07.2015, 21:53   #6
Parashutik
Member
 
Регистрация: 22.06.2015
Сообщений: 35
Вес репутации: 120
Parashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to beholdParashutik is a splendid one to behold
Отправить сообщение для Parashutik с помощью ICQ
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

А как вставить здесь спойлер.
Parashutik вне форума   Ответить с цитированием
Старый 28.07.2015, 22:15   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Спойлера в этом движке форума нету
Admin вне форума   Ответить с цитированием
Старый 02.08.2015, 21:19   #8
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Круто! Просто супер
andr128 вне форума   Ответить с цитированием
Старый 24.09.2015, 19:46   #9
dmitriykvasov1
Junior Member
 
Регистрация: 18.11.2014
Адрес: Минеральные Воды
Сообщений: 10
Вес репутации: 0
dmitriykvasov1 is an unknown quantity at this point
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

что то видео ну никак не хочет запускаться
dmitriykvasov1 вне форума   Ответить с цитированием
Старый 26.10.2015, 18:02   #10
sunny
Senior Member
 
Аватар для sunny
 
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1600
sunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to allsunny is a name known to all
По умолчанию Re: DIR-620 и OpenWRT,3G,VPN, WEB камера и т.д.

Parashutik
Коллега, Вы здесь еще появляетесь.
Предлагаю Вам совместно "допилить" ffmpeg для motion.
Подробности здесь:
http://cyber-place.ru/showpost.php?p=28370&postcount=3
Насколько я помню году в 10-м был "костыль".
Собирался старый ffmpeg
Код:
cd /usr/local/ffmpeg
./configure --enable-shared
make
make install
И полученные файлы libavcodec.so и libavformat.so - тупо подсовывались в соответствующую директорию:
cd /usr/lib && ls
У меня свежий ffmpeg 2.6.2. и там сейчас современные :
libavcodec.so.56
libavcodec.so.56.26.100
libavformat.so.56
libavformat.so.56.25.101
sunny вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:57. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика