Процедура настройки описана на примере миниатюрного WiFi-роутера TP-Link TL-MR3020 и его китайского аналога TL-WR703N с прошивкой OpenWRT, однако данная методика подойдет и для других приборов с поддержкой OpenWRT и созданных на ее основе OR-WRT и CyberWRT.
Для подключения популярных термодатчиков DS18B20 к роутеру потребуется (на ваш выбор):
1. Дешевый адаптер USB-UART, например: PL2303 или CP2101 или FT232.
2. USB-термометр MP707(R), RODOS-5/6 + любой USB-хаб для согласования уровней USB 1.1 и USB 2.0.
Необходимо скачать прошивку OpenWRT (или ее аналог) для вашего роутера и согласно рекомендациям авторов выбранной прошивки обновить ПО роутера.
В параметрах локальной сети вашего ПК следует добавить любой незанятый IP из сети 192.168.1.x (x>1) после чего можно будет подключиться к роутеру используя команду (в Windows Пуск \ Выполнить)
после чего ввести новый пароль админа (root) роутера и его подтверждение, после чего с роутером можно работать по протоколу ssh используя утилиты PuTTY и WinSCP и веб-интерфейс по адресу http://192.168.1.1.
Используя веб-интерфейс или же в файле конфигурации /etc/config/network следует указать параметры вашей локальной сети для доступа в Интернет: IP роутера, маска локальной сети, IP шлюза в Интернет, DNS сервера и перезагрузить роутер.
Можно установить пакет локализации luci-i18n-russian используя веб-интерфейс или выполнить в консоли роутера
Веб-камеру выбирайте с поддержкой 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