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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.11.2012, 19:17   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Еще один вариант управлять GPIO пинами которые подключены к светодиодам роутера TP-Link

Как я уже писал ранее GPIO захвачены драйвером светодиодов и управлять ими можно, например как я написал в шапке этой темы.
Но есть еще вариант управления этими светодиодами, для этого нужно выгрузить модуль ядра(драйвер светодиодов) leds_gpio
И что бы это не делать каждый раз после ребута, нужно прописать в /etc/rc.local
В примере я использую выход B44(GPIO27), роутер WR703N, на котором подключен светодиод

rmmod leds_gpio
echo 27 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio27/direction
echo 0 > /sys/class/gpio/gpio27/value


сохраняем и перегружаем роутер.
Теперь включить светодиод можно командой:
echo 0 > /sys/class/gpio/gpio27/value

А выключить
echo 1 > /sys/class/gpio/gpio27/value

Использовать GPIO как вход
echo 17 > /sys/class/gpio/export #добавляем 17 порт в систему
echo in > /sys/class/gpio/gpio17/direction #назначаем его как вход
cat /sys/class/gpio/gpio17/value #считываем его состояние
В ответ получим лог.1, так как вход подтянут через резистор 10к к питанию

Не забудьте, что после перезагрузки системы нужно заново конфигурировать GPIO порты
Что бы этого не делать каждый раз после ребута, нужно прописать все эти команды в фаил /etc/rc.local

Привожу таблицу GPIO для роутеров MR3020 и WR793N
По таблице можете определить соответствие пинов GPIO с выводами процессора, а так же проверить пины на использование их в роутере
Нажмите на изображение для увеличения
Название: tabpin.png
Просмотров: 1900
Размер:	14.5 Кб
ID:	680
Проще всего использовать пины с разведенными для них подтягивающими резисторами(10к) на плате WR703N.
Это пины GPIO 0, GPIO 1, GPIO 7, GPIO 13, GPIO 14, GPIO 15, GPIO 16, GPIO 17, GPIO 29
Красным цветом выделил пины подтянутые к U пит.
Admin вне форума   Ответить с цитированием
Старый 23.12.2012, 02:09   #2
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
Проще всего использовать пины с разведенными для них подтягивающими резисторами(10к) на плате WR703N.
Это пины GPIO 0, GPIO 1, GPIO 13, GPIO 14, GPIO 15, GPIO 16, GPIO 17
Красным цветом выделил пины подтянутые к U пит.
Появилось время поковырять плату. У меня MR3020. И вот что наковырял:
Из неиспользуемых пинов (судя по таблице) управлять можно только: GPIO 1(R2), GPIO 7(R15) и не распаяные GPIO 19, GPIO 21, GPIO 22, GPIO 23, GPIO 24, GPIO 25.
Все остальные GPIO - 12, 13, 14, 15, 16, 17, 28 не управляются. Посылая команду
PHP код:
echo > /sys/class/gpio/gpio12/value 
в файле "value" по адресу sys/class/gpio/gpio12 видим не ноль, а единицу.
Может это как-то и решаемо, например выгрузкой каких-нибудь процессов, но что-то мне подсказывает, что этого делать нельзя.
Аналогично для остальных, и подтягивающие резисторы тут не причём.
Это касается не используемых. Те, которые заняты светодиодами и переключателем естественно управляемы.
P.S. Пины назначал как выходы и мерил мультиметром напряжение меняя состояние.

Последний раз редактировалось Sirocco; 23.12.2012 в 02:11. Причина: Добавил P.S.
Sirocco вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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