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

iFinder

Участники форума
  • Постов

    180
  • Зарегистрирован

  • Посещение

Весь контент iFinder

  1. Приветствую всех ! Есть пакет mosquitto_sub, который после запуска выдаёт в консоль сообщения, которые приходят от MQTT-брокера на подписанные им топики: ~ # mosquitto_sub -q 1 -t "WiFi/+/+/Команда/#" -v -u test -P test WiFi/Служебная/5/Команда Вкл. WiFi/Служебная/2,4/Команда Откл. WiFi/Домашняя/5/Команда Вкл. WiFi/Домашняя/2,4/Команда Откл. ^C ~ # для остановки надо нажать Ctrl+C. Что надо сделать, чтобы некий скрипт считывал строки, которые выдаёт пакет mosquitto_sub в консоль ?
  2. Ссылка доступные команды НЕ работает, что делать ?
  3. Здравствуйте ! Поставил себе на Keenetic среду Node-RED, которая может выполнять нечто похожее, что и все описанные сервисы и тоже умеет посылать HTTP-запросы. Но т.к. она находится в локальной сети, собственно говоря на одном и том же адресе, то настройки доступа к rci будут отличаться от тех, что описаны в шапке темы. Подскажите, что нужно сделать на Keenetic, чтобы к нему можно было подключиться, авторизоваться и делать запросы на rci ?
  4. Особая благодарность keenet07 и r13. Подсказанные ими ключевые моменты сделали возможным написание версии скрипта, обрабатывающего все возможные варианты нажатия кнопок Keenetic. Вот, что получилось:
  5. Круто: одной строкой ! Используя совет, сделал так: NameWiFi="WifiMaster0/AccessPoint2" State=`ndmq -p 'show interface '$NameWiFi -P state` echo -e State=$State
  6. Где хранить, Как получать доступ, А после сброса по питанию переменная будет сброшена, разве что хранить в файле. Узнать состояние сложнее, но изящнее. Но в любом случае спасибо за совет.
  7. Ну а теперь верх хотелок: У меня три WiFi-сетки. Две управляются кнопкой стандартно. Короткое нажатие - Гостевая сеть, Двойное - Служебная сеть. Логично было бы переключать третью (Домашнюю) сеть Долгим нажатием кнопки. Именно переключать, а не задействовать два разных нажатия кнопки как в моём скрипте выше. Но как можно узнать текущее состояние интерфейса в скрипте ? Напишите пожалуйста, кто знает, строчку или две кода для этого.
  8. тоже работает. Но первый Ваш совет содержательнее: он показал, что есть разница в написании скриптов!
  9. В итоге ПОМОГЛО ! Надо в конце добавить: exit 0
  10. Вот описание: Else if и elif elif elif -- это краткая форма записи конструкции else if. Применяется для построения многоярусных инструкций if/then. if [ condition1 ] then command1 command2 command3 elif [ condition2 ] # То же самое, что и else if then command4 command5 else default-command fi И при тестовом запуске из CLI/SSH всё нормально.
  11. Итак подвожу итоги: СОЗДАНИЕ СКРИПТА РЕАКЦИИ НА НАЖАТИЕ КНОПКИ KEENETIC 1. Создаю файл скрипта: /opt/etc/ndm/button.d/PressButtons.bash 2. Наполняю его содержимым: 3. Делаю его исполняемым: chmod +x /opt/etc/ndm/button.d/PressButtons.bash 4. Указываю в Настройках Keenetic реакцию на нажатие кнопки FN1: Однократное нажатие = "OPKG - Запуск скриптов button.d" Двукратное нажатие = "OPKG - Запуск скриптов button.d" 5. Проверил запуском из CLI/SSH /opt/etc/ndm/button.d/PressButtons.bash НО ПРИ НАЖАТИИ КНОПКИ FN1 в журнале Keenetic появились записи: Окт 29 17:56:28 root button=FN1 action=click Окт 29 17:56:28 ndm Opkg::Manager: /opt/etc/ndm/button.d/PressButtons.bash: /opt/etc/ndm/button.d/PressButtons.bash: line 34: syntax error: unexpected end of file. Окт 29 17:56:28 ndm Opkg::Manager: /opt/etc/ndm/button.d/PressButtons.bash: exit code 2. Может кто знает, в чём причина ?
  12. У меня скрипт был и есть /opt/etc/ndm/button.d/PressButtons.bash
  13. Получилось, оказалось перепутал кнопки FN: Окт 29 15:27:24 root button=FN1 Дальше дело техники !
  14. #!/opt/bin/bash logger "button=$button" #interface WifiMaster0/AccessPoint1 up #echo "Гостевая сеть запущена !" В логе кинетика по-прежнему ничего нет
  15. #!/opt/bin/bash logger "button=$button" #interface WifiMaster0/AccessPoint1 up #echo "Гостевая сеть запущена !" В логе кинетика по-прежнему ничего нет
  16. Но в CLI/SSH ничего не появляется ! В данном случае разве stdout и CLI/SSH не одно и тоже ?
  17. #!/opt/bin/bash echo "button=$button" #interface WifiMaster0/AccessPoint1 up #echo "Гостевая сеть запущена !" Ничего не происходит при нажатии кнопки. Что делать ?
  18. В том то и дело, как написать,чтобы при одном типе нажатия включалась, а при другом отключалась ?
  19. Не только заметил, а несколько лет пользуюсь. Указал для примера: удобно контролировать и у всех есть.
  20. В настройках Keenetic можно указать действие по нажатию кнопок: OPKG - Запуск скриптов button.d Предполагаю, что реализации этой возможности надо: 1. Выбрать в WEB-интерфейсе Keenetic для конкретной кнопки "OPKG - Запуск скриптов button.d" 2. Создать файл /opt/etc/ndm/button.d/buttons.sh 3. Написать скрипт в файле buttons.sh: - Из скрипта будут доступны дополнительные переменные окружения: button — название кнопкина action — тип нажатия - Задача будет, например, запустить Гостевую сеть Вот набросок того, что предполагаю: #!/opt/bin/bash interface WifiMaster0/AccessPoint1 up echo "Гостевая сеть запущена !" 4. Сделать скрипт исполняемым: chmod +x /opt/etc/ndm/button.d/buttons.sh Вопросы: 1. Соответствует ли действительности указанный выше подход ? 2. Как должен выглядеть скрипт buttons.sh ? 3. Как должен выглядеть скрипт buttons.sh с учётом какая кнопка нажата ?
  21. Не стоит. После танцев с бунами выяснилось, что файл архива битый. Взял другой - заработало. Признаком выполнения процесса будет убывание свободного места на USB-флэшке Длительность процесса для 10Гб файла архива ~2 минуты Признаком окончания будет удаление папки 'install'
  22. Жду уже 23 минуты. Появилось несколько папок: home\ Install\ lib\ lost+found\ sbin\ share\ tmp\ Размер архива \\GigaYN\Entware\Install\GigaYN-Entware-backup-2019-10-16_12-09.tar.gz всего 20 МБ Размер Entware был около 100 Мб ! Через 24 минуты размер всего 25 из них 20 архив ! Что-то снова не так. Что делать ? Putty тоже не подключается.
  23. Как всегда, дельное уточнение. Конечно надо было мне написать везде CLI/SSH-командами, например: Обновляются CLI/SSH-командами `opkg update && opkg upgrade`. Жаль, что форум не даёт возможности исправить.
×
×
  • Создать...

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

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