Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
3 минуты назад, keenet07 сказал:

По счетчику четное/нечетное нажатие

Где хранить, Как получать доступ, А после сброса по питанию переменная будет сброшена, разве что хранить в файле. Узнать состояние сложнее, но изящнее. Но в любом случае спасибо за совет.

Опубликовано
31 минуту назад, iFinder сказал:

Но как можно узнать текущее состояние интерфейса в скрипте ?

Есть же команда show interface, по идее там и статус ее должен быть ... надо в справочнике по cli смотреть в общем :)

Опубликовано (изменено)
49 минут назад, iFinder сказал:

Напишите пожалуйста, кто знает, строчку или две кода для этого. 

Например так:

ndmq -p 'show interface {interface name}' -x -P state

 

Изменено пользователем r13
Опубликовано
12 минуты назад, r13 сказал:

ndmq -p 'show interface {interface name}' -P state

Даже скорее так, xml не нужон. 

Опубликовано
5 часов назад, r13 сказал:

ndmq -p 'show interface {interface name}' -P state

Круто: одной строкой !

Используя совет, сделал так:

NameWiFi="WifiMaster0/AccessPoint2"
State=`ndmq -p 'show interface '$NameWiFi -P state`
echo -e State=$State

 

Опубликовано

Особая благодарность keenet07 и r13. Подсказанные ими ключевые моменты сделали возможным написание версии скрипта, обрабатывающего все возможные варианты нажатия кнопок Keenetic.

Вот, что получилось:

Скрытый текст

 

#!/opt/bin/bash
# Версия 14 (определяется состояния WiFi-сети и через 2 'case in' делается переключение)


# ====== Определяем переменные
WiFi_ID="WifiMaster0/AccessPoint1"    #0 = Домашняя, 1 = Гостевая, 2 = Рабочая
WiFi_Type="Гостевая"
#echo -e WiFi_ID=$WiFi_ID


# ====== Записываем в журнал Keenetic для истории и отладки
#logger "PressButtons: button=$button"   # Варианты: RESET, WLAN, FN1, FN2
#logger "PressButtons: action=$action"   # Варианты: click, double-click, hold
#logger "PressButtons: button=$button  action=$action"


case "$button" in
# ++++++ Нажата Кнопка WLAN - Анализируем тип нажатия
"WLAN" )
    case "$action" in
    # +++ Нажатие короткое - ?????
    "click" )
        #echo -e button=WLAN  action=click
        ;;
    # +++ Нажатие двойное - ?????
    "double-click" )
        #echo -e button=WLAN  action=double-click
        ;;
    # +++ Нажатие долгое - ?????
    "hold" )
        #echo -e button=WLAN  action=hold
        ;;
    esac
    ;;


# ++++++ Нажата кнопка FN1 - Анализируем тип нажатия
"FN1" )
    case "$action" in
    # +++ Нажатие короткое - Переключаем нужную WiFi-сеть
    "click" )
        #echo -e button=FN1  action=click
        # == Получение состояния нужной WiFi-сети
        State=`ndmq -p 'show interface '$WiFi_ID -P state`
        echo -e State=$State
        # ++ WiFi-сеть Включена - Отключаем
        if [ "$State" == "up" ]
        then
            ndmq -x -p "interface "$WiFi_ID" down"
            logger "PressButtons: "$WiFi_Type" WiFi-сеть отключена коротким нажатием кнопки FN1."
        # ++ WiFi-сеть Отключена - Включаем
        else
            ndmq -x -p "interface "$WiFi_ID" up"
            logger "PressButtons: "$WiFi_Type" WiFi-сеть включена коротким нажатием кнопки FN1."
        fi
        ;;
    # +++ Нажатие двойное - ?????
    "double-click" )
        #echo -e button=FN1  action=double-click
        ;;
    # +++ Нажатие долгое - ?????
    "hold" )
        #echo -e button=FN1  action=hold
        ;;
    esac
    ;;


# ++++++ Нажата кнопка FN2 - Анализируем тип нажатия
"FN2" )
    case "$action" in
    # +++ Нажатие короткое - ?????
    "click" )
        #echo -e button=FN2  action=click
        ;;
    # +++ Нажатие двойное - ?????
    "double-click" )
        #echo -e button=FN2  action=double-click
        ;;
    # +++ Нажатие долгое - ?????
    "hold" )
        #echo -e button=FN2  action=hold
        ;;
    esac
    ;;
esac

 


 

  • 1 год спустя...
Опубликовано

Здравствуйте товарищи! хочу отправить Wake-on-LAN через кнопку fn. как это сделать?
Например через OPKG - Запуск скриптов button.d можно но не знаю как сделать дайте пожалуйста информацию подробнее как создать скрипт и через какую. программу :D

Опубликовано (изменено)
2 часа назад, admin Keenetic сказал:

подробнее как создать скрипт

Пример выше есть же, вполне себе подробный.

2 часа назад, admin Keenetic сказал:

через какую. программу 

В репозитории opkg есть команда wakeonlan. Установить можно так

opkg install wakeonlan

Команде в качестве параметра даём MAC-адрес устройства, которое хотим разбудить.

wakeonlan a8:1e:84:11:f1:22

Можно несколько mac-адресов поместить в текстовый файл, который затем вызывать с параметром f:

wakeonlan -f file_path/file_name

Но правильнее, с моей точки зрения, использовать средства роутера, через REST API. Команда (должен быть установлен пакет wget-nossl) :

wget -qO - --post-data='[{"mac":"a8:1e:84:11:f1:22"}]' http://localhost:79/rci/ip/hotspot/wake

либо устаревшую ndmq, как в примере выше:

ndmq -p "ip hotspot wake a8:1e:84:11:f1:22"

Но сейчас пакет ndmq удалён из репозитория, скачать его можно только из архива, настоятельно рекомендуют использовать REST API.

Изменено пользователем vadimbn
Опубликовано
7 часов назад, vadimbn сказал:

должен быть установлен пакет wget-nossl

wget апплет busybox`a вполне себе справляется

7 часов назад, vadimbn сказал:

Но сейчас пакет ndmq удалён из репозитория, скачать его можно только из архива, настоятельно рекомендуют использовать REST API.

лучше сейчас начать изучение rci, чем получить "нежданчик", когда поддержку выпилят полностью и ndmq перестанет работать...

  • 5 месяцев спустя...
Опубликовано (изменено)


Здравствуйте помогите создать скрипт перезагрузки 4G модема Huawei E8372 ( 192.168.8.1  пароль 123456) с Кнопка FN1 однократное нажатие.

Изменено пользователем Сергей Саган
  • 1 месяц спустя...

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.