Умный дом с центральным контроллером от micasaverde и устройствами на ардуино/AVR/NRF24L01+

virgus1970
Offline
Зарегистрирован: 24.11.2014

Я хочу подключить датчик двери и датчик движения на одну Ардуину. Но в представленных примерах они оба подключаются к пину D3. В каком-то из примеров на сайте читал, что только пины 2 и 3 и инициируют прерывания. В тоже время пин 2 используется радиомодулем. 

Подскажите, пожалуйста, как можно их подключить на одну палату? 

axill
Offline
Зарегистрирован: 05.09.2011

Если ардуина будет иметь стационарное питание то не обязательно использовать прерывания, можно просто опрашивать входы в loop() и тогда подойдет любой пин в том числе аналоговый

кроме того прерывания можно подключить к любому пину, просто этой возможности нет в стандартной библиотеке ардуино, но есть сторонние библиотеки да и самому настроить не сложно. Эта система прерываний называется PCINT

virgus1970
Offline
Зарегистрирован: 24.11.2014

Да, я планирую питание стационарное.  

Дайте, пожалуйста, ссылку на эту систему прерываний PCINT. Ее можно использовать в проекте MySensors?

P.S. Наверное с точки зрения многих я задаю иногда глупые вопросы, но для меня электроника не профильная тема. Но есть большое желание разобраться :)

axill
Offline
Зарегистрирован: 05.09.2011

я так же три года назад начинал)

почитайте http://playground.arduino.cc/Main/PcInt

я сам по дзаташиту настраиваю все необходимые прерывания

axill
Offline
Зарегистрирован: 05.09.2011

проапгрейдил свои простые часики на atmega328 (иначе код ардуино не влезает) и на ардуину

http://radiokot.ru/circuit/digital/home/176

http://forum.mysensors.org/topic/1002/simple-mysensors-clock

 

utya
Offline
Зарегистрирован: 08.01.2015

Товарищи, появился практичная задачка хотел услышать ваше мнение.

Есть у меня котяра, которая частенько любим смытся из дому, и уже много нервов потрепала когда выбигала из дома. Идея цепанут на эту "маленькую падлу" маячок. Да маячок хочу цепануть к Vera, чтобы она уже там кк то измещала.

Первая мысль была приецпить на котяру ibeacon начал гуглить ibeacon vera ничё интересного не нашёл.

Второё чё подумал, цепануть rfid /nfc и излучатель на дверь. А там уже с помощью mysensors это всё привезать на vera.

Тока вот думаю не слишко ли облучение для кота в первом случаи и во втором?

 

utya
Offline
Зарегистрирован: 08.01.2015

2 axill

Скажите а вашу коробочку http://forum.mysensors.org/topic/971/small-wall-outlet-sensor-node/14 можно купить?

axill
Offline
Зарегистрирован: 05.09.2011

можно взять мою модель и заказать печать у кого-нибудь

Update: если в Москве могу порекомендовать контору. Стоимость считается исходя из веса пластика и времени печати

virgus1970
Offline
Зарегистрирован: 24.11.2014

Скажите, пожалуйста. Есть какой-то плагин для Веры, который позволяет записывать события происходящие с устройствами в лог? Например, писать все срабатывания датчика движения (дата, время) или записывать показания температурного датчика.

Artemiy
Offline
Зарегистрирован: 20.10.2014

axill пишет:

можно взять мою модель и заказать печать у кого-нибудь

А выложите пожалуйста Вашу модель. Или где взять? Собираюсь напечатать.

axill
Offline
Зарегистрирован: 05.09.2011

Есть плагин или нет легко понять пролистав приложения в магазине.

вера автоматом логирует все events и notifications которые настроены на уровне устройства или сцены

кроме того не сложно сделать сцену запускающуюся по часа например каждые пять минут или по событиям и имеющая код на lua для логирования на внешний сервер. Проще всего это сделать встроенной командой wget через HTTP на внешнем сервере. Примеры с wget легко находятся на форуме forum.micasaverde.com

axill
Offline
Зарегистрирован: 05.09.2011

Artemiy пишет:

axill пишет:

можно взять мою модель и заказать печать у кого-нибудь

А выложите пожалуйста Вашу модель. Или где взять? Собираюсь напечатать.

Здесь выше есть ссылка на обсуждение на сайте mysensors, там есть ссылка на thingeverse.com, все детали там выложены

mitekg
Offline
Зарегистрирован: 14.05.2013

http://apps.mios.com/plugin.php?id=4726

и

http://code.mios.com/trac/mios_datamine

использовать лучше в паре.

virgus1970
Offline
Зарегистрирован: 24.11.2014

To mitekg

Спасибо! Установил. Пока правда не разобрался как это работает :)

Сегодня подключил экспериментальную схему для управления освещением с физическим нефиксируемым выключателем, основываясь на примере "RelayWithButtonActuator Example". 

Сначала при включении/выключении через веб-интерфейс иногда начинался какой-то бесконечный повтор команд чтения и отправки сообщений и статусов. При чем изменения статуса нет... постоянно повторяющийся статус "1" или "0". Сейчас вроде нормально работает.

Но осталась одна странность... Статусы "вкл" и "выкл" попутаны. Т.е. у меня на иконке в Вере значится "вкл" (статус в мониторе "1"), а реально лампа выключена. И наоборот. В мобильном приложении тоже самое. Подключал лампу через модуль с твердотельным реле. Вот такой модуль. Не пойму в чем может быть проблема. Я бы понял, если бы у меня было реле с НЗК. Но насколько я понимаю в твердотельном реле всегда нормально разомкнутые контакты. Есть у кого-нибудь мысли с чем это связано?

utya
Offline
Зарегистрирован: 08.01.2015

virgus1970 пишет:

Вот такой модуль. Не пойму в чем может быть проблема. Я бы понял, если бы у меня было реле с НЗК. Но насколько я понимаю в твердотельном реле всегда нормально разомкнутые контакты. Есть у кого-нибудь мысли с чем это связано?

Где-то читал, могу ошибаться. В твердотельных реле не инвентированый вход. А может скетч заточен что будет "магнитное" реле?

virgus1970
Offline
Зарегистрирован: 24.11.2014

utya пишет:

В твердотельных реле не инвентированый вход. А может скетч заточен что будет "магнитное" реле?

А при чем тут это? Принцип работы магнитного реле с НРК и твердотельного реле одинаков. Есть управляющий сигнал - есть замыкание цепи нагрузки. Для чистоты эксперимента попробую собрать схему на обыкновенном реле. А для начала просто проверю уровни сигнала на управляющем пине. Может действительно китайцы намудрили :)

Нашел вот такую принципиальную схему этого модуля. Для меня электроника - это новое, так что я не сильно разбираюсь в схемах... Пока я только учусь восоздовать то, что получается у других. Может мне кто пояснить исходя из этой схемы... Когда включается нагрузка? Когда на базе "0" или "+5В"?

virgus1970
Offline
Зарегистрирован: 24.11.2014

Почитал Инет. Насколько я понял "Q1" - это N-P-N транзистор. Следовательно нагрузка включается, когда на базе "+5В". Я прав?

avton
avton аватар
Offline
Зарегистрирован: 11.05.2014

да

kidovzky
Offline
Зарегистрирован: 03.03.2015

Всем привет!

В теме ардуино мягко говоря начинающий. Есть желание построить автоматизацию дома на базе z-wave (Vera) + arduino.

Возник вопрос. Насколько мне известно, в разных странах используются разные частоты для протокола z-wave. В зависимости от этого отличаются модули и сами контроллеры. Вопрос в следующем. Как ардуина с модулем NRF24L01 связывается с контроллером? обычный wifi? насколько известно частота для z-wave до 1ГГц. Что-то тут не так :) 

utya
Offline
Зарегистрирован: 08.01.2015

Arduino c контроллером связывается через шлюз-мост который работает в том же канале что и arduino+nrf24l01

1 типа подключается через usb к Vera http://www.mysensors.org/build/serial_gateway

2 тип подключается к vera через ethernet http://www.mysensors.org/build/ethernet_gateway

virgus1970
Offline
Зарегистрирован: 24.11.2014

Так все-таки... У меня одного получается перепутанны статусы работы реле? В реальности и в Вере (мониторе Ардуины).

axill
Offline
Зарегистрирован: 05.09.2011

kidovzky пишет:

Всем привет!

В теме ардуино мягко говоря начинающий. Есть желание построить автоматизацию дома на базе z-wave (Vera) + arduino.

Возник вопрос. Насколько мне известно, в разных странах используются разные частоты для протокола z-wave. В зависимости от этого отличаются модули и сами контроллеры. Вопрос в следующем. Как ардуина с модулем NRF24L01 связывается с контроллером? обычный wifi? насколько известно частота для z-wave до 1ГГц. Что-то тут не так :) 

не смешивайте разные технологии. z-wave это стандарт который к сожалению закрыт как технология, чтобы что-то на нем програмировать в полном смысле этого слова надо стать членом ассоциации, пройти сертификацию и купить необходимое оборудование и лицензии

чтобы что-то делать на z-wave вариант один - купить готовые устройства и готовый контроллер

проект обсуждаемый здесь использует гибкость контроллера vera для того, чтобы подключать устройства на ардуино используя другие технологии. Базовой технологией сейчас является чип/модуль nrf24l01. Он работает в диапазоне 2.4ГГц, то есть по сути на тех де частотах что домашний wifi. Но кроме физики общего больше ничего с wifi нет.  Z-wave а России работает на частоте 868-869Мгц

 

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 пишет:

Так все-таки... У меня одного получается перепутанны статусы работы реле? В реальности и в Вере (мониторе Ардуины).

уж не знаю что там где перепутано, но ведь совсем не проблема поменять в скетче

utya
Offline
Зарегистрирован: 08.01.2015

Добрый день. Купил Roboard mini http://imall.iteadstudio.com/im140704001.html. Накатил скетч всё нормально работает с верой. Решил поставлюна включатель в стене для лампочки, купил ac/dc на 5 вольт. У меня в стене тока два провода фаза и ноль, подключил одними концом (фазу и ноль) к ac/dc (плата запиталась- всё пучком), вторые концы парарельному ac/dc поставил на реле. Включил рубильник всё норм. Нука с веры включу свету, и фигушки, нажимаю вкл. Реле срабатывает и через секунду выключается, и так постоянно щёлкает. Чё может быть не пойму. Спросил электриков, говорят типа в этих проводах от лампочки "не настоящие 220В", я репу почесал, и думаю или они дебилы не могу объяснить или я совсем лантух БЖД в инсте плохо учил, говорю чё делать-то, говорят запитывай свой контроллер и реле от отдельного источника, я говорю, чё мне всё провотку менять. Вообщем специалисты блин. Я может быть с ними и согласился бы, но у меня есть выключатель livolo, он же работает и я думаю там похожий принцеп запитки микроконтроллера и реле. Может принцеп преобразование другой. Вообщем посдкажите товарищи, как быть? не хоца проводку всю калупать и покупать z-wave диммер за 5000 рублей(они судя по инструкции могу так подключаться)

axill
Offline
Зарегистрирован: 05.09.2011

Обычный ac-dc не подойдет. Нужно строить специальную схему питания. В интернете есть примеры. Я сам все никак не соберусь сделать такую схему. Их есть несколько разных, но суть одна - лампа включается с запозданием за счет чего на выключателе падает немного напряжения нужного для работы

utya
Offline
Зарегистрирован: 08.01.2015

Так и знал что что с напругой. Какие слова гуглить?

utya
Offline
Зарегистрирован: 08.01.2015

Случайно не тема с семистором?

axill
Offline
Зарегистрирован: 05.09.2011

Это тема "выключатель по двум проводам" или "диммер"

я видел две схемы. Самая распространенная с симистором, по сути диммер, хотя диммирование можно не использовать, имитируя реле, но фактически в режиме включено мощность будет чуть меньше 100%.

другая схема как раз из китайского выключателя, там применен мосфет и логика немного другая

я недавно эти темы обсуждал на радиокоте и на easyelectronics

utya
Offline
Зарегистрирован: 08.01.2015

а можешь ссылочки?

utya
Offline
Зарегистрирован: 08.01.2015
utya
Offline
Зарегистрирован: 08.01.2015

Подключил с arduino такую штуку http://www.ebay.com/itm/181590676362?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT. Это почти тоже самое что и семмисторовый вариант, тоже мигает. Как я понял у меня выключатель работает по такой схеме http://rozetkaonline.ru/images/Podkluchenie_ustanovka_rozetok/Provodka_i_shema_podkluchenia_vikluchatelia/shema_podkluchenia_vikluchatelia.jpg и когда я дергаю реле, он рубит сук на котором сам же висит.

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

уж не знаю что там где перепутано, но ведь совсем не проблема поменять в скетче

Поменял в дефолтном скетче "Relau wiyh Button" значения в строках:

#define RELAY_ON 1
#define RELAY_OFF 0

На:

#define RELAY_ON 0
#define RELAY_OFF 1

Стал показывать как надо. Когда лампочка горит в реале, в Вере тоже показывает, что горит. И наоборот. При чем в мониторе показывает также "0", когда лампочка выключена и "1" когда лампочка включена.

Но есть странности... Иногда, когда после загрузки Ардуино включаешь лампу через Инет, то плата входит в бесконечный цикл, который можно прервать только включив и выключив лампу через кнопку. Хотя я так понимаю реакция должна быть только на смену статуса. Здесь же статус постоянно пишет один и тот же. Цикл выглядит так:

Никто не сталкивался с таким?

И еще... Объединил два дефолтных скетча "Реле без кнопки" и "Датчик движения". Удалив повторяющиеся строки. получилось как-то так:

// Example sketch showing how to control physical relays. 
// This example will remember relay state even after power failure.

#include <MySensor.h>
#include <SPI.h>

#define RELAY_1  8  // Arduino Digital I/O pin number for relay
#define NUMBER_OF_RELAYS 1 // Total number of attached relays
#define RELAY_ON 1  // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
#define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
#define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
#define CHILD_ID 2   // Id of the sensor child


MySensor gw;
// Initialize motion message
MyMessage msg(CHILD_ID, V_TRIPPED);


void setup()  
{   
  // Initialize library and add callback for incoming messages
  gw.begin(incomingMessage, AUTO, true);
  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("Relay&Motion", "1.0");

  // Fetch relay status
  for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS;sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    gw.present(sensor, S_LIGHT);
    // Then set relay pins in output mode
    pinMode(pin, OUTPUT);   
    // Set relay to last known state (using eeprom storage) 
    digitalWrite(pin, gw.loadState(sensor)?RELAY_ON:RELAY_OFF);
    // sets the motion sensor digital pin as input
    pinMode(DIGITAL_INPUT_SENSOR, INPUT);      
    // Register motion sensor to gw (it will be created as child devices)
    gw.present(CHILD_ID, S_MOTION);  
  }
}


void loop() 
{
  // Alway process incoming messages whenever possible
  gw.process();

/*  // Read digital motion value
  boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
  Serial.println(tripped);
  // Send tripped value to gw 
  gw.send(msg.set(tripped?"1":"0"));  
*/  
}

void incomingMessage(const MyMessage &message) {
  // We only expect one type of message from controller. But we better check anyway.
  if (message.type==V_LIGHT) {
    // Change relay state
    digitalWrite(message.sensor-1+RELAY_1, message.getBool()?RELAY_ON:RELAY_OFF);
    // Store state in eeprom
    gw.saveState(message.sensor, message.getBool());
    // Write some debug info
    Serial.print("Incoming change for sensor:");
    Serial.print(message.sensor);
    Serial.print(", New status: ");
    Serial.println(message.getBool());
  } 
}


Когда я закоментил строки, в loop связанные с датчиком движения, то все нормально... но естественно показания датчика уже не передаются :(

У кого-нибудь есть удачный опыт объединения скетча датчика движения со скетчем реле?

tru2008
Offline
Зарегистрирован: 22.10.2014

To  utya.

Здравствуйте,  извините, что не в тему. Не нашел как писать в личку. Можно ссылку на лот ebay где покупали Vera light

AlexanrMarshall
Offline
Зарегистрирован: 17.03.2015

Есть еще такой вариант...Сегодня нашел новое устройство на indiegogo. Заявляют очень широкий спектр применения, думаю многим понравится: https://www.indiegogo.com/projects/uon-first-modular-android-monitoring-device.

utya
Offline
Зарегистрирован: 08.01.2015

Купил с рук у америкоса, Б/У. Хотя написал что новая, она рабочая, но осадочек от unboxing остался. У него уже нет. Покупал аукционом, вышла, до скачка бакса, 4500 рублей+1000 доставка.

utya
Offline
Зарегистрирован: 08.01.2015

2 AlexanrMarsh

а в чём у него фишка, походу обокновенный android телефон

vvv_vit
Offline
Зарегистрирован: 23.03.2015

Добрый день, подскажите купил Vera lite (RU 869Мгц) подойдет для связки с Arduino?

utya
Offline
Зарегистрирован: 08.01.2015

2 vvv_vit, 

arduino беp разнице какая у вас частота она работает через nrf 24l01

vvv_vit
Offline
Зарегистрирован: 23.03.2015

Спасибо.

virgus1970
Offline
Зарегистрирован: 24.11.2014

To axill

Управление системой отопления дома Вы тоже реализовали через Vera? Если да, то как оно реализовано расскажите, пожалуйста, поподробнее: программно и в железе.

 P.S. Axillent на форуме MySensors - это Вы?

axill
Offline
Зарегистрирован: 05.09.2011

Я пока не придумал как интегрироваться с котлом, домом недавно занимаюсь

да, на форуме mysensors я тоже есть

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

Я пока не придумал как интегрироваться с котлом.

А с радиаторами водяного отопления? Краем уха слышал, что можно поставить на них вентили, управляемые дистанционно, и с их помощью регулировать поток теплоносителя. Но толком найти что-то в Инете по этой теме не смог...

А что насчет платы MySensors? Близко к выпуску в готовом варианте?

axill
Offline
Зарегистрирован: 05.09.2011

Есть zwave термоголовки. Я их не рассматриваю ибо весьма не бюджетно на большой дом

плата дляmysensors должна какая то появится, но над своим проектом я пока работы заморозил

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

Но над своим проектом я пока работы заморозил

Т.е. то, что описано по вышеприведенной ссылке не родится? А наработками не можете поделиться? Для восспроизведения в собственных целях? Готов рассмотреть вопрос разумного возмещения. Я говорю например об этом датчике.

Artemiy
Offline
Зарегистрирован: 20.10.2014

Народ, подскажите по питанию NRF24L01+ модуля. Ему нужно 3,3В. Я замутил ему питание от 4 батареек АА и через преобразователь с 5-6В до 3,3 вольт. Померил тестером. На выходе 3,3В показывает 3,28В. Но в скетче сразу выдает "chek wires". Я так понял, "проверьте провода, не подсоединен модуль". Ладно, подключаю модуль к ардуине к 3,3В - работает. Меряю тестером выход 3V3 на ардуине Нано - там аж 3,5В.

Да, при питании беспроводного модуля от батареек - модуль греется жутко. Что я делаю не так? Землю при питании от ардуино подключал к GND Ардуины, а при питании от батареек - к минусу батареек.

Вроде нашел в интернете решение - ставят кондей на 4,7мкФ между 3,3В и землей на беспроводном чипе.

virgus1970
Offline
Зарегистрирован: 24.11.2014

Вопрос ко всем.
Кто-нибудь пробовал пример с димированием LED с сайта MySensor для диммирования лампы накаливания или специальных LED-ламп, предназначенных для диммирования?

Я попробовал этот скетч для диммирования лампы накаливания с помощью твердотельного реле. Но у меня постоянно идут запросы на изменения уровня диммирования. Даже, если я ничего не делаю в мониторе идет "Изменения уровня с 0 до 0" или тоже самое "с 100 до 100".

Artemiy
Offline
Зарегистрирован: 20.10.2014

На UI7 пробуете?

У меня с UI7 тоже какие-то глюки постоянно с MySensors. НА 5-ке нормально всё отрабатывало. Тут наверно контроллер мутит что-то, или это его нормальное состояние - опрашивать датчики. Ничего ведь не меняется...

vvv_vit
Offline
Зарегистрирован: 23.03.2015

У меня на UI7 реле вобще не заработали, откатился до UI5 по (ссылкам выше) все ок стало.

virgus1970
Offline
Зарегистрирован: 24.11.2014

Я самого начала эксперементирую на UI5, т.к. на UI7 у меня плагин не заработал. Хотя axill писал, что у него на UI7 все работает нормально. Но у него опыт большой (3 года в этой теме). Жаль, что он давно сюда не загядывал и не делится своим богатым опытом.

Кстати, предлагаю тем, кто чего-то добился в этой теме описать свои достижения. Наверняка, многим начинающим пригодится ваш опыт. 

Краткий перечень моего:

1. Нашел работающий алгоритм повторного использования плат (т.е. удаление сенсоров и узла из контроллера и подключение этой же платы с новыми сенсорами)

2. Сделал работающий скетч, объединяющий датчик движения, датчик освещенности (самодельные на фоторезисторе) и датчик температуры (DB18B20). В планах туда же подцепить и датчик влажности на DHT11.

Artemiy
Offline
Зарегистрирован: 20.10.2014

1. Вы это через очистку EEPROM сделали?

2. Как у вас вместе работает температуры и движения? Последний ведь от триггера срабатывает А первому надо постоянно запрашивать инфу. Он у вас не спит? Можно код посмотреть? У меня либо засыпает датчик и только когда движение идет - тогда и температуру запрашивает. И то, если успеет. Либо выжирает батарейку за неделю.

Собственно, я для себя решил объединить датчик освещенности и температуры. А движения повесить вместе с реле.

Плагин собрал Ethernet - с UI7 работает. Но иногда глючно. Например, там, где на UI5 с первого раза подцеплялся и корректно показывалось название сенсора, то на UI7 не всегда так. Но я собирал на nano + ENC28J60 Ethernet модуль. Сейчас хочу сделать на UNO + W5100 Shield. И может быть в последующем уйти с Веры на OpenHub или MajorDomo. Благо с линуксом знаком. А в Вере я не вижу что контроллер делает, да и шлюз.

PS: Надо бы тему наверно переименовать "Vera и Ardiuno датчики на MySensors".