Включение света по датчику движения
Добавлено: Вс сен 02, 2012 11:35 pm
Обсуждение страницы Включение света по датчику движения
Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
sergejey писал(а):Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Как вариант, сделать эксперимент убрав в цикле ./scripts/cycle_onewire_starred.php задержку опроса шины (строчка sleep(1);).
Да, но в каком месте включить реле?anemcov писал(а):а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Если речь именно о 1-wire, то нет необходимости в таком методе. Делается по-другому -- нужное свойство помечается как избранное и оно будет сканироваться каждую секунду. Далее, можно настроить связанный метод или просто код, который может проверять значение изменившегося свойства. Например, если свойство 1-wire устройства назвыается "Sensed.A", то код может быть таким:Urbas81 писал(а):Перефразирую, есть метод onNewMinute можно ли получить onNewSec, метод который вызывается каждую секунду?
Код: Выделить всё
if ($changed_values['Sensed.A']) {
if ($changed_values['Sensed.A']['VALUE']) {
// значение 1
} else {
// значение 0
}
}