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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2016, 20:59   #1
prostorspb
Junior Member
 
Регистрация: 19.02.2016
Сообщений: 3
Вес репутации: 0
prostorspb is an unknown quantity at this point
По умолчанию Re: Модуль "Light Control"

Отличный модуль! Спасибо большое за работу. Мне кажется было бы очень удобно, если бы была возможность подключения к пинам настоящих кнопок. Это возможно реализовать? Или может такое уже есть, а я не нашел?

Короткое нажатие - включение/выключение
продолжительное нажатие - диммер
двойное короткое нажатие запоминает состояние диммера

Если я правильно понимаю (а я чайник) то можно на один аналоговый пин через сопротивления разного номинала подключить много кнопок.

Последний раз редактировалось prostorspb; 21.02.2016 в 22:06.
prostorspb вне форума   Ответить с цитированием
Старый 23.05.2016, 12:49   #2
Prana
Junior Member
 
Регистрация: 17.03.2015
Сообщений: 27
Вес репутации: 0
Prana is an unknown quantity at this point
По умолчанию Re: Модуль "Light Control"

Цитата:
Сообщение от beavisgood Посмотреть сообщение
Хорошо бы добавить в модуль такие фичи :
-автономную логику например если нажали 1 кнопку, то замыкаем 2 реле, или нажали 3 кнопку выставляем димер1 на +10%
Цитата:
Сообщение от prostorspb Посмотреть сообщение
Мне кажется было бы очень удобно, если бы была возможность подключения к пинам настоящих кнопок. Это возможно реализовать?
пока не знаю, когда будет время/возможность заняться такими доработками ввиду отсутствия под рукой устройства, но могу подкинуть идею, куда копать, если хотите для себя сделать упрощенную версию такой штуки:
если у вас будут не кнопки, а подключенные к пинам выключатели, состояние которых показывается на странице, можно добавить в скрипт getstate.cgi перед командой break (14 строка) пару строк такого вида:
Код:
state=$(mysqlite3 /tmp/uart_buf.db "select PIN_VALUE as val from uart_buf where PIN_NAME = 01" > /dev/nul" | grep -oE "[0-9]+" | sed ':a;N;$!ba;s/\n/,/g')

echo DB02=$state > /dev/tty01
PIN_NAME = 01 - здесь вместо 01 нужно подставить номер пина, на котором висит выключатель
DB02 - сюда вместо 02 подставить номер пина, на котором висит исполнительное устройство

Цитата:
Сообщение от beavisgood Посмотреть сообщение
-подключение 1W датчиков, ик светодиода, и пр. вещи
если немного владеете html - можете посмотреть на исходник gpioswitcher -там есть функциональность считывания состояния gpio, которую можно добавить непосредственно в страницу light_control:
Код:
state=$(cat /sys/class/gpio/gpio17/value)
gpio17state=''
if echo $gpiostate | grep 0 > null; then
  gpio17state='checked'
fi
правда, эта штука читает состояние только при загрузке страницы, "на лету" обновляться не будет.
А вот таким способом можно прочитать и вставить в страницу температуру с подключенного по i2c датчика:
Код:
BMP=$(/bin/bmp085 -d i2c-gpio0)
err=$(echo $BMP | grep -oE "error")
if [ -z err ] ; then
  echo "error "$err
fi
temp=$(echo $BMP | grep -oE "T:[ 0-9.-]+" | cut -c 3-8)
Если этим модулем пользуются многие, то я, возможно, нашел бы время для доработок. Сделать чтение значения Ардуиновского АЦП, c 1-wire и i2c, управление с помощью физических кнопок - это все возможно. Генератор страницы только сложный получится.
Prana вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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