Page 1 of 7 123 ... LastLast
Results 1 to 15 of 101

Thread: LED mod - утилита для управления светодиодом PoWeR

  1. #1
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788

    Thumbs up LED mod - утилита для управления светодиодом PoWeR

    Тут от нечего делать, основываясь на асусовский watchdog, собрал утилитку с помощью которой можно управлять светодиодом pwr. Я думаю она может найти свое применение там, где необходимо уведомление пользователя о каком-либо событии, которое можно осуществить с помощью этого светодиода. Работать должна на WL-500gDeluxe/WL-550gE/WL-500gPremium/WL-500w и возможно на других моделях. Проверял я её на своем WL-500g Premium. Это мой первый опыт клепания программы на языке C да и к тому же под линукс да и к томуже под роутер. Так что используйте её на свой страх и риск(!).



    Установка:
    • На подключенный диск/флешку, смонтированную в /opt:
      Code:
      cd /opt/bin
      /usr/bin/wget 'http://wl500g.info/attachment.php?attachmentid=2152' -O- | /bin/tar xzv
    • Во флеш(flashfs) роутера:
      Code:
      cd /usr/local/bin
      /usr/bin/wget 'http://wl500g.info/attachment.php?attachmentid=2152' -O- | /bin/tar xzv
      flashfs save
      Т.к. на разных моделях роутеров размер раздела flashfs разный и во избежание потери информации убедитесь, что размер полученного flashfs не превышает 64К. Для этого после команды flashfs save (и до commit) обратите внимание на строку вида:
      Code:
      -rw-r--r-- 1 root root 10710 Nov 16 15:24 /tmp/flash.tar.gz
      Check saved image and type "/sbin/flashfs commit" to commit changes
      где значение, выделенное красным не должно превышать 65535. Если значение превышает максимальный размер, то откажитесь от данной затеи, НЕ делайте flashfs commit и удалите файл с помощью команды rm /usr/local/bin/pwrled

      Далее сохраните flashfs во флеш:
      Code:
      flashfs commit
      flashfs enable

    Использование:

    Code:
    
    Usage: pwrled [-fghl] [-b [-p pidile]] [-c count] [-e on_dur] 
                  [-d off_dur] [-n n_cycles] [-s sleep] [preset]
    
       -n n_cycles Количество подмигиваний.
       -e on_dur   Длительность паузы в состоянии 
                   "включено" при подмигивании.
       -d off_dur  Длительность паузы в состоянии 
                   "выключено" при подмигивании.
       -s sleep    Пауза после подмигивания.
       -g          "Негативный режим". Пауза (-s) 
                   выдерживается при погасшем светодиоде.
       -c count    Количество полных циклов светомузыки
                   0 для бесконечной светомузыки.
                   -1 без входа в цикл.
       -f          Отключить светодиод по завершении 
                   работы программы.
       -b          Фоновый режим.
       -p file     Записать PID процесса в файл file
                   Используйте "-" для вывода в stdout.
                   Опция имеет силу только при использовании
                   совместно с опцией -b.
       -l          Вывести в stdout результат совмещения 
                   предустановок (preset) и указанных вручную 
                   опций и затем выйти из программы.
       -h          Вывести справку.
    
    Доступные предустановки (preset): on off alarm0 alarm1 alarm2 
    alarm3 alarm4 alarm5 alarm6 alarm7 alarm8 alarm9
    В новой версии можно комбинировать опции согласно стандарту POSIX (например: -fbp /tmp/pid -c20 -s 10). Также сохранена обратная совместимость. Тоесть для включения или отключения светодиода можно также как и раньше использовать комманды pwrled on и pwrled off соответственно.

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

    В (ba)sh скриптах теперь можно использовать как совместно с PID файлом:
    Code:
    PID="/var/run/pwrled.pid"
    # Для запуска светомузыки в режиме alarm5
    [ -r "$PID ] && kill $(cat $PID); pwrled -bp$PID alarm5
    # Для отключения светомузыки
    [ -r "$PID ] && kill $(cat $PID);
    так и по старинке:
    Code:
    # Для запуска светомузыки в режиме alarm5
    (killall pwrled 2>/dev/null; pwrled alarm5 &)
    # Для отключения светомузыки
    (killall pwrled 2>/dev/null)
    Исходник утилиты на языке C также прилагается.
    Attached Files Attached Files
    Last edited by Mam(O)n; 24-12-2007 at 15:09. Reason: v0.2.20071224-1

  2. #2
    500g Deluxe:

    [admin@(none) tmp]$ ./pwrled off
    ERROR: No suitable hardware found

    А жаль...

  3. #3
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    Добавил поддержку wl500gx. Первый пост обновил, можно тестить

  4. #4
    Join Date
    Oct 2006
    Location
    Russia, Kursk
    Posts
    74
    ))) работает на premium

  5. #5
    Работает на Deluxe
    А другими лампочками нельзя управлять? А то хороший бы интерфейс для подключения исполнительных устройств получился

  6. #6
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    Здесь Oleg говорил, что управлять другими не получится.
    Last edited by Omega; 13-06-2011 at 16:12. Reason: fixed

  7. #7
    Join Date
    Oct 2006
    Location
    Russia, Kursk
    Posts
    74

    А режим "совсем не горит" можно сделать?

    а то охота юзать как предупреждалку какую-нить и в дефолтовом статусе хотелось бы в выключенном состоянии

  8. #8
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    pwrled off погасит светодиод. А для оповещения можно воспользоватся режимами alarm(5-9), они подмигивают из состояния "выключено".

  9. #9

    Thumbs up led

    Как выключить/включить LED?
    Скрипт или call (soft напишу сам).
    Надоело что лампочки горят

  10. #10

  11. #11
    Просьба небольшая добавить флаг
    -f (продолжать мерцать)
    если запускается без флага то после моргания pwrled сразу завершается.
    если с флагом -f то моргает до посинения.

    Зачем нужно? Нужно потому что хочется чтобы он отморгал один раз и прекратил. иначе его приходится прибивать, а если прибивать то не понятно он уже отморгал свое или нет.
    спасибо )

  12. #12
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788

    Smile v0.2.20071224

    По просьбам трудящися я убил ночку и в результате чего свет увидела новая версия этой утилиты

    Quote Originally Posted by n0isy View Post
    а то охота юзать как предупреждалку какую-нить и в дефолтовом статусе хотелось бы в выключенном состоянии
    Теперь, в новой версии есть опция -f, которая по завершении программы отключит светодиод. Также я думаю здесь пригодится новая опция -g.

    Quote Originally Posted by angel_il View Post
    Просьба небольшая добавить флаг
    -f (продолжать мерцать)
    если запускается без флага то после моргания pwrled сразу завершается.
    если с флагом -f то моргает до посинения.
    В новой версии я добавил опцию -c, с помощью которой можно задать количество циклов подмигивания. Допустим если использовать -c1 тогда один раз промигает в заданном режиме и программа завершится. А если заюзать -c0, то моргать будет до посинения

  13. #13
    вау! это просто праздник какой то! (с)

  14. #14
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    Пока не поздно - повторный релиз. Сделал небольшие косметические исправления и главное поменял местами опции -e и -d, а то слегка попутал и в суматохе сделал не как было задумано

  15. #15
    эта... английский не знаю, но вместо
    Code:
    Type ...
    более корректно
    Code:
     Try `pwrled --help or -h' for more information.
    а вот так вот:
    Code:
     ./pwrled --help
    ./pwrled: illegal option -- -
    как то несколько неожиданно для меня , непомню гнутого софта который бы не выдавал хелп по --help .

Page 1 of 7 123 ... LastLast

Similar Threads

  1. Radio Power
    By SAA in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 357
    Last Post: 16-04-2015, 12:42
  2. Программа для управления роутером
    By Vitaly_k in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 113
    Last Post: 08-12-2014, 06:34
  3. Replies: 45
    Last Post: 22-07-2013, 02:06

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •