Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.07.2013, 00:09   #1
111klacc111
Junior Member
 
Регистрация: 07.07.2013
Сообщений: 1
Вес репутации: 0
111klacc111 is an unknown quantity at this point
Lightbulb Использование "физических" кнопок в 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)
111klacc111 вне форума   Ответить с цитированием
Старый 08.07.2013, 08:32   #2
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

http://www.cyber-place.ru/showpost.p...6&postcount=98
http://wiki.openwrt.org/doc/howto/hardware.button

Последний раз редактировалось andr128; 08.07.2013 в 08:36.
andr128 вне форума   Ответить с цитированием
Старый 08.07.2013, 10:33   #3
Dioptimizer
Senior Member
 
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689
Dioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond repute
По умолчанию

Если у нас переключатель (а не кнопка), то действия(ACTION) released/pressed у нас соответствуют какому-то значению вкл./выкл.
Dioptimizer вне форума   Ответить с цитированием
Старый 13.07.2013, 17:21   #4
LeonidasB
Junior Member
 
Регистрация: 13.07.2013
Сообщений: 9
Вес репутации: 0
LeonidasB is an unknown quantity at this point
По умолчанию

Мой /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
Управление transmission переключателем 3G-WISP-AP. В положении AP -старт закачек на максимальной скорости, WISP - закачка с альтернативной скоростью, 3G - пауза.
LeonidasB вне форума   Ответить с цитированием
Старый 23.07.2013, 09:05   #5
filinmd
Senior Member
 
Регистрация: 18.09.2012
Адрес: Moscow
Сообщений: 157
Вес репутации: 0
filinmd is an unknown quantity at this point
Отправить сообщение для filinmd с помощью ICQ
По умолчанию

А я использую переключатель для выбора Wi-Fi сети в которой хочу работать.

PHP код:
#!/bin/sh
sleep 1
if [ "$BUTTON"BTN_1" ] && [ "$ACTION"released" ] ; then

uci set wireless
.@wifi-iface[0].ssid=DOROGA
uci set wireless
.@wifi-iface[0].encryption=wep
uci commit wireless
wifi
logger 
"RABOTA"

fi
if [ "$BUTTON"BTN_0" ] && [ "$ACTION"released" ] ; then

uci set wireless
.@wifi-iface[0].ssid=RamaWifi
uci set wireless
.@wifi-iface[0].encryption=psk2
uci commit wireless
wifi
logger 
"DOM"

fi
if [ "$BUTTON"BTN_0" ] && [ "$ACTION"pressed" ] ; then
uci set wireless
.@wifi-iface[0].ssid=HTC_Max
uci set wireless
.@wifi-iface[0].encryption=psk2
uci commit wireless
wifi
logger 
"ANDROID"

fi 
filinmd вне форума   Ответить с цитированием
Старый 28.05.2014, 21:22   #6
rapid
Member
 
Регистрация: 20.11.2013
Адрес: Брянск
Сообщений: 57
Вес репутации: 0
rapid is an unknown quantity at this point
По умолчанию Re: Использование "физических" кнопок в openwrt.

А может кто подробнее объяснить настройку обработчика для использования переключателя 3G/WISP/AP? Заранее спасибо!
rapid вне форума   Ответить с цитированием
Старый 06.11.2014, 16:01   #7
shurickk
Junior Member
 
Регистрация: 28.01.2014
Адрес: Петербург
Сообщений: 10
Вес репутации: 0
shurickk is an unknown quantity at this point
По умолчанию Re: Использование "физических" кнопок в openwrt.

Добрый день.
Вы очень здорово рассказали про события, возникающие при переключении слайдера "3G-WISP-AP". У меня всё заработало. Но вот вопрос - как опросить BTN_1 и BTN_2, не шевеля переключателем? Чтобы установленный режим выбирался при загрузке роутера?
Я примерно представляю, что можно установить дополнительный пакет вроде gpioctl-sysfs и проверять состояние конкретных GPIO в папке /sys/class/gpio/gpioNUMBER/value. Но, может, есть путь легче?

Во всех попавшихся мне статьях на форуме упоминались именно события при нажатии/отпускании кнопок. А как прочесть их текущее состояние?

Последний раз редактировалось shurickk; 06.11.2014 в 16:04.
shurickk вне форума   Ответить с цитированием
Старый 08.11.2014, 18:47   #8
Kenny
Junior Member
 
Регистрация: 09.04.2014
Сообщений: 27
Вес репутации: 0
Kenny is an unknown quantity at this point
По умолчанию Re: Использование "физических" кнопок в openwrt.

Цитата:
Сообщение от shurickk Посмотреть сообщение
Добрый день.
Вы очень здорово рассказали про события, возникающие при переключении слайдера "3G-WISP-AP". У меня всё заработало. Но вот вопрос - как опросить BTN_1 и BTN_2, не шевеля переключателем? Чтобы установленный режим выбирался при загрузке роутера?
Я примерно представляю, что можно установить дополнительный пакет вроде gpioctl-sysfs и проверять состояние конкретных GPIO в папке /sys/class/gpio/gpioNUMBER/value. Но, может, есть путь легче?

Во всех попавшихся мне статьях на форуме упоминались именно события при нажатии/отпускании кнопок. А как прочесть их текущее состояние?
Можно сделать индикацию светодиодом.
Kenny вне форума   Ответить с цитированием
Старый 08.11.2014, 22:17   #9
cyberlab
Senior Member
 
Регистрация: 25.11.2013
Сообщений: 116
Вес репутации: 0
cyberlab is an unknown quantity at this point
По умолчанию Re: Использование "физических" кнопок в openwrt.

Можно настроить GPIO в режим input и отпросить состояние пинов
cyberlab вне форума   Ответить с цитированием
Старый 19.11.2014, 00:52   #10
mcsa
Junior Member
 
Регистрация: 13.02.2013
Сообщений: 29
Вес репутации: 0
mcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to behold
По умолчанию Re: Использование "физических" кнопок в openwrt.

Может прочитать состояние переключателя через
cat /sys/kernel/debug/gpio
mcsa вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика