Фотоархів з веб-камери - Народний Моніторинг

Мої Камери | Як додати веб-камеру на мапу | Міські веб-камери | Фотоархів з веб-камери | Відеотрансляція з веб-камери

+ OpenWRT. Вибір роутера, адаптера і прошивка

Процедура налаштування описана на прикладі мініатюрного WiFi-роутера TP-Link TL-MR3020 і його китайського аналога TL-WR703N з прошивкою OpenWRT, проте дана методика підійде і для інших пристроїв з підтримкою OpenWRT і створених на її основі OR-WRT і CyberWRT.

Для підключення популярних термодатчиків DS18B20 до роутера потрібно (на ваш вибір):
1. Дешевий адаптер USB2UART, наприклад: PL2303 или CP2101 или FT232.
2. USB-термометр MP707(R), RODOS-5/6 + будь-який USB-хаб для узгодження рівнів USB 1.1 i USB 2.0.

Необхідно завантажити прошивку OpenWRT (або її аналог) для вашого роутера і згідно з рекомендаціями авторів обраної прошивки оновити ПЗ роутера.
В параметри локальної мережі вашого ПК слід додати будь-який вільний IP з мережі 192.168.1.x (x>1) після чого можна буде підключитися до роутера, використовуючи команду (у Windows Пуск \ Виконати) telnet 192.168.1.1, а потім passwd root після чого ввести новий пароль адміністратора (root) роутера і його підтвердження. Тепер з роутером можна працювати за протоколом ssh використовуючи утиліти putty і WinSCP і веб-інтерфейс за адресою http://192.168.1.1.
Використовуючи веб-інтерфейс або ж у файлі конфігурації /etc/config/network слід вказати параметри вашої локальної мережі для доступу в Інтернет: IP роутера, маска локальної мережі, IP шлюзу в Інтернет, DNS сервера і перезавантажити роутер.
Тепер ви можете встановити пакет локалізації luci-i18n-russian використовуючи веб-інтерфейс або виконати в консолі роутера opkg update, а потім opkg install luci-i18n-russian.

+ OpenWRT. Підключення і знімки з USB веб-камери + ftp

Веб-камеру вибирайте з підтримкою USB Video Class тоді до неї підійде стандартний драйвер Linux UVC kmod-video-uvc.
Ще краще, якщо веб-камера буде підтримувати апаратне стиснення MJPEG, а не тільки формат без стиснення YUYV, тому що процесор у роутера вельми слабенький і упаковка YUYV в MJPEG буде займати багато ресурсів роутера і можлива поява артефактів на зображенні у вигляді "розриву" кадру на частини.

Після установки і настройки OpenWRT на роутері, слід оновити список пакетів opkg update і для трансляції встановити драйвер UVC і утиліту захоплення opkg install kmod-video-uvc fswebcam.

Підключіть веб-камеру до роутера і виконуємо команду ls /dev/v* яка повинна вивести /dev/video0.
Якщо цього не сталося - значить ваша веб-камера не підтримує USB Video Class і треба пошукати для неї інший драйвер замість kmod-video-uvc. Далі створюємо файл конфігурації /etc/config/fswebcam

device /dev/video0
input 0
loop 60
fps 1
skip 2
background
resolution 640x480
no-banner
no-title
jpeg 90
# timestamp "%Y-%m-%d %H:%M:%S"
# palette YUYV # якщо веб-камера не підтримує MJPEG
save /www/webcam.jpg
# save /tmp/%Y%m%d%H%M%S.jpg # якщо потрібен фотоархів

При зазначених параметрах знімок з вебкамери буде оновлюватися кожні 60 секунд і доступний за адресою http://192.168.1.1/webcam.jpg.
Для автозапуску фотозйомки при включенні роутера слід додати в файл /etc/rc.local рядок fswebcam -c /etc/config/fswebcam перед рядком exit 0.

Якщо ви хочете автоматично зберігати знімки на віддаленому ftp-сервері, потрібно інсталювати пакет wput (opkg install wput), розкоментувати останній рядок /etc/config/fswebcam, а також створити скрипт завантаження знімків /usr/ftpupload.sh і дати йому права на запуск.

#!/bin/sh
cd /tmp
wput -R *.jpg ftp://логін:пароль@сервер/шлях/

Далі слід створити файл /etc/crontabs/root для завантаження знімків за розкладом кожні 10 хвилин і перезавантажити роутер.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/10 * * * * /bin/sh /usr/ftpupload.sh