Страница 3 из 4

Re: Подключаем датчик открытия въездных ворот

Добавлено: Вс янв 11, 2015 9:56 pm
shemnik69
Спасибо! Сергей! Реализую.

Re: Подключаем датчик открытия въездных ворот

Добавлено: Пт апр 03, 2015 12:27 pm
shemnik69
В дополнение:
Изменен "скетч" теперь есть вариант для передачи как напрямую в сервер через COM порт и программу GW либо Ser2Net дл Linux систем. а также с использованием драйвера сети (микросхема MAX485/487 и аналоги).
Оба варианты отличаются только наличием строк управления передатчиком микросхемы в остальном алгоритм одинаков.
Алгоритм под контроллер описанный выше но работает и на основе стандартных плат Ардуино.
Алгоритм доработан на предмет обработки сигнала с датчика пресечения проема в открытом состоянии а также остановки створы при всех вариантах с уведомлением об данном "факте" сервера.
Также добавлено подробное описание.
Обращаю внимание что вариантов скетча уже 18 и каждый содержит некоторые изменения которые оперативно вносятся в саму программу.
Еще хочу отметить что последняя версия Arduino IDE 1.6.1. (stable) с официального сайта! :!: компилит сам скетч более удачно по МК Атмега типа 8А (меньше сам NEX файл).
При использовании других 16/32 Атмег данный факт не критичен.
В остальном контроллер прекрасно себя зарекомендовал и отработал "зимнюю страду" во внешнем блоке привода на отлично.

Re: Подключаем датчик открытия въездных ворот

Добавлено: Вт дек 01, 2015 6:18 pm
rublin
День добрый, коллеги.
Сам не могу разобраться как подключить ардуину, прошу помощи.
На ардуину подключены герконы (датчики открытия дверей) и датчики движения. Хочу видеть в системе статус дверей и движение. Еще хотелось бы использовать режим "охраны", когда открытие двери обрабатывается как тревога.
Скетч для ардуины взял этот (https://github.com/sochkasov/majordomo- ... roller.ino), только удалил ту часть, что про температуру.
Объект sensorGarage сделал по инструкции (http://majordomo.smartliving.ru/Main/ScMonitorContact).
Ардуина обрабатывает геркон, в консоли вижу:
GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=1
GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=0

Но свойства объекта не изменяются:
https://www.dropbox.com/s/i611xw2r2l962 ... 4.png?dl=0

Что я делаю не так?

Re: Подключаем датчик открытия въездных ворот

Добавлено: Вт дек 01, 2015 6:38 pm
olehs
А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 9:41 am
rublin
olehs писал(а):А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.
Записалось одно (первое) состояние и больше не меняется. Не зависимо от того, открыты ворота или закрыты. Хотя ардуина шлет (да я и сам пробовал менять статус через браузер http://192.168.110.191/objects/?object= ... d&status=0)

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 1:38 pm
zelevova
Думаю надо смотреть метод statusChanged объекта sensorGarage или класса содержащего этот объект.
Насколько я помню "GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=1" это вызов метода с передачей реквизита, а не изменение самого свойства.

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 2:30 pm
rublin
zelevova писал(а):надо смотреть метод statusChanged объекта sensorGarage или класса содержащего этот объект.
Метод statusChanged не менял, как из коробки:

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

if ($params['status']) {
 $this->setProperty('status',$params['status']);
}
$this->setProperty('updatedTimestamp',time());

$this->setProperty("alive",1);
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
 $alive_timeout=12*60*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); 

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 3:06 pm
zelevova
А если заменить на:

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

if (isset($params['status'])) {
 $this->setProperty('status',$params['status']);
}
$this->setProperty('updatedTimestamp',time());

$this->setProperty("alive",1);
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
 $alive_timeout=12*60*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); 

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 3:42 pm
rublin
Заменил, не работает (((

Re: Подключаем датчик открытия въездных ворот

Добавлено: Ср дек 02, 2015 6:32 pm
rublin
Разобрался, оказалось что все работает.
Почему-то не заметно было изменения статуса в свойствах объекта. А когда включил хранить историю, то сразу увидел что все видно. Теперь бы придумать как переходить на режим "охрана" и реагировать по любому сработанному датчику...