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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вс янв 11, 2015 7:57 pm

Выбор времени можно привязать к какому-нибудь свойству, а потом в onNewMinute объекта ClockChime поставить проверку
if (timeIs(getGlobal('Свойство')) {
runScript('нужныйскрипт');
}
в моём коннекте можно посмотреть как будильник устроен -- приблизительно по такому принципу.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

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

Сообщение shemnik69 » Вс янв 11, 2015 9:56 pm

Спасибо! Сергей! Реализую.
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

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

Сообщение shemnik69 » Пт апр 03, 2015 12:27 pm

В дополнение:
Изменен "скетч" теперь есть вариант для передачи как напрямую в сервер через COM порт и программу GW либо Ser2Net дл Linux систем. а также с использованием драйвера сети (микросхема MAX485/487 и аналоги).
Оба варианты отличаются только наличием строк управления передатчиком микросхемы в остальном алгоритм одинаков.
Алгоритм под контроллер описанный выше но работает и на основе стандартных плат Ардуино.
Алгоритм доработан на предмет обработки сигнала с датчика пресечения проема в открытом состоянии а также остановки створы при всех вариантах с уведомлением об данном "факте" сервера.
Также добавлено подробное описание.
Обращаю внимание что вариантов скетча уже 18 и каждый содержит некоторые изменения которые оперативно вносятся в саму программу.
Еще хочу отметить что последняя версия Arduino IDE 1.6.1. (stable) с официального сайта! :!: компилит сам скетч более удачно по МК Атмега типа 8А (меньше сам NEX файл).
При использовании других 16/32 Атмег данный факт не критичен.
В остальном контроллер прекрасно себя зарекомендовал и отработал "зимнюю страду" во внешнем блоке привода на отлично.
Вложения
Gate_18_nowMAX485.zip
(2.67 КБ) 223 скачивания
rublin
Сообщения: 8
Зарегистрирован: Вт дек 01, 2015 6:02 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение rublin » Вт дек 01, 2015 6:18 pm

День добрый, коллеги.
Сам не могу разобраться как подключить ардуину, прошу помощи.
На ардуину подключены герконы (датчики открытия дверей) и датчики движения. Хочу видеть в системе статус дверей и движение. Еще хотелось бы использовать режим "охраны", когда открытие двери обрабатывается как тревога.
Скетч для ардуины взял этот (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

Что я делаю не так?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Вт дек 01, 2015 6:38 pm

А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.
rublin
Сообщения: 8
Зарегистрирован: Вт дек 01, 2015 6:02 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение rublin » Ср дек 02, 2015 9:41 am

olehs писал(а):А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.
Записалось одно (первое) состояние и больше не меняется. Не зависимо от того, открыты ворота или закрыты. Хотя ардуина шлет (да я и сам пробовал менять статус через браузер http://192.168.110.191/objects/?object= ... d&status=0)
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

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

Сообщение zelevova » Ср дек 02, 2015 1:38 pm

Думаю надо смотреть метод statusChanged объекта sensorGarage или класса содержащего этот объект.
Насколько я помню "GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=1" это вызов метода с передачей реквизита, а не изменение самого свойства.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
rublin
Сообщения: 8
Зарегистрирован: Вт дек 01, 2015 6:02 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение rublin » Ср дек 02, 2015 2:30 pm

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); 
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

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

Сообщение zelevova » Ср дек 02, 2015 3:06 pm

А если заменить на:

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

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); 
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
rublin
Сообщения: 8
Зарегистрирован: Вт дек 01, 2015 6:02 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение rublin » Ср дек 02, 2015 3:42 pm

Заменил, не работает (((
Ответить