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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2015, 20:58   #1
Prana
Junior Member
 
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0
Prana is an unknown quantity at this point
По умолчанию Модуль "GpioSwitcher"

Модуль выключателей (удаленного управления нагрузками), подключенными через 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.
Prana вне форума   Ответить с цитированием
Старый 09.04.2015, 21:00   #2
lvovitch
Senior Member
 
Регистрация: 14.04.2010
Сообщений: 239
Вес репутации: 0
lvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond repute
По умолчанию Re: Модуль gpioswitcher

Классный модуль!

а на чем плавное переключение сделано? на css?
lvovitch вне форума   Ответить с цитированием
Старый 09.04.2015, 21:10   #3
Prana
Junior Member
 
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0
Prana is an unknown quantity at this point
По умолчанию Re: Модуль gpioswitcher

плавное переключение - да, на css.
у меня задачей было сделать легкую страничку, без лишних ресурсов, которая нормально выглядела бы не только на десктопе, но и на мобильном, и не требовала перезагрузки страницы. Поэтому максимально использовал css, и немного javascript для ajax-вызова cgi, который, собственно, и переключает состояние gpio

уже потом подумал, что кому-нибудь такая штука может быть полезна в виде модуля, поэтому выложил в таком виде, если заинтересует - постараюсь доработать, сделать настройку
Prana вне форума   Ответить с цитированием
Старый 09.04.2015, 21:11   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Модуль gpioswitcher

Отличный дизайн!
Самое интересное что никаких jQuery не используется, все постилось в Index.html
Admin вне форума   Ответить с цитированием
Старый 10.04.2015, 13:04   #5
Scorpion
Junior Member
 
Регистрация: 03.03.2014
Сообщений: 21
Вес репутации: 0
Scorpion is an unknown quantity at this point
По умолчанию Re: Модуль "GpioSwitcher"

Клевый модуль.
А под Arduino такой модуль будет?
Scorpion вне форума   Ответить с цитированием
Старый 12.04.2015, 16:37   #6
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
По умолчанию Re: Модуль "GpioSwitcher"

Цитата:
Сообщение от Scorpion Посмотреть сообщение
Клевый модуль.
А под Arduino такой модуль будет?
Да! Даёшь под ардуино! Ещё и слайдер с PWM, и на кнопки возможность поставить таймер, например нажал выкл свет, он выключился бы только через n секунд.
Sirocco вне форума   Ответить с цитированием
Старый 14.04.2015, 22:06   #7
Prana
Junior Member
 
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0
Prana is an unknown quantity at this point
Exclamation Re: Модуль "GpioSwitcher"

В папку test выложена обновленная версия модуля, не требующая ручного создания html под свои нужды.
Отличия от первоначальной:
1. появилась возможность поставить задержку на включение или выключение (в секундах)
2. появился конструктор для своих переключателей, доступен по ссылке "Настройки".

УСЛОВИЯ ДЛЯ РАБОТЫ МОДУЛЯ
Для работы модуля необходимо предварительно экспортировать и настроить на вывод все 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 вне форума   Ответить с цитированием
Старый 21.04.2015, 23:10   #8
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Модуль "GpioSwitcher"

Погонял на A5-V11 - все четко, в настройках gpio сами автоматом прописываются (экспортированные). Позиция выключателя запоминается, когда уходишь и по новой заходишь на закладку. Но залипания описанные здесь тоже имеет место Спасибо, отличная работа

Последний раз редактировалось sakatgg; 21.04.2015 в 23:14.
sakatgg вне форума   Ответить с цитированием
Старый 22.04.2015, 00:10   #9
KiLLWarez
Junior Member
 
Регистрация: 21.04.2015
Сообщений: 3
Вес репутации: 0
KiLLWarez is an unknown quantity at this point
По умолчанию Re: Модуль "GpioSwitcher"

Друзья, а как заставить MR3020 не вспыхивать диодами при перезапуске? Ядро пересобирать или как-то проще?
KiLLWarez вне форума   Ответить с цитированием
Старый 22.04.2015, 00:22   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Модуль "GpioSwitcher"

Прошивку придется свою компилировать
Проще использовать два свободных GPIO и подключить к ним расширитель портов
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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