08.07.2013, 00:09 | #1 |
Junior Member
Регистрация: 07.07.2013
Сообщений: 1
Вес репутации: 0 |
Использование "физических" кнопок в openwrt.
Есть идея:
Использовать физический переключатель 3G-WISP-AP для переключения "программных режимов". Например: Положение переключателя- 3G чистый open wrt, без miniDLNA, Transmission и tor(т.е просто, обычный роутер). Положение переключателя- WISP запускаем miniDLNA и tor. Положение переключателя- AP запускаем Transmission. Реализация: 1) Убираем все(miniDLNA, Transmission и tor) из автозагрузки. 2)Что-то читает положение переключателя и выполняет: Если 3G(да, да, я знаю, что их нет в автозагрузке, но ведь мы можем перейти с AP или WISP, а если что-то из этого не открыто- ничего страшного не произойдет): /etc/init.d/transmission stop /etc/init.d/minidlna stop /etc/init.d/tor stop Если WISP: /etc/init.d/transmission stop #если мы пришли с AP /etc/init.d/minidlna start /etc/init.d/tor start Если AP: /etc/init.d/transmission start З.Ы. По идее в качастве бонуса получим ускорение загрузки open wrt. Т.к все плюшки будут открыты после запуска. З.Ы(2) Гланая проблема- как считать положение. Последний раз редактировалось 111klacc111; 08.07.2013 в 01:04. Причина: З.Ы(2) |
08.07.2013, 08:32 | #2 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 |
http://www.cyber-place.ru/showpost.p...6&postcount=98
http://wiki.openwrt.org/doc/howto/hardware.button Последний раз редактировалось andr128; 08.07.2013 в 08:36. |
08.07.2013, 10:33 | #3 |
Senior Member
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689 |
Если у нас переключатель (а не кнопка), то действия(ACTION) released/pressed у нас соответствуют какому-то значению вкл./выкл.
|
13.07.2013, 17:21 | #4 |
Junior Member
Регистрация: 13.07.2013
Сообщений: 9
Вес репутации: 0 |
Мой /etc/hotplug.d/button/button
Код:
#!/bin/sh sleep 1 if [ "$BUTTON" = "BTN_1" ] && [ "$ACTION" = "released" ] ; then logger "Stop" transmission-remote -t all -S fi if [ "$BUTTON" = "BTN_0" ] && [ "$ACTION" = "released" ] ; then transmission-remote -as transmission-remote -t all -s logger "Start LOW" fi if [ "$BUTTON" = "BTN_0" ] && [ "$ACTION" = "pressed" ] ; then transmission-remote -AS transmission-remote -t all -s logger "Start HI" fi |
23.07.2013, 09:05 | #5 |
Senior Member
|
А я использую переключатель для выбора Wi-Fi сети в которой хочу работать.
PHP код:
|
28.05.2014, 21:22 | #6 |
Member
Регистрация: 20.11.2013
Адрес: Брянск
Сообщений: 57
Вес репутации: 0 |
Re: Использование "физических" кнопок в openwrt.
А может кто подробнее объяснить настройку обработчика для использования переключателя 3G/WISP/AP? Заранее спасибо!
|
06.11.2014, 16:01 | #7 |
Junior Member
Регистрация: 28.01.2014
Адрес: Петербург
Сообщений: 10
Вес репутации: 0 |
Re: Использование "физических" кнопок в openwrt.
Добрый день.
Вы очень здорово рассказали про события, возникающие при переключении слайдера "3G-WISP-AP". У меня всё заработало. Но вот вопрос - как опросить BTN_1 и BTN_2, не шевеля переключателем? Чтобы установленный режим выбирался при загрузке роутера? Я примерно представляю, что можно установить дополнительный пакет вроде gpioctl-sysfs и проверять состояние конкретных GPIO в папке /sys/class/gpio/gpioNUMBER/value. Но, может, есть путь легче? Во всех попавшихся мне статьях на форуме упоминались именно события при нажатии/отпускании кнопок. А как прочесть их текущее состояние? Последний раз редактировалось shurickk; 06.11.2014 в 16:04. |
08.11.2014, 18:47 | #8 | |
Junior Member
Регистрация: 09.04.2014
Сообщений: 27
Вес репутации: 0 |
Re: Использование "физических" кнопок в openwrt.
Цитата:
|
|
08.11.2014, 22:17 | #9 |
Senior Member
Регистрация: 25.11.2013
Сообщений: 116
Вес репутации: 0 |
Re: Использование "физических" кнопок в openwrt.
Можно настроить GPIO в режим input и отпросить состояние пинов
|
19.11.2014, 00:52 | #10 |
Junior Member
Регистрация: 13.02.2013
Сообщений: 29
Вес репутации: 0 |
Re: Использование "физических" кнопок в openwrt.
Может прочитать состояние переключателя через
cat /sys/kernel/debug/gpio |
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4) | |
|
|