![]() |
![]() |
#1 |
Junior Member
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
Модуль выключателей (удаленного управления нагрузками), подключенными через gpio. Рассчитан на тех, у кого уже есть подключенные к выходам нагрузки, и хочется иметь страницу для управления ими (в том числе с мобильных устройств).
УСЛОВИЯ ДЛЯ РАБОТЫ МОДУЛЯ Для работы модуля необходимо предварительно экспортировать и настроить на вывод все gpio, которыми хотите управлять. Например, для мигания светодиодами MR-3020 нужно сделать: rmmod leds_gpio echo 27 >/sys/class/gpio/export echo 0 > /sys/class/gpio/export echo 17 >/sys/class/gpio/export echo 26 >/sys/class/gpio/export Если у вас выпаяны 18 и 20 (или другие) gpio, или подключен расширитель через i2c (например, на PCF8574) для них требуется еще указать направление: rmmod gpio_button_hotplug echo 18 > /sys/class/gpio/export echo 20 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio18/direction echo out > /sys/class/gpio/gpio20/direction rmmod gpio_button_hotplug - это выгрузка модуля, который исходно отвечает за обработку переключателя, из которого выпаяны выходы 18 и 20. ОСОБЕННОСТИ РЕАЛИЗАЦИИ Таймер задержки работает на стороне браузера, поэтому нельзя уходить со страницы, если нажали кнопку. Одновременно можно запускать только один таймер, несколько - будут глючить, уходя в минус :-) Как работает страница настроек-конструктор: он собирает данные обо всех экспортированных и настроенных на выход gpio, и позволяет настроить для них переключатели. Если вы видите пустую таблицу - перепроверьте, что сделали экспорт gpio. Если у вас к выводам уже подключены какие-то устройства - рекомендую прописать эту операцию в автозапуск - в /etc/rc.local. Порядок переключателей можно менять, перетаскивая строки таблицы за пустое место. ВАЖНО! конструктор не сохраняет ваши настройки, создавая страницу с переключателями "с нуля", каждый раз вам придется все настройки вводить заново. Если случайно затерли "хороший" вариант страницы, в настройках есть кнопка восстановления предыдущей версии из резервной копии. ![]() Последний раз редактировалось Prana; 22.04.2015 в 08:19. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 14.04.2010
Сообщений: 239
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Классный модуль!
а на чем плавное переключение сделано? на css? |
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
плавное переключение - да, на css.
у меня задачей было сделать легкую страничку, без лишних ресурсов, которая нормально выглядела бы не только на десктопе, но и на мобильном, и не требовала перезагрузки страницы. Поэтому максимально использовал css, и немного javascript для ajax-вызова cgi, который, собственно, и переключает состояние gpio уже потом подумал, что кому-нибудь такая штука может быть полезна в виде модуля, поэтому выложил в таком виде, если заинтересует - постараюсь доработать, сделать настройку |
![]() |
![]() |
![]() |
#4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Отличный дизайн!
Самое интересное что никаких jQuery не используется, все постилось в Index.html |
![]() |
![]() |
![]() |
#5 |
Junior Member
Регистрация: 03.03.2014
Сообщений: 21
Вес репутации: 0 ![]() |
![]()
Клевый модуль.
А под Arduino такой модуль будет? |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#7 |
Junior Member
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
В папку test выложена обновленная версия модуля, не требующая ручного создания html под свои нужды.
Отличия от первоначальной: 1. появилась возможность поставить задержку на включение или выключение (в секундах) 2. появился конструктор для своих переключателей, доступен по ссылке "Настройки". УСЛОВИЯ ДЛЯ РАБОТЫ МОДУЛЯ Для работы модуля необходимо предварительно экспортировать и настроить на вывод все gpio, которыми хотите управлять. Например, для мигания светодиодами MR-3020 нужно сделать: rmmod leds_gpioЕсли у вас выпаяны 18 и 20 (или другие) gpio, или подключен расширитель через i2c (например, на PCF8574) для них требуется еще указать направление: rmmod gpio_button_hotplugrmmod gpio_button_hotplug - это выгрузка модуля, который исходно отвечает за обработку переключателя, из которого выпаяны выходы 18 и 20. ОСОБЕННОСТИ РЕАЛИЗАЦИИ Таймер задержки работает на стороне браузера, поэтому нельзя уходить со страницы, если нажали кнопку. Одновременно можно запускать только один таймер, несколько - будут глючить, уходя в минус :-) Как работает страница настроек-конструктор: он собирает данные обо всех экспортированных и настроенных на выход gpio, и позволяет настроить для них переключатели. Если вы видите пустую таблицу - перепроверьте, что сделали экспорт gpio. Если у вас к выводам уже подключены какие-то устройства - рекомендую прописать эту операцию в автозапуск - в /etc/rc.local. Порядок переключателей можно менять, перетаскивая строки таблицы за пустое место. ВАЖНО! конструктор не сохраняет ваши настройки, создавая страницу с переключателями "с нуля", каждый раз вам придется все настройки вводить заново. Если случайно затерли "хороший" вариант страницы, в настройках есть кнопка восстановления предыдущей версии из резервной копии. жду отзывов и багов :-) |
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 ![]() ![]() ![]() ![]() ![]() |
![]()
Погонял на A5-V11 - все четко, в настройках gpio сами автоматом прописываются (экспортированные). Позиция выключателя запоминается, когда уходишь и по новой заходишь на закладку. Но залипания описанные здесь тоже имеет место
![]() Последний раз редактировалось sakatgg; 21.04.2015 в 23:14. |
![]() |
![]() |
![]() |
#9 |
Junior Member
Регистрация: 21.04.2015
Сообщений: 3
Вес репутации: 0 ![]() |
![]()
Друзья, а как заставить MR3020 не вспыхивать диодами при перезапуске? Ядро пересобирать или как-то проще?
|
![]() |
![]() |
![]() |
#10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Прошивку придется свою компилировать
Проще использовать два свободных GPIO и подключить к ним расширитель портов |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|