Подключаем датчик открытия въездных ворот
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключаем датчик открытия въездных ворот
Выбор времени можно привязать к какому-нибудь свойству, а потом в onNewMinute объекта ClockChime поставить проверку
if (timeIs(getGlobal('Свойство')) {
runScript('нужныйскрипт');
}
в моём коннекте можно посмотреть как будильник устроен -- приблизительно по такому принципу.
if (timeIs(getGlobal('Свойство')) {
runScript('нужныйскрипт');
}
в моём коннекте можно посмотреть как будильник устроен -- приблизительно по такому принципу.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: Подключаем датчик открытия въездных ворот
В дополнение:
Изменен "скетч" теперь есть вариант для передачи как напрямую в сервер через COM порт и программу GW либо Ser2Net дл Linux систем. а также с использованием драйвера сети (микросхема MAX485/487 и аналоги).
Оба варианты отличаются только наличием строк управления передатчиком микросхемы в остальном алгоритм одинаков.
Алгоритм под контроллер описанный выше но работает и на основе стандартных плат Ардуино.
Алгоритм доработан на предмет обработки сигнала с датчика пресечения проема в открытом состоянии а также остановки створы при всех вариантах с уведомлением об данном "факте" сервера.
Также добавлено подробное описание.
Обращаю внимание что вариантов скетча уже 18 и каждый содержит некоторые изменения которые оперативно вносятся в саму программу.
Еще хочу отметить что последняя версия Arduino IDE 1.6.1. (stable) с официального сайта!
компилит сам скетч более удачно по МК Атмега типа 8А (меньше сам NEX файл).
При использовании других 16/32 Атмег данный факт не критичен.
В остальном контроллер прекрасно себя зарекомендовал и отработал "зимнюю страду" во внешнем блоке привода на отлично.
Изменен "скетч" теперь есть вариант для передачи как напрямую в сервер через COM порт и программу GW либо Ser2Net дл Linux систем. а также с использованием драйвера сети (микросхема MAX485/487 и аналоги).
Оба варианты отличаются только наличием строк управления передатчиком микросхемы в остальном алгоритм одинаков.
Алгоритм под контроллер описанный выше но работает и на основе стандартных плат Ардуино.
Алгоритм доработан на предмет обработки сигнала с датчика пресечения проема в открытом состоянии а также остановки створы при всех вариантах с уведомлением об данном "факте" сервера.
Также добавлено подробное описание.
Обращаю внимание что вариантов скетча уже 18 и каждый содержит некоторые изменения которые оперативно вносятся в саму программу.
Еще хочу отметить что последняя версия Arduino IDE 1.6.1. (stable) с официального сайта!

При использовании других 16/32 Атмег данный факт не критичен.
В остальном контроллер прекрасно себя зарекомендовал и отработал "зимнюю страду" во внешнем блоке привода на отлично.
- Вложения
-
- Gate_18_nowMAX485.zip
- (2.67 КБ) 223 скачивания
Re: Подключаем датчик открытия въездных ворот
День добрый, коллеги.
Сам не могу разобраться как подключить ардуину, прошу помощи.
На ардуину подключены герконы (датчики открытия дверей) и датчики движения. Хочу видеть в системе статус дверей и движение. Еще хотелось бы использовать режим "охраны", когда открытие двери обрабатывается как тревога.
Скетч для ардуины взял этот (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
Что я делаю не так?
Сам не могу разобраться как подключить ардуину, прошу помощи.
На ардуину подключены герконы (датчики открытия дверей) и датчики движения. Хочу видеть в системе статус дверей и движение. Еще хотелось бы использовать режим "охраны", когда открытие двери обрабатывается как тревога.
Скетч для ардуины взял этот (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
Что я делаю не так?
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Подключаем датчик открытия въездных ворот
А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.
Re: Подключаем датчик открытия въездных ворот
Записалось одно (первое) состояние и больше не меняется. Не зависимо от того, открыты ворота или закрыты. Хотя ардуина шлет (да я и сам пробовал менять статус через браузер http://192.168.110.191/objects/?object= ... d&status=0)olehs писал(а):А как Вы поняли что что-то не так? Судя по картинке ворота закрылись в 15:13.
-
- Сообщения: 291
- Зарегистрирован: Вт ноя 18, 2014 11:43 pm
- Откуда: Краснодарский край
- Благодарил (а): 32 раза
- Поблагодарили: 68 раз
Re: Подключаем датчик открытия въездных ворот
Думаю надо смотреть метод statusChanged объекта sensorGarage или класса содержащего этот объект.
Насколько я помню "GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=1" это вызов метода с передачей реквизита, а не изменение самого свойства.
Насколько я помню "GET /objects/?object=sensorGarage&op=m&m=statusChanged&status=1" это вызов метода с передачей реквизита, а не изменение самого свойства.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
CONNECT: http://connect.smartliving.ru/profile/311
Re: Подключаем датчик открытия въездных ворот
Метод statusChanged не менял, как из коробки:zelevova писал(а):надо смотреть метод statusChanged объекта sensorGarage или класса содержащего этот объект.
Код: Выделить всё
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);
-
- Сообщения: 291
- Зарегистрирован: Вт ноя 18, 2014 11:43 pm
- Откуда: Краснодарский край
- Благодарил (а): 32 раза
- Поблагодарили: 68 раз
Re: Подключаем датчик открытия въездных ворот
А если заменить на:
Код: Выделить всё
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
CONNECT: http://connect.smartliving.ru/profile/311