Zyxel giga 2 opkg

Непрофессиональное видеонаблюдение квартиры занятно и недорого

Железо

Первым делом подбираем железо. «Глаза» подразумевают камеру, тут уж никуда не денешься. Потом встает вопрос что делать с полученным изображением — хранить его, передавать куда-то и т.д. Так я подумал про подключенный через UPS роутер с модемом 4G для стабильного канала с интернет который тяжело «положить» потенциальному грабителю.

На работе мы с успехом уже несколько лет пользуемся роутерами с USB портами ZyXel Keenetic (конкретно моя уже устаревшая модель Giga2). После того как разработчики прошивок «прикрутили» такую штуку как OPKG (менеджер пакетов) — появилась возможность превратить свой роутер в персональный компьютер с linux c широчайшими возможностями, чем я и решил воспользоваться для своей цели. Итого, уже имея дома компьютер-роутер с подключенным модемом 4G мне не хватало только «глаза» — камеры USB. Вспомнив, что года три-четыре назад покупал для родителей web камеру logitech С270 для их общения с родственниками через skype на компьютере и то что сейчас они общаются уже через планшет — камеру у них реквизировал. Кстати на камере на лицевой панели есть светодиод, который показывает работает ли камера или нет — в дальнейшем это оказалось очень удобно для визуального определения работы системы видеонаблюдения.

Сопряжение и настройка железа

Итак, железо есть. И что не может не радовать — пока находимся в рамках бюджета.
На моем роутере два USB порта, один из которых уже был занят USB модемом 4G. Будем использовать и второй, воткнув туда камеру logitech С270. Для того, чтобы роутер мог работать с камерой нужно предварительно установить на роутере компонент OPKG (в этом компоненте ставим все галочки кроме «Модули ядра для поддержки USB DVB-тюнеров»). Но тут есть подвох — для работы OPKG в роутере нужно дисковое пространство (гигабайта хватит за глаза), но где его взять, ведь оба порта USB на роутере уже заняты? Вариантов решения оказалось два — либо USB hub c флешкой (первое что сразу приходит в голову), либо то, что в мой USB модем 4G можно поставить карту microSD. И найденная дома старая медленная карта microSD 8 гигабайт сразу отправилась в модем. Файловую систему оставил на карте NTFS (хотя настоятельно рекомендуется EXT2 или EXT3). Создаем папку Install и закачиваем нужный образ Entware в нее.

Затем идем в админку роутера, вкладка OPKG, выбираем нашу карту памяти, в строке «Сценарий initrc» пишем

и нажимаем Применить.
После установки OPKG, SSH клиентом (я использую программу Putty на своем ноутбуке c windows) цепляемся к роутеру и выполняем следующие команды для обновления OPKG:

По умолчанию на SSH логин root пароль keenetic (или zyxel в зависимости от версии прошивки). Пароль настоятельно рекомендуется поменять командой passwd.

Далее устанавливаем программу motion.

Именно она будет работать с нашей камерой, анализировать изменение картинки и давать указание роутеру куда посылать полученное изображение. Файл настроек программы motion это \etc\motion\motion.conf, редактируя его меняем нужные нам настройки. Первым делом я установил поддерживаемое камерой максимальное разрешение 1280×720, повернул на изображение на 180 градусов (мне удобнее было установить камеру «вверх ногами»), запись 2 кадра в секунду.

Записывать весь видеопоток и транслировать его в интернет я необходимости не видел, поэтому настроил motion записывать видео и передавать его только в случае изменения изображения. В процессе настройки motion стало понятно, что она не поддерживает с моей камерой режим MJPEG, а поддерживает только режим YUYV — в результате чего результатом работы motion будет не видеоряд, а только последовательность фотографий JPEG.

Также я настроил motion так, что копия фотографий копируется на внешний FTP сервер.

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

Настоятельно рекомендуется поменять логин пароль на подключение к вашей камере.

После всех настроек смотрим в браузере результат по адресу:

Внимание! Если никакого изображения в браузере вы не увидели, следует обратить внимание на вашу версию прошивки Keenetic. Предположительно начиная с версии прошивки 2.11.A.4.0-1 модули видео по умолчанию не подгружаются, поэтому в SSH надо их загрузить «ручками» или добавить в скрипт запуска:

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

Управление

Проделав всю эту работу, пришла мысль о том, что надо как-то этим управлять, т.е. включать и выключать в нужные моменты времени (причем главным образом удаленно). Вопрос решил установкой клиента SSH на свой android смартфон. После выбора SSH клиентов остановился на ScriptKitty. Нажатием двух-трех клавиш на смартфоне можно быстро выполнить включение или отключение motion.

Читайте также:  Mirrors edge catalyst список миссий

Запуск motion через SSH:

Завершение motion через SSH:

Но тут ждал еще один подвох — «серый» ip адрес на моем модеме 4G. Подключаясь к роутеру через Wi-fi без проблем можно выключить или включить motion. Но что делать, если ты за пределами Wi-fi своего роутера, а у твоего роутера «серый» ip? Я нашел спасение в виде VPN. Схема следующая — своим домашним роутером я цепляюсь к роутеру на работе со статичным IP посредством PPTP клиента(на работе на роутере установлен PPTP сервер). Теперь сделав проброс порта SSH с рабочего роутера на домашний я наконец-то могу управлять своей камерой удаленно обращаясь со своего смартфона по статичному адресу роутера на работе.

Также пробовал автоматизировать управление с помощью автоматизатора Tasker (у него есть свой отдельный SSH клиент) — отслеживать подключение смартфона к Wi-Fi роутера и в зависимости от этого включать или выключать motion. Логика тут такая: смартфон подключен к Wi-Fi роутера — значит я дома — камеру отключить. Смартфон не подключен к Wi-Fi роутера — значит я не дома — камеру включить. Но поэкспериментировав, от этого варианта отказался — слишком много ложных срабатываний. Например я дома, смартфон заснул, роутер потерял смартфон, включилась камера — ну и т.д. В настоящее время пользуюсь только ручным способом.

Заключение

В принципе, что хотел я от проекта, то и получил. Могу «видеть» квартиру когда захочу и в случае каких-то срабатываний GSM сигнализации уже принимать решение что делать дальше. В процессе реализаций решил кучу проблем, но их решение вызывало определенный кайф от приобретенных знаний и реализации задуманного.

Источник

Установка системы opkg

Подготовка usb носителя

Подключаемый носитель должен иметь первичный раздел с файловой системой, поддерживающей символические ссылки. Рекомендуемая файловая система ext2. Все будет работать и с ext3, и с ntfs. При создании раздела на диске важно, чтобы раздел был главным (или первичным). Дополнительный раздел (или вторичный) не подходят. Подключите отформатированный носитель к кинетику, если носитель определился как DISK_A1, то все нормально, если как DISK_A5, то вы по ошибке создали дополнительный (вторичный) раздел, он не подходит. Если название раздела — последовательность букв и цифр, то Вы используете прошивку серии V2, прошивки этой серии не поддерживаются.

Устанавливаем putty на компьютер (пользователям Windows)

Для установки и настройки программ на кинетик Вам потребуется на компьютере специальная программа, т.н. ssh-клиент. Стандартом для ssh-клиента де-факто среди пользователей Windows является программа putty. Скачаем с оф. сайта программы архив putty.zip и распакуем в любую папку. Запустим putty и настроим. После запуска в разделе ‘Connection | Data | Auto-login username’ введем root (чтобы не вводить имя пользователя каждый раз). В разделе ‘Window | Translation’ выберем в качестве character set кодировку UTF-8. Это нужно для правильного отображения русских букв и символов псевдографики. В Разделе Session введем в качестве ip адрес нашего кинетика и сохраним данные (сессию) под произвольным именем. В дальнейшем для соединения с кинетиком нужно будет сделать ‘double click’ мышкой по введенному имени сессии.

Устанавливаем систему opkg

Перед установкой убедитесь, что маршрутизатор подключен к сети интернет, в процессе установке он должен скачать обновленный список пакетов. Для установки системы opkg носитель, который удовлетворяет условиям предыдущего раздела, скачиваем любой из архивов ext_init.sh-r2.tar.gz или ext_init.sh-r2.zip для маршрутизаторов keenetic или keenetic giga или любой из архивов ext_init.sh-ii.tar.gz или ext_init.sh-ii.zip для маршрутизаторов новой серии keenetic II, keenetic giga II или keenetic ultra.

Будьте внимательны при выборе архива.

Распаковываем содержимое архива в папку system/bin на носителе. Указанные архивы содержат один файл ext_init.sh, являющийся самораспаковывающимся архивом Linux. Файл ext_init.sh должен иметь атрибут исполнения. Для установки этого атрибута можно использовать дистрибутив Linux. Если дистрибутива Linux под рукой нет, то проще всего копировать этот файл через сетевое окружение Windows прямо на носитель, подключенный к ZyXEL Keenetic — атрибут исполнения в этом случае будет установлен автоматически. Файл следует копировать в папку DISK_A1/system/bin (папку следует создать).

Перемонтируем носитель (если был подключен к кинетику) или просто подключаем к usb кинетика и ждем минуту-другую, пока в логе (журнале) кинетика не появятся строки приблизительно такого вида:

Подключаемся к кинетику по ssh. Логин root , пароль zyxel . Выполняем к консоли finish_install.sh и ждем пока все завершится (создастся swap файл):

Меняем пароль с помощью команды passwd. Пароль для соединения по ssh никак не связан с паролем для web конфигуратора.

Источник

#Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум

Форум для различных тем в большей части ИТ

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Установка на Wi Fi маршрутизатор Keenetic сразу 2х ОС Entware и Debian

Сообщение Артём Мамзиков » Вс апр 19, 2020 14:12 #1

Установка на Wi Fi маршрутизатор (роутер) Keenetic сразу 2х ОС Entware и Debian

В данном примере у нас так же будет keenetic giga kn-1010
Со следующими характеристиками для OS
Процессор MT7621A 880 МГц, 2 ядра
Оперативная память 256 Мбайт DDR3
Flash-память, Dual Image 128 Мбайт
Порты USB 1 x USB 2.0, 1 x USB 3.0 (Чтение с USB-диска До 90 Мбайт/с (USB 3.0))

Читайте также:  P0420 трансмиссия catalyst system efficiency below threshold bank 1

Low-Speed до 1,5 Мбит/с USB 1.0
Full-Speed до 12 Мбит/с USB 1.1
High-speed до 480 Мбит/с USB 2.0
SuperSpeed до 5 Гбит/с USB 3.0 / USB 3.1 Gen 1 / USB 3.2 Gen 1
SuperSpeed+ 10Gbps до 10 Гбит/с USB 3.1 Gen 2 / USB 3.2 Gen 2
SuperSpeed++ 20Gbps до 20 Гбит/с USB 3.2 Gen 2×2

Максимальная скорость в Мбайт/с
USB 2.0 будет 480/8= 60 Мбайт/с
USB 3.0 будет 5000/8= 625 Мбайт/с

Понятно что маршрутизатор это у нас не сервер и даже не десктопная станция (Настольный компьютер) по характеристикам. Поэтому нужно понимать что прям чего-то глобального ждать не стоит. Маршрутизатор можно косвенно сравнить с каким нибудь смартфоном по характеристикам процессора.
Плюс то что мы ставим чистую систему debian далее её можно настраивать под свои небольшие задачи или уже более заточенный проект со своим репозиторием Entware. Да плюс уже много что полезного есть в самой KeeneticOS.

Так же нужно учитывать когда мы делам swap- (файл подкачки он используется когда не хватает встроенной оперативной памяти) по большей части он используется либо кратко временно либо не в больших объемах (либо временно для ближайшего апгрейда железа) иначе мы получаем падение производительности (тормоза) плюс убиваем диск в том месте где у нас swap так как данные постоянно записываются и стираются сам диск будет так же загружен так как будет идти постоянная запись-чтение данных. На ssd это конечно будет быстрее работать чем на hdd. Можно наверное сделать разъемы под дополнительную оперативную память, но отсюда вытекает частота оперативки должна соответствовать нужной нам частоте Процессора и комплектующим на плате. А это уже сильно меняет в цене и все же это в первую очередь маршрутизатор, а не мини ПК. Что то вроде raspberry pi. Хотя если будет спрос можно сделать все что угодно думаю)

Что мы можем использовать на данных ОС на маршрутизаторе например:
Entware
Список пакетов для mipsel
Opkg Cookbook RUS
Звуковая станция
Смотрим эфирное цифровое телевидение DVB-T / T2 через кинетик
TVheadend — потоковый сервер цифрового ТВ для DVB-С / T / T2 / S / S2 / ATSC / IPTV
Вменяемый — использование USB МФУ или сканера
Веб-сервер на кинетике
ownCloud — строим личное облачное хранилище
Сервер VoIP телефонии Asterisk
Подключение веб камеры в Entware
Tor на Keenetic
Управление отоплением в квартире
умный дом
1-М Core — контроллер Умного Дома на базе роутера
И много других проектов

Уже на встроенной KeeneticOS мы будем делать еще 2 OS Entware и Debian на внешнем накопителе.

Entware — это передовой репозиторий (хранилище), который позволяет легко устанавливать и удалять Linux-приложения в консоли роутера. Менеджер ПО для встраиваемых систем, который открывает доступ к огромному количеству (более 1500) пакетов программ для Linux, расширяя возможности устройства, на котором он установлен. Чаще всего поддержкой Entware обладают продвинутые маршрутизаторы. Зачем и кому вообще может понадобиться Entware на Android-боксе? Конечно, всё это для гиков и пытливых пользователей.

При содействии и помощи компании Zyxel и разработчиков Entware создан новый проект Entware-Keenetic для Keenetic`ов с прошивкой NDMSv2*
В отличии от стандартной версии Entware-ng — при сборке используется ядро кинетика, что улучшает совместимость бинарников с прошивкой.
Некоторые пакеты из стандартного Entware могли не работать или работать криво (напр., nginx)
Все бинарники находятся в одной репе, раньше использовался стандартный репозиторий Entware и дополнительный репозиторий для Кинетиков.

Обновление и установка в данной OS производится командами
opkg update
opkg upgrade
opkg install имя устанавливаемого пакета

Debian — Универсальная Операционная Система
Debian — это операционная система и дистрибутив Свободного ПО. Она сопровождается и обновляется трудом людей, добровольно.

Обновление и установка в данной OS производится командами
apt-get update — загрузка списков пакетов из репозиториев и «обновление» их
apt-get upgrade — обновляет пакеты, которые уже установлены в системе и доставляет новые пакеты-зависимости
apt-get install имя устанавливаемого пакета

Ну тут думаю даже смысла перечислять что можно сделать нет, тут уже каждый под свои задачи что хочет.
Ограничение только в мощности железа и не все есть в репозитории для mipsel что есть например в обычном репозитории для desktop ПК.

Установка 2х ОС
Как подготовить флешку или диск перед установкой повторно писать не буду есть тут Установка Debian Kennetic все аналогично.

Сперва ставим OS Entware скачиваем mipsel-installer.tar.gz 2.7Мб закидываем в папку install и устанавливаем все как в для Debian.

После установки
Можно зайти на кинетик по ssh , логин root , пароль keenetic .

Если установлен компонент прошивки «Сервер SSH», подключаться следует на 222 порт

# passwd
Смена пароля для root
Новый пароль:
Неверный пароль: слишком слабый
Повторите пароль:
Пароль для пользователя root изменен пользователем root
Обновите список пакетов
opkg update
opkg upgrade
и устанавливаю нужные, например файловый менеджер «Midnight Commander»:
opkg установить mc

Читайте также:  Keenetic увеличить мощность сигнала wifi

Установим пакет debootstarp
opkg install debootstrap

Установим тескстовый редактор nano
opkg install nano

Опционально отредактируем скрипт /opt/bin/install-debian. Рекомендую в нем сменить зеркало пакетов на mirror.yandex.ru/debian. Для armv7 устройств с поддеркой hardfloat стоит изменить строку `ARCH=armel` на `ARCH=armhf`. Можно задать и другие дополнительные параметры (см. комментарии в скрипте и документацию debootstrap).

Установка debian mipsel

## for armv7 and higher cpu with hardfloat support use armhf
#ARCH=amd64, armel, armhf, arm64, mips, mipsel
ARCH=mipsel

## debian codenames
#DISTRO=oldoldstable — The previous old stable release (jessie).
#DISTRO=oldstable — The previous stable release (stretch).
#DISTRO=stable — The current stable release (buster).
#DISTRO=testing — The next generation release (bullseye).
#DISTRO=unstable — The unstable development release (sid).
DISTRO=stable

## target installation folder
TARGET=/opt/debian

## extra packages to install
#INCLUDE=»—include=sudo,nano,wget»
INCLUDE=

## variant
#VARIANT=»—variant=minbase»
VARIANT=

unset LD_LIBRARY_PATH
unset LD_PRELOAD

/opt/sbin/debootstrap $VARIANT $INCLUDE —arch $ARCH $DISTRO $TARGET $MIRROR

## disable services autostart
cat > /opt/debian/usr/sbin/policy-rc.d > /opt/debian/etc/profile

## add more secure tty’s
echo «pts/0» >> /opt/debian/etc/securetty
echo «pts/1» >> /opt/debian/etc/securetty
echo «pts/2» >> /opt/debian/etc/securetty

echo «Please run /opt/etc/init.d/S99debian start»
echo «Please run start-debian,change password with passwd command and run ‘apt-get update'»

Запускаем установку
install-debian

Будут следующие сообщения это нормально

W: Невозможно проверить подпись Release; файл ключей недоступен /usr/share/keyrings/debian-archive-keyring.gpg
Я: Получение InRelease
I: Получение пакетов
I: Проверка пакетов
I: Разрешение зависимостей необходимых пакетов .
I: Разрешение зависимостей базовых пакетов .
Я: Проверка компонента main на http: //ftp.debian.org/debian .
тут идут все пакеты
W: Ошибка при попытке запустить: chroot «/opt/debian»/bin/true
W: Подробности смотрите в /opt/debian/debootstrap/debootstrap.log
Пожалуйста, запустите /opt/etc/init.d/S99debian start
Пожалуйста, запустите start-debian, измените пароль с помощью команды passwd и запустите «apt-get update»

Далее выйдет сообщение можно его пропустить.
При необходимости иметь из среды Debian доступ к носителям устройства отредактируйте /opt/etc/init.d/S99debian и добавьте в конце функции start монтирование этих носителей (там есть примеры для Qnap).

Как посмотреть список дисков напрример
blkid
получаем
/dev/sda3: LABEL=»NTFS» UUID=»01D614B61E6817B0″
/dev/sda1: LABEL=»OS» UUID=»f7af6e2d-b514-d601-e0a7-6c2db514d601″

mount файл_устройства папка_назначения
mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
-w, —rw — монтировать для чтения и записи;

Для монтирования ntfs ставим opkg install ntfs-3g ntfs-3g-utils
Монтирование вручную например создаем disk-ntfs
mount —rw /dev/sda3 /opt/home/disk-ntfs
mount -t ntfs-3g —uuid=»01D614B61E6817B0″ /opt/home/disk-ntfs
ntfs-3g /dev/sda3 /opt/home/disk-ntfs

не захотел монтироваться формат ntfs ладно оставим это на потом)

Запускаем /opt/etc/init.d/S99debian
/opt/etc/init.d/S99debian start
Запуск служб Debian .
mount:/opt/debian/opt: точка монтирования не существует.
ВНИМАНИЕ: Службы Debian не определены.
Пожалуйста, определите службы Debian для запуска в файле /opt/debian/chroot-services.list!
Один сервис на линию. Подсказка: это имена скриптов из Debian /etc/init.d/

Тут он нам пишет так как мы скачали debian с официального сайта в системе изначально ничего не предустановленно даже ssh
Позже мы можем установить и настроить ssh и прописать его на авто загрузку
nano /opt/debian/chroot-services.list и пишем там ssh
после чего перезапускаем /opt/etc/init.d/S99debian restart

И запускаем не посредственно сам дебиан
start-debian

В среде debian досупны бинарники Entware.
При установке служб (демонов) debian их автозапус отключен. Запускайте из chroot среды руками или добавьте в файл /opt/debian/chroot-services.list (по одному на строку, имена из /etc/init.d) для автозапуска.

Для выхода из среды debian (в entware) наберите exit

В плане эксперементов разных версий os

Например
Для переустановки 32 на 64 дебин
Останавливаем
/opt/etc/init.d/S99debian stop

Удалем все из папки /opt/debian/

В скрипте правим на 64 сохраняем и повторяем установку
nano /opt/bin/install-debian
ARCH=mips64el

Сразу скажу что он не заработает))

# start-debian
chroot: невозможно выполнить ‘/bin/bash’: ошибка формата Exec

Еще вариант установки сразу двух систем

Первые 2 это как делали мы
Речь об универсальном установщике, с помощью которого можно поставить среду Debian (возможен выбор дистрибутива stable(или jessie), oldstable (wheezy), testing (stretch), unstable (sid)) прямо в Entware. Поддерживаются все архитектуры, имеющиеся в Entware-3x (armv5, armv7, mipsel, mips, x64)
[Entware-3x] Устанавливаем Debian (chroot среду) по выбору и используем совместно с Entware

Тут уже система была установлена частично настроена и запакована для дальнейшей установки (распаковки)

Настройка Debian
Задаем пароль для root
passwd
Водим новый пароль повтор пароля

Установка и Настройка SSH
Установка
apt-get install openssh-server
Разрешим удаленное подключение под root
для это отредактируем конфигурационный файл
nano /etc/ssh/sshd_config не перепутать с ssh_config!
Раскомментированы следующие строки

Сохраняем и перезапускаем службу
service sshd restart || service ssh restart

так же можно раскомментировать
PasswordAuthentication yes
У кого бывает не работает указать
UsePAM no
#StrictModes yes

Обновим часовые пояса
apt install tzdata
Выбор вручную часового пояса
dpkg-reconfigure tzdata

Автоматическая синхронизация времени с интернета
apt install ntp
apt install net-tools
проверка статуса netstat -tulnp | grep ntp

Установим пару утилит для удобства mc, htop, iftop
apt-get install mc htop iftop screen

mc — двух оконный графический файловый менеджер
htop — по сути это визуальный диспетчер задач
iftop — визуальная нагрузка сети

Руссификация консоли
apt-get install locales

Источник