Еще вот интересно прикрутить к нему LTE свисток и WEB камеру. Теоретически ведь это возможно.
Заинтересовался и попробовал запустить USB WEB камеру на
TPLINK TL-MR3020 под OpenWRT. Я использовал версию OpenWRT 12.09-RC1.
Получилось, но, как всегда, не сходу. Не знаю, насколько это будет уместно в этой теме, но про tplink все же, поэтому рассказываю.
У меня для эксперимента самая дешевая камера из супермаркета Metro, называется SIGMA (чуть более 1000 тенге). Дерьмо еще то, но я ее покупал экспериментов ради и уже вынул из нее ИК-фильтр. Ну да ладно.
Буду рассказывать, как это делать без LuCI, с терминала.
1. Заходим в по SSH на маршрутизатор.
2. Обновляем списки с репозитория и устанавливаем следующие пакеты:
opkg update
opkg install kmod-video-uvc mjpg-streamer usbutils
3. Подключаем камеру и смотрим (lsusb) что она определилась
root@OpenWrt-Mini:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
4. Смотрим доступные устройства видеозахвата
root@OpenWrt-Mini:~# ls /dev/video*
/dev/video0
5. Теперь надо подредактировать файл конфигурации, он находится
/etc/config/mjpg-streamerтам надо задать разрешение видео, частоту кадров, выбрать устройство, которое мы смотрели выше и TCP порт для доступа. А также опцию "enable" поставить в "1", а то по-умолчанию все отключено.
Файл выглядит так:
6. Пытаемся запустить демон и, если нужно, разрешаем автостарт при загрузке
root@OpenWrt-Mini:~# /etc/init.d/mjpg-streamer start
root@OpenWrt-Mini:~# /etc/init.d/mjpg-streamer enable
7. Посмотрим журнал, что все запустилось (
logread в терминале)
Вот примерно так должно быть:
У меня сначала не запустилось, рассказываю, почему. По умолчанию mjpg-streamer пытается задать формат видео MJPEG. Т.е. подразумевается, что камера обладает аппаратным кодеком MJPEG. Моя дешевая камера, конечно, кодека не имела, и может отдавать только несжатое видео в пространстве YUV. Что же делать? Надо подредактировать скрипт
/etc/init.d/mjpg-streamer. Открываем его (редактором vi) и ищем где происходит запуск. Нам надо добавить параметр (
--yuv) для input_uvc.so, см. ниже.
service_start /usr/bin/mjpg_streamer --input "input_uvc.so --yuv \
--device $device --fps $fps --resolution $resolution" \
--output "output_http.so --www $www --port $port"
Все, пытаемся запустить снова. Правда теперь сжатием видео будет заниматься процессор роутера.
Для просмотра потока можно с браузера зайти в
http : //а дрес_роутера:8080/index.html или в VLC плеере в "открыть URL" задать адрес
http : //адрес_роутера:8080/?action=stream Все, должно работать.
PS: Без аппаратного сжатия в камере при 320x240 и 5fps процессор TPLINK TL-MR3020 загружен на ~35%.
Сообщение отредактировал VaHG: 08.04.2013, 23:02:27