Страница 1 из 14

Включение света по датчику движения

Добавлено: Вс сен 02, 2012 11:35 pm
Vip

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 1:06 pm
Urbas81
У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 1:44 pm
sergejey
Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.

Как вариант, сделать эксперимент убрав в цикле ./scripts/cycle_onewire_starred.php задержку опроса шины (строчка sleep(1);).

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 2:04 pm
anemcov
Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 2:08 pm
Urbas81
sergejey писал(а):
Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.

Как вариант, сделать эксперимент убрав в цикле ./scripts/cycle_onewire_starred.php задержку опроса шины (строчка sleep(1);).

Ну 1 секунда меня устроит после добавления галочки на избранное, я не могу сообразить, куда прописать условие if(Sensed.A=='0') {Rele.status='1'} чтоб оно сразу отработалось, до этого все примеры были где нажимается кнопка и там прописывается код, а сдесь ничего в интерфейсе не нажимается.

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 3:08 pm
Urbas81
anemcov писал(а):
Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?
Да, но в каком месте включить реле?

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 3:17 pm
Urbas81
Перефразирую, есть метод onNewMinute можно ли получить onNewSec, метод который вызывается каждую секунду?

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 3:50 pm
sergejey
Urbas81 писал(а):Перефразирую, есть метод onNewMinute можно ли получить onNewSec, метод который вызывается каждую секунду?
Если речь именно о 1-wire, то нет необходимости в таком методе. Делается по-другому -- нужное свойство помечается как избранное и оно будет сканироваться каждую секунду. Далее, можно настроить связанный метод или просто код, который может проверять значение изменившегося свойства. Например, если свойство 1-wire устройства назвыается "Sensed.A", то код может быть таким:

Код: Выделить всё

if ($changed_values['Sensed.A']) {
 if ($changed_values['Sensed.A']['VALUE']) {
  // значение 1
 } else {
  // значение 0
 }
}
(если используется не встроенный код, а вызывается метод какой-то, то вместо $changed_values надо использовать $params)

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 4:22 pm
Urbas81
Вставил данный код под таблицей свойств данного датчика в поле: Действие при изменении: Сценарий: никакой реакции, также вместо INA.in ставил Sensed.A

if ($changed_values['INA.in']) {
if ($changed_values['INA.in']['VALUE']) {
say("Питание подано");
} else {
say("Питание пропало");
}
}
галочка на избранное установлена, никакой реакции. Или я не в то место прописал. Спасибо что терпите меня :D

Re: Включение света по датчику движения

Добавлено: Ср янв 16, 2013 5:13 pm
sergejey
А можно скриншот настроек 1-wire устройства (там где видны все свойства и прописанный код)?