Jump to content

beowulf0208

Forum Members
  • Posts

    41
  • Joined

  • Last visited

Equipment

  • Keenetic
    Keenetic II Rev. A

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

beowulf0208's Achievements

Member

Member (2/5)

14

Reputation

  1. Возможно ли настроить принудительное включение и выключение отдельных светодиодов (например светодиоды сигнализирующие работу каждого LAN). Хочу дистанционно через интернет управлять нагрузкой с помощью вот таких реле: https://duino.ru/Arduino-rele-1-kanalnoe.html. Пробовал сделать подобное с помощью HID устройства (клавиатуры) по инструкции https://habr.com/ru/post/151982/, но не получилось, хотя роутер и видит клавиатуру, но светодиоды на клавиатуре не загораются. Поэтому решил использовать светодиоды находящиеся в самом роутере.
  2. Хочу сделать возможным дистанционное управление любой нагрузкой с помощью USB-HID устройств (клавиатуры). Подробный способ описан в этой статье: https://habr.com/ru/post/151982/. Но не нашёл нужных пакетов (kmod-usb-hid, kmod-usb-core, kmod-usb-ohci, kmod-usb-uhci, kmod-usb2) в репозитории Entware. Возможно ли как-нибудь сделать на Entware то что описано в вышеуказанной статье?
  3. Помогите пожалуйсто настроить трансляцию звука в сеть со встроенного микрофона веб камеры Логитек или с микрофона подключенного к USB звуковой карты. Никак не могу сам этого сделать. Уже перепробовал много различных инструкций, но не получается. Вот например: http://cyber-place.ru/showthread.php?t=1145 и http://avreg.net/manual_applications_audio2tcp.html Хочу чтоб можно было дистанционно через интернет прослушивать помещение с помощью смартфона на андроид или другого ПК на Windows.
  4. Помогите пожалуйсто настроить трансляцию звука в сеть со встроенного микрофона веб камеры Логитек или с микрофона подключенного к USB звуковой карты. Никак не могу сам этого сделать. Уже перепробовал много различных инструкций, но не получается. Вот например: http://cyber-place.ru/showthread.php?t=1145 и http://avreg.net/manual_applications_audio2tcp.html Хочу чтоб можно было дистанционно через интернет прослушивать помещение с помощью смартфона на андроид или другого ПК на Windows.
  5. У меня на Keenetic II тоже не получается настроить отправку смс о смене IP адреса. Выдаёт сообщение: Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh: exit code 1 ~ # chmod +x /opt/etc/ndm/wan.d/010-send.sms.sh ~ # sh /opt/etc/ndm/wan.d/010-send.sms.sh ~ # chmod +x /opt/etc/ndm/wan.d/010-send.sms.sh ~ # sh /opt/etc/ndm/wan.d/010-send.sms.sh : not foundm/wan.d/010-send.sms.sh: line 2: : not foundm/wan.d/010-send.sms.sh: line 6: ~ # В первом случае пробовал запускать скрипт без пустых строк, а во втором случае с пустыми строками (2 и 6) как написано в инструкции. Получается что Cron не хочет исполнять скрипт с пустыми строками? У меня интернет идёт напрямую от провайдера, авторизация не используется. Может быть я указал не правильный интерфейс: eth2.2?
  6. Спасибо за помощь. Теперь буду знать какие права должны быть у файлов. И ещё я похоже понял почему "мой" тестовый фаил не заработал, а Ваш работает. Мой test.sh date >> /tmp/crontest.txt Ваш test.sh date >> /opt/tmp/crontest.txt
  7. ~ # opkg install cron Installing cron (4.1-3) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/cron_4.1-3_keenle.ipk. Configuring cron. ~ # chmod +x /opt/etc/cron.5mins/test.sh ~ # sh /opt/etc/cron.5mins/test.sh ~ # /opt/etc/init.d/S10cron start Starting cron... done. ~ # ls -l /opt/etc/crontab -rw------- 1 root root 492 Sep 14 16:30 /opt/etc/crontab ~ # ls -l /opt/etc/cron.5mins/test.sh -rwxrwxrwx 1 root root 29 Oct 10 13:24 /opt/etc/cron.5mins/test.sh ~ # ps | grep cron 1037 root 920 S cron -s 1051 root 1576 S grep cron ~ #
  8. У меня винчестер разделён на 2 раздела (NTFS и EXT3). На первом разделе размещена папка загрузок Transmission и aMule и ещё кое какие файлы, а на втором разделе (EXT3) установлен Entware. Установлен обычный cron.
  9. Пробовал добавить одно задание на запуск sh скрипта с помощью cron с периодичностью 3 часа, но задание почемуто не запускается, хотя сам cron запускается и фаил crontab отредактировал. Может кто-нибудь посоветовать способ как проверить работает ли у меня cron, т.е. каким образом можно протестировать его работу?
  10. Не знаю почему, но у меня обновление информации происходит только при ручном запуске скрипта: /opt/usr/bin/smarthtml.sh Нашёл на одном сайте способ проверки работы cron. В рамках тестирования работы cron в каталоге /opt/etc/cron.5mins размещаем тестовый файлик test.sh следующего содержания: #!/bin/sh date >> /tmp/crontest.txt Не забываем сделать его исполняемым: chmod 755 /opt/etc/cron.5mins/test.sh Пробуем перезагрузить роутер, ждем около 15 минут. Затем смотрим в файл /tmp/crontest.txt, там должно быть время срабатывания скрипта, если это так, то cron работает. Пробовал комманду: chmod +x /opt/etc/cron.5mins/test.sh Но результата работы cron я так и не увидел. И ещё у меня не срабатывает кнопка Check Now в браузере, может кто-нибудь сможет это исправить?
  11. Нашёл одну интересную статью в которой предлогается просматривать информацию SMART (температуру жёсткого диска, его модель, версию прошивки и др.) подключенного по USB жёсткого диска. Вся информация отображается в браузере и сохраняется в базу данных для последующего просмотра статистики за несколько дней. Для обновления информации используется планировщик задач cron. Для снятия показаний SMART используется программа smartmontools, для учёта статистики и построения графиков - rrdtool. Всё это работает с помощью веб-сервера на базе lighttpd на основе скрипта smarthtml_0.8.2. Скрипт получает данные из вывода smartctl, сравнивает их с сохранёнными значениями предыдущей проверки и создаёт html-страницу (/opt/share/www/smart.html) с таблицей атрибутов, отображая в ней последние изменения параметров. Также пишет в лог при изменении критически важных атрибутов и может отсылать сообщение по e-mail (sendmail). Перед началом использования, естественно, необходимо установить smartmontools и rrdtool с помощью комманды: opkg install smartmontools rrdtool Сам скрипт нужно положить, к примеру, в /opt/usr/bin/smarthtml.sh (после этого не забыв: chmod +x /opt/usr/bin/smarthtml.sh). Затем добавить в cron для регулярного запуска. Cron устанавливается с помощью комманды: opkg install cron После установки cron нужно отредактировать фаил crontab, который находится по адресу /opt/etc/crontab. В предлогаемой конфигурации файла crontab время обновления информации SMART равно 3 часам. 42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly # Read the information to the hard drive SMART # 10 */3 * * * /opt/usr/bin/smarthtml.sh Далее нужно узнать как определяется в системе жёсткий диск, для этого нужно ввести комманду: smartctl --scan. В терминале можно посмотреть информацию смарт с помощью комманды: smartctl -a /dev/sdb. Чтоб узнать температуру жёсткого диска нужно ввести комманду: smartctl -d sat /dev/sdb -l scttemp |grep Temperature. Для просмотра более подробной информации о винчестере можно набрать комманду: smartctl --xall /dev/sdb. ~ # smartctl --scan /dev/sdb -d sat # /dev/sdb [SAT], ATA device ~ # smartctl -a /dev/sdb smartctl 6.5 2016-05-07 r4318 [mips-linux-2.6.22.15] (localbuild) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital AV Device Model: WDC WD3200BUCT-63TWBY0 Serial Number: WD-WX11E33PU344 LU WWN Device Id: 5 0014ee 6ae1231e9 Firmware Version: 01.01A01 User Capacity: 320 072 933 376 bytes [320 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Sat Oct 8 18:21:49 2016 YEKT SMART support is: Available - device has SMART capability. SMART support is: Enabled При первом запуске (комманда sh /opt/usr/bin/smarthtml.sh) скрипт сам создаст каталог /opt/var/smarthtml/ и необходимые файлы для работы. ~ # sh /opt/usr/bin/smarthtml.sh + New dir /opt/var/smarthtml ... + New dir /opt/var/smarthtml/db ... + New dir /opt/var/smarthtml/log ... + New dir /opt/var/smarthtml/rrd ... + RRD DB /opt/var/smarthtml/rrd/sda.rrd was created... ~ # Параметры вызова скрипта: /opt/usr/bin/smarthtml.sh # запуск основной процедуры выполнения (запускается cron'ом по расписанию) /opt/usr/bin/smarthtml.sh resetwarn # сброс предупреждения после изменения критического параметра /opt/usr/bin/smarthtml.sh resetcount # сброс счётчиков изменений параметров /opt/usr/bin/smarthtml.sh makerrdgraph # только отрисовка графиков rrd без проверки SMART и без изменения данных /opt/usr/bin/smarthtml.sh mailtest # отправка тестового email (в случае использования e-mail оповещений) Про cgi-модуль smarthtml.cgi... Он позволяет обновлять данные SMART прямо с веб-страницы в любой момент, что может быть удобно для мониторинга в реальном времени. Эта процедура не затрагивает rrd (rrd обновляется cron'ом по расписанию), а поэтому может производиться в любое время когда требуется получить текущие данные. Для работы модуля необходимо в настройках веб-сервера указать выполнение .cgi файлов с помощью /bin/sh. Для lighttpd нужно установить модуль mod_cgi: opkg install lighttpd-mod-cgi ~ # opkg install lighttpd-mod-cgi Installing lighttpd-mod-cgi (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd-mod-cgi_1.4.38-1_keenle.ipk. Installing lighttpd (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd_1.4.38-1_keenle.ipk. Installing libpcre (8.39-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/libpcre_8.39-1_keenle.ipk. Configuring libpcre. Configuring lighttpd. Configuring lighttpd-mod-cgi. ~ # Далее в конфиге модуля /opt/etc/lighttpd/conf.d/30-cgi.conf изменить строку ".cgi" => "/opt/bin/perl", на ".cgi" => "/bin/sh", cgi.assign = ( ".pl" => "/opt/bin/perl", ".cgi" => "/bin/sh", ".rb" => "/opt/bin/ruby", ".erb" => "/opt/bin/eruby", ".py" => "/opt/bin/python" ) Это изменение заставит сервер выполнять .cgi файлы программой /bin/sh. Сам smarthtml.cgi нужно положить в /opt/share/www/cgi-bin/ и разрешить на выполнение: chmod +x /opt/share/www/cgi-bin/smarthtml.cgi. Скрипте smarthtml.sh отредактировать и изменить параметр USE_CGI_MODULE=0 на USE_CGI_MODULE=1. Так же в этом скрипте стоит обратить внимание на параметр Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc" Там дожна стоять буква соответствующая вашему винчестеру, в моём случае это b - DEVICES="/dev/sdb". Если подключен только 1 винчестер, то скоре всего это будет буква a. ### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc") DEVICES="/dev/sdb" Есть один нюанс с правами доступа... Доступ к дисковым устройствам (/dev/sda и пр.) доступен лишь пользователю root (admin), в случае если ваш веб-сервер запускается с правами суперюзера (что в принципе нехорошо, но для embedded-систем является обычным делом), то нет никаких проблем. Если же сервер, скажем, публичный и запускается с правами специально созданного непривелегированного юзера, то можно использовать утилиту sudo из Entware для работы cgi-сценария. В smarthtml.cgi нужно выставить USE_SUDO=1. Затем установить и настроить sudo: ~ # opkg install sudo Installing sudo (1.8.14p3-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/sudo_1.8.14p3-1_keenle.ipk. Configuring sudo. ~ # Далее нужно отредактировать фаил sudoers ( /opt/etc/sudoers ). В оригинальной инструкции это предлагается сделать с помощью редактора vi используя комманду /opt/sbin/visudo. У меня почему то фаил не открылся для редактирования и я скопировал его на ПК, убрал атрибут "Только для чтения", отредактировал его с помощью Notepad++, сохранил изменения, вернул атрибут "Только для чтения" и вернул на прежнее место заменив старый фаил. В файле sudoers нужно добавить следующие строки (предположим, что веб-сервер запускается под юзером www) : admin ALL=(ALL) ALL www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh Вторая строка разрешит пользователю www запускать /opt/bin/smartctl и /opt/usr/bin/smarthtml.sh с правами admin без ввода пароля (это важно!), что необходимо для выполнения .cgi сценария. В случае успешной настройки при "клике" по ссылке "Check Now" в верхней части страницы таблица SMART должна обновиться вместе с датой последней проверки в заголовке таблицы. В результате получится: ## User privilege specification ## root ALL=(ALL) ALL admin ALL=(ALL) ALL www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh Чтоб заработал планировщик cron нужно перезагрузить роутер или просто запустить cron вручную с помощью комманды: /opt/etc/init.d/S10cron start ~ # /opt/etc/init.d/S10cron start Starting cron... already running. ~ # smarthtml_0.8.2.tar.gz Чтоб открыть страничку с информацией SMART нужно зайти по адресу \opt/share/www/ и открыть фаил smart.html Выглядит результат примерно так:
  12. К сожалению команды не поддерживаются. Не хочется ставить стороннюю не официальную прошивку, думаю что в ней много глюков. Я всётаки больше доверяю официальным прошивкам.
  13. Очень бы хотелось иметь возможность управления свечением LED по расписанию. Бывает что мигающие огоньки роутера мешают вечером засыпать.)) У меня ZyXEL Keenetic II.
  14. На официальной прошивке версии 2.06.C.0 данный способ будет работать или нет? Смущают ваши слова "последнюю экспериментальную прошивку с поддержкой функции LED- гашения и зажигания светодиодов." Поэтому начал сомневаться в возможностях установленной прошивки. Пробовал управлять светодиодами програмным путём - работает. Для этого вводил комманды: phr_ctl -p SYS GREEN off GREEN off phr_ctl -p SYS GREEN off GREEN on phr_ctl -t on phr_ctl -t off Хочется управлять светодиодами таким образом чтоб все светодиоды гасли в 22:00 (вечером) и загорались снова в 7:00 (утром следующего дня) и так каждый день. Чтоб спать не мешали.)) Если не трудно, то напишите пожалуйста подходящий конфиг фаил (crontab) и выложите его здесь на форуме в виде вложения к сообщению. Я пробовал написать, но у меня почему то светодиоды не гаснут по расписанию.
  15. Кто-нибудь может написать как транслировать звук в сеть с микрофона внешней USB звуковой карты. Искал способ это сделать в разных инструкциях. устанавил кучу пакетов, но смог добиться только проигрывания интернет радио с помощью комманды wget -q -O- http://bfmstream.bfm.ru:8004/fm | madplay - wget -q -O- http://stream.makradio.ru/retrohit128.mp3/title | madplay - и ещё смог запустить прослушивание с выхода звуковой карты того что приходит на микрофон (на вход звуковой карты) с помощью комманды arecord -D plughw:0,0 | aplay -D plughw:0,0 Пробовал записывать в звуковой фаил с микрофона, запись идёт. Запускаем запись в папку /tmp, имя зписываемого файла test.wav, параметры записываемого файла 8 бит, 8000 Гц, моно arecord -f u8 -c1 -r8000 /tmp/test.wav Прервать запись можно нажатием Ctrl^C При использовании нескольких Sound card нужно в параметрах arecord выбрать устройство для аудиозахвата -D plughw:0,0, если второе устройство то -D plughw:1,0 или третье -D plughw:2,0 Для проверки сколько у Вас в системе записывающих устройств используйте команду cat /proc/asound/modules Или команду выводящую подробную информацию arecord -l Установить продолжительность записи в примере 10 сек. -d 10 Формат 8 бит без знака -f u8 Один канал (Моно) c1 Частота дискредитации 8000кГц -r 8000 Формат звукового файла -t ~ # arecord -f u8 -c1 -r8000 /tmp/test.wav Recording WAVE '/tmp/test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono Aborted by signal Interrupt... arecord: pcm_read:2032: read error: Interrupted system call В одной из статей для трансляции звука в сеть предлагается использовать пакет gstreamer . Но такого пакета нет в репозитории Entware.
×
×
  • Create New...