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

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

Спасибо! :)

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

Если телефоны смартфоны то есть еще плагины с геопозиционированием - вера может знать расстояние от телефона до дома со всеми вытекающими. Но вот у меня не у всех членов семьи смартфоны, так что и пинги не вариант

одно время у меня дополнительно был датчик светодиода сигнализации и как только сигнализация ставилась в охрану считалось, что все ушли. Потом охранная компания поменяла блок, конструкция стала другой, руки не дошли переделать датчик

логика с датчиками движения предполагает затишье на ночь, т.е. Ночью автоматически при отсутствии движения статус не меняется на "все ушли". Поменяется утром. Возврат в статус "все пришли" делается по входной двери. Еще есть статус отпуск - выставляется через заданное число часов после статуса "все ушли"

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

axill пишет:

логика с датчиками движения предполагает затишье на ночь, т.е. Ночью автоматически при отсутствии движения статус не меняется на "все ушли". Поменяется утром. Возврат в статус "все пришли" делается по входной двери. Еще есть статус отпуск - выставляется через заданное число часов после статуса "все ушли"

Как раз вот это и интересно :) Не могли бы Вы пояснить подробнее, как Вы настроили такую логику в Вере?

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

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

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

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

Теперь я понимаю почему Вы написали, что Вера обладает сильно настраиваемой логикой...

Разобраться бы еще с этим... :( Но я пока еще даже не смог подключить ни одного датчика...

А управление освещением вручную у Вас осуществляется с помощью нажимных нефиксируемых выключателей?

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

разберетесь

в квартире у меня давно все установлено, все выключатели zwave, пришлось позаботиться чтобы к ним подключить нулевой провод, ибо обычно выключатели подключаются просто в разрыв провода к люстре, а zwave требует три провода (за исключением диммеров)

т.е. такой выключатель в том числе работает как обычный - нажимаешь верхнюю часть клавишу - включается, нижнюю - выключается

но кнопка ни там ни там не фиксируется

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

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

запустил вторую веру с UI7 и с ethernetgateway

gateway сделал на кастопной ардуине на atmega128

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

В общем, склеил  два скетча от Hek'а. Теперь на одной ардуине работает и датчик температуры и реле.

На чем споткнулся: Когда идет одновременно и gw.process() и gw.sleep() - не работает реле. Он либо слушает входящие сообщения, либо шлет температуру. Не стал вдаваться в глубины кода библиотек. Решил просто заменить gw.sleep() на delay(). Так заработало, правда время включения реле стремится к параметру SLEEP_TIME. Если кто знает как поизящнее это сделать - отпишитесь. Но вроде и так работает.

Вот код:

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

#define CHILD_ID_HUM 0
#define CHILD_ID_TEMP 2
#define HUMIDITY_SENSOR_DIGITAL_PIN 3
#define DHTTYPE DHT21
#define RELAY_1  4  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#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
unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds)

MySensor gw;
float lastTemp;
float lastHum;
boolean metric = true; 
MyMessage msgHum(CHILD_ID_HUM, V_HUM);
MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
DHT dht(HUMIDITY_SENSOR_DIGITAL_PIN, DHTTYPE);

void setup()  
{ 
  gw.begin(incomingMessage, AUTO, true);
//  gw.process();
  dht.begin(); 

  // Send the Sketch Version Information to the Gateway
  gw.sendSketchInfo("DHT21 and Relay", "1.1");

  // Register all sensors to gw (they will be created as child devices)
  gw.present(CHILD_ID_HUM, S_HUM);
  gw.present(CHILD_ID_TEMP, S_TEMP);

  // 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);
  }
  
  metric = gw.getConfig().isMetric;
}

void loop()      
{  

  gw.process();

  float temperature = dht.readTemperature();
  if (isnan(temperature)) {
      Serial.println("Failed reading temperature from DHT");
  } else if (temperature != lastTemp) {
    lastTemp = temperature;
    gw.send(msgTemp.set(temperature, 1));
    Serial.print("T: ");
    Serial.println(temperature);
  }
  
  float humidity = dht.readHumidity();
  if (isnan(humidity)) {
      Serial.println("Failed reading humidity from DHT");
  } else if (humidity != lastHum) {
      lastHum = humidity;
      gw.send(msgHum.set(humidity, 1));
      Serial.print("H: ");
      Serial.println(humidity);
  }
  
  delay(SLEEP_TIME);
}


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());
   } 
}

 

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

gw.sleep() усыпляет МК, а когда МК спит он не может принимать радио команды на реле

так что все правильно сделали

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

Artemiy пишет:

В общем, склеил  два скетча от Hek'а. Теперь на одной ардуине работает и датчик температуры и реле.

Вот я и получил ответ на свой незаданный вопрос :) Ответ, который я интуитивно предполагал. Т.е. получатеся, что если на одной ардуине будет несколько датчиков и исполнительных механизмов, то надо будет слепить скетч из всех примеров для соответствующих датчиков и исполнительных механизмов с сайта MySensor.org. Это так?

И тут еще возникает один попутный вопрос к тем, кто разобрался в этом. Я так понял, что каждый датчик и исполнительный механизм Vera с помощью gateway понимает, как отдельное устройство. Получается на своей Vera Light я смогу подключить только 70 датчиков/исполнительных механизмов.

To Artemiy

Вопрос не совсем по теме. Но мне интересно стало по внешнему виду представленного Вами скетча. Это не Arduino IDE я так понял. Что за редактор?

To axill

Значит на батарейках можно делать только ардуины с датчиками измерения чего-либо?

axill пишет:

gw.sleep() усыпляет МК, а когда МК спит он не может принимать радио команды на реле

А функция incomingMessage использует прерывания? Для того, чтобы во время паузы МК по delay реле могло исполнить переданную команду.

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

axill пишет:

запустил вторую веру с UI7 и с ethernetgateway

gateway сделал на кастопной ардуине на atmega128

Подскажите как вы это сделали? Можно код Ваш посмотреть?

Я только что попробовал с ENC28J60. Прописал IP 192.168.81.4:5003 Но у меня Вера всё равно пишет:

MySensors plugin : Cannot send command - communications error

Подключил к LAN порту Веры, там у меня DHCP настроено и внутренний шлюз 192.168.81.1

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

#include <DigitalIO.h>     // This include can be removed when using UIPEthernet module  
#include <SPI.h>  
#include <MySensor.h>
#include <MyGateway.h>  
#include <stdarg.h>

// Use this if you have attached a Ethernet ENC28J60 shields  
#include <UIPEthernet.h>  

// Use this fo WizNET W5100 module and Arduino Ethernet Shield 
// #include <Ethernet.h>   


#define INCLUSION_MODE_TIME 1 // Number of minutes inclusion mode is enabled
#define INCLUSION_MODE_PIN  3 // Digital pin used for inclusion mode button

#define RADIO_CE_PIN        5  // radio chip enable
#define RADIO_SPI_SS_PIN    6  // radio SPI serial select
#define RADIO_ERROR_LED_PIN 7  // Error led pin
#define RADIO_RX_LED_PIN    8  // Receive led pin
#define RADIO_TX_LED_PIN    9  // the PCB, on board LED

#define IP_PORT 5003        // The port you want to open 
IPAddress myIp (192, 168, 81, 4);  // Configure your static ip-address here    COMPILE ERROR HERE? Use Arduino IDE 1.5.7 or later!

// The MAC address can be anything you want but should be unique on your network.
// Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
// Note that most of the Ardunio examples use  "DEAD BEEF FEED" for the MAC address.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  // DEAD BEEF FEED

// a R/W server on the port
EthernetServer server = EthernetServer(IP_PORT);

// No blink or button functionality. Use the vanilla constructor.
MyGateway gw(RADIO_CE_PIN, RADIO_SPI_SS_PIN, INCLUSION_MODE_TIME);

// Uncomment this constructor if you have leds and include button attached to your gateway 
//MyGateway gw(RADIO_CE_PIN, RADIO_SPI_SS_PIN, INCLUSION_MODE_TIME, INCLUSION_MODE_PIN, RADIO_RX_LED_PIN, RADIO_TX_LED_PIN, RADIO_ERROR_LED_PIN);


char inputString[MAX_RECEIVE_LENGTH] = "";    // A string to hold incoming commands from serial/ethernet interface
int inputPos = 0;

void setup()  
{ 
  // Initialize gateway at maximum PA level, channel 70 and callback for write operations 
  gw.begin(RF24_PA_LEVEL_GW, RF24_CHANNEL, RF24_DATARATE, writeEthernet);
 
  Ethernet.begin(mac, myIp);

  // give the Ethernet interface a second to initialize
  delay(1000);

  // start listening for clients
  server.begin();
}

// This will be called when data should be written to ethernet 
void writeEthernet(char *writeBuffer) {
  server.write(writeBuffer);
}


void loop()
{
  // if an incoming client connects, there will be
  // bytes available to read via the client object
  EthernetClient client = server.available();

  if (client) {
      // if got 1 or more bytes
      if (client.available()) {
         // read the bytes incoming from the client
         char inChar = client.read();

         if (inputPos<MAX_RECEIVE_LENGTH-1) { 
           // if newline then command is complete
           if (inChar == '\n') {  
              // a command was issued by the client
              // we will now try to send it to the actuator
              inputString[inputPos] = 0;

              // echo the string to the serial port
              Serial.print(inputString);

              gw.parseAndSend(inputString);

              // clear the string:
              inputPos = 0;
           } else {  
             // add it to the inputString:
             inputString[inputPos] = inChar;
             inputPos++;
           }
        } else {
           // Incoming message too long. Throw away 
           inputPos = 0;
        }
      }
   }  
   gw.processRadioMessage();    
}

 

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

virgus1970: Датчики если будете навешивать, смотрите чтобы они регистрировались в gw.present по порядку, не пересекались чтобы. Моя ошибка была, что под номером 1 висело два датчика. И виделся только один.

Arduino IDE Обычный 1.5.8.

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

На батарейках можно делать любые устройства, хоть датчики, хоть реле

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

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

насчет UI7. Я использовал стандартный скетч для Enc28j60. Нужно только аккуратно соединить радио о ethernet. Убедиться, что устройство пингуется и что получает данные по радио

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

axill пишет:

насчет UI7. Я использовал стандартный скетч для Enc28j60. Нужно только аккуратно соединить радио о ethernet. Убедиться, что устройство пингуется и что получает данные по радио

Выложите пожалуйста свой скетч. Что-то я подозреваю я с айпишниками намудрил. Вы мак-адрес меняли? У вас на ethernet модуле линки горят? Именно на разъеме сетевом, а не на самом модуле.

У меня никак не запускается. Я уже собрал с W5100 шильдом на Леонардо - не видит. Пишет, что communications error и всё. Как Вы прописывали IP и внутренние LAN порты Веры? Я пробовал и в DHCP и нет. Выставлял адрес и 81.4 и 178.66 на Ардуине. Всё без толку. Ардуина должна быть из той же подсети Веры, которая она по DHCP выдает, или без разницы?

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

Скетч у меня из примеров версии 1.4.1 без изменений кроме IP. У меня ENC28j60. Mac не менял. IP должен быть из той же подсети, что вера и этот IP должен быть не занят

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

потом отсоединил ethernet модуль и с примером из rf24 getstarted добился того, чтобы показывалась не пустая информация про радио чип, это гарантирует правильное соединение

затем подсоединив одновременно и радио и эвернет проверил снова пример с пингом и getstarted. Если заработали значит нет конфликта

ну а после этого гейт просто не может не заработать. Только проверьте что в getstarted и в ethernet gateway указаны одни и теже CSN и CS

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

axill пишет:

... и с примером из rf24 getstarted добился того, чтобы показывалась не пустая информация про радио чип, это гарантирует правильное соединение

Можно про это поподробнее? Не уловил... 

Может быть и мне поможет понять, что у меня не так с радио... :)

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

Запустите пример. Там при старте в сериал печатаются настройки чипа. Там должны быть не пустые значения, например радиоканал обычно не ноль. Версия чипа должна быть nrf2401+, а не nrf24l01 (это правда если у вас действительно чип с плюсом, но это легко проверить по надписи на чипе там должен быть +)

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

to axill 

Спасибо за совет :)

А как у Вас Ардуинки запитаны? Те которые от 220В (на реле) и те, которые на автономном питании?

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

virgus1970 пишет:

Спасибо за совет :)

А как у Вас Ардуинки запитаны? Те которые от 220В (на реле) и те, которые на автономном питании?

всегда рад)

автономных у меня нет. есть с резервным питанием.  4 года эксплуатации множества батарейных датчиков zwave я пришел к выводу о том, что конечно в итоге достает батарейки менять. Вот недавно большую часть этих датчиков запитал стационарно. Буду стараться избегать автономности для дома, ну в крайнем случае это может быть уличный датчик, там будет батарейка, ионистор и солнечная батарея

те что на 220в запитаны по разному. эта тема для меня увлекательна, так что я делал много экспериментов, мои варианты:

- готовые адаптеры на 5-12в или с проводом в виде джека (как под питание UNO) так и просто под USB аля зарядник

- котовые импульсные модули для впайки на 5-24в

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

- низкочастотные (классика) трансформаторы с пайкой на плату и линейными (типа 7805) или импульсными стабилизаторами

- бестрансформаторные блоки питания в разных видах: 1. конденсаторный 2. на базе LNK306 3. на базе SR037

вот недавно купил интересные микросхемы SR10 и SR86, планирую их использовать в Mysensors настенных выключателях

 

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

axill пишет:

Скетч у меня из примеров версии 1.4.1 без изменений кроме IP. У меня ENC28j60. Mac не менял. IP должен быть из той же подсети, что вера и этот IP должен быть не занят

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

пошел по Вашему совету от простого к сложному. Какую Вы библиотеку использовали для пинга? У меня линки замигали при соединении ардуины и ENC, а пинги так и не пошли. такое ощущение, что библиотека кривая или устаревшая. Ну или руки у меня. Я использовал библиотеку UIPEthernet и EtherCard и примеры из них. Ни на одной так и не получилось пропинговать ардуину. И ардуина шлюз не видит. В мониторе пишет, что IP 0.0.0.0

Причем у меня модуль ENC заработал только с Леонардо.

И еще, с одной библиотекой советуют CS подключать на 8 пин, с другой на 10. В общем, когда сам через все эти нюансы проходишь - столько времени теряется...

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

Библиотека такая же. Мигание линков не гарантирует работоспособность. Вы IP адрес в скетче указываете правильно для вашей домашней подсети? Он должен соответствовать маске сети заданной на домашнем роутере

на моих модулях для UNO CS нужно подключать к выводу 10

на самом деле эта библиотека использует вывод SS хардверного SPI

У меня уже собран гейт на атмега128, там для CS совсем другой пин, но он соотвествует пину SS для atmega128

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

мой гейтвей

tjay4x4
Offline
Зарегистрирован: 07.01.2014

Красиво!

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

спасибо)

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

@axill, а зачем 2 кнопки на морде?

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

@axill, а зачем 2 кнопки на морде?

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

Кнопки добавлены про запас для расширения функционала

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

Делал gateway из iboard. Откалупал 2 дорожки, припаял 3 провода. Поставил один в одном доме, второй в другом и завизал на одну veru. Полёт 2 месяца, всё норм.

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

utya пишет:

Делал gateway из iboard. Откалупал 2 дорожки, припаял 3 провода. Поставил один в одном доме, второй в другом и завизал на одну veru. Полёт 2 месяца, всё норм.

на одну веру из разных домов? общая сеть через VPN? думал о таком, но останавливает низкая устойчивость к сбоям в такой конструкции

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

Да VPN. На кинетиках (на родных прошивках) поднял. Скажу честно вариант не самый лучший, иба инет пропадёт и всё алесь. Поэтому в удалённом доме у меня только сбор инфы с датчиков и отображение в вере. С другой стороны кинетик может сразу много резервов держать, у меня adsl и ещё свисток торчит.

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

у меня в доме тоже кинетик и свисток, вариант для сьора информации наверно вполне рабочий, а вот для работы сцен врядли подойдет

но сегодня mysensors уже поддерживает несколько свободных контроллеров, тот же openHab. вместо веры можно поднять свой

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

А у меня валяется две малины, когда я решился на этот проект, уже появился mysensors.org. и там были разные платофрмы, но меня както ламало, чёто настраивать, хотелось рас купил и работает. Тем более hek писал что у него vera и он пишет под неё, решил брать veru. Заказал на ебее за 5300 рублей, только щас понял что она американская=(((.

Вообще у меня вороса такой, а не дешевле ли покупать уже готовые z-wave устройства чем городить arduinoподобные клоны, там купил и уже всё работает.

И вторая проблема с которой я щас мучаюсь в страданиях. Я не знаю как решить проблему с реле. Есть livolo, всем хороши, но нет обратной связи. Я пытался прикрутить к vera, сигналы отсылаются но я не знаю вкл или не вкл. Решил, что нужна обратная связь, подумал а бахну ещё фотодиод, и буду замерять освещение, а это ещё одна ардуина с nrf. Воообщем искал реле с nrf24l01, и нашёл rboard mini. Заказал прошил, работает на УРА. Но это просто плата без красивой панельки как у livolo и даже без кнопки. Как у вас кто как решает такой вопрос?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

vadimiopc пишет:
А нет что-то готового для связи между arduino и vera по rs485?

http://www.youtube.com/watch?v=6pirdFDzWzA

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

utya пишет:
Заказал на ебее за 5300 рублей, только щас понял что она американская=(((.

хорошая цена. американская в ней только радиочастота для zwave. с точки зрения mysensors разницы с европейской никакой

utya пишет:
Вообще у меня вороса такой, а не дешевле ли покупать уже готовые z-wave устройства чем городить arduinoподобные клоны, там купил и уже всё работает.

я начинал с zwave. моя первая вера2 была куплена в германии еще 4 года назад вместе с устройствами. потом нарастил за год, заменив в квартире абмолютно все выключатели, подключил вентиляторы, обогрев лоджии, кондиционеры и ряд датчиков. потом понял, что все - больше ничего я сделать с zwave не могу ибо нет таких готовых устройств. И тогда я набрел на ардуину, потом у меня был свой вариант интеграции с верой, а позже познакомился с Хенриком (hek).

Что проще зависит от задачи. Если есть деньги и цель - удобство, то есть совершенно другой класс систем не имеющих ничего общего с zwave. Цена от 5000 евро примерно и выше. Zwave это такой урезанный вариант который считается бюджетным решением, но это все равно не дешево. Урезанный потому, что на рынке есть буквально несколько типов устройств и сделать новые нельзя - это закрытый стандарт, доступный только крупным разработчикам

Mysensors вариант где можно воплотить любую фантазию за умеренные деньги совмещая это с хобби. Если это не хобби, то врядли mysensors вариант.

utya пишет:
И вторая проблема с которой я щас мучаюсь в страданиях. Я не знаю как решить проблему с реле. Есть livolo, всем хороши, но нет обратной связи. Я пытался прикрутить к vera, сигналы отсылаются но я не знаю вкл или не вкл. Решил, что нужна обратная связь, подумал а бахну ещё фотодиод, и буду замерять освещение, а это ещё одна ардуина с nrf. Воообщем искал реле с nrf24l01, и нашёл rboard mini. Заказал прошил, работает на УРА. Но это просто плата без красивой панельки как у livolo и даже без кнопки. Как у вас кто как решает такой вопрос?

так ли нужна обратная связь? в автоматических сценах у меня обратная связь на zwave никаки не используется. Ну разве что интересно бывает увидеть при ручном удаленном управлении - сработало или нет. Ваши варианты:

1. забить на обратную связь

2. прикрутить к выключателю mysensors датчик чисто для обратной связи

3. внуть начинку livolo и заменить на свою от mysensors

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

axill пишет:

Запустите пример.

Скачал библиотеку RF24 по ссылке с этой страницы вот отсюда. Там есть пример getstarted, но в нем нет кода для вывода в порт служебной информации. Может быть я не ту библиотеку скачал? 

Вы не могли бы дать ссылку на библиотеку, о который Вы говорили? Или выложить кусок кода (или весь скетч), который выводит эту служебную информацию.

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

в проекте используется вот эта версия https://github.com/mysensors/Arduino/tree/master/libraries/MySensors/utility

вот эта строка выводит всю информацию:

radio.printDetails();

https://github.com/stanleyseow/RF24/blob/master/examples/GettingStarted/...

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

 

axill пишет:
Mysensors вариант где можно воплотить любую фантазию за умеренные деньги совмещая это с хобби. Если это не хобби, то врядли mysensors вариант.

Я вас понял. Тоесть может z-wave и проще, тоесть купил и работает, но он узок в палне фантазии и какой-то гибкой дороботки.

Цитата:

1. забить на обратную связь

Думал забить, но не получается ибо. Приходится нажимать по несколько раз кнопку на пульте вкл/выкл.

Кстати насчёт прохождение сигнала, в квартире где бетонные стены, геммора большого набрался, плохо ловят ноды сигнал, сейчас пытаюсь более глубоко понять как раподает репитор у хек, он пишет, что сигнал пойдет через рпитер при условии если несколько раз не пройдет через оснвной маршрут. 

Цитата:

2. прикрутить к выключателю mysensors датчик чисто для обратной связи

ну как бы самы просто вариант, где рядом с лютсрой поставить фотодиод))

 

Цитата:

3. внуть начинку livolo и заменить на свою от mysensors

 

самый кашерный вариант, сделать допил для livolo. присунуть туда nrf24l01. Но я такое не могу((

 

2axill, Вообщем вы говорите у вас обратной связи нет и всё нормально?

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

axill: Еще подскажите, какая у вас версия прошивки 3-й Веры? На котором ethernet gateway находится. У меня все примеры из Ethernet бблиотеки работают, а заливаю скетч MySensors - вера не видит его и я не могу пинговать. IP присвоил из домашней сети.

Ардуино Leonardo с W5100 шильдом мигает всеми лампочками кроме COLL. Как бы ошибок нет. В Вере прописал IP:5003. Все равно пишет MySensors plugin : Cannot send command - communications error.

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

To axill

Спасибо. Поставлю эту версию буду разбираться дальше :)

Updated

Оказывается у меня стоит эта библиотека вместе со всеми остальными с MySensors.org Я проверил по названиям файлов. Теперь у меня возник вопрос. Для корректной компилляции скетчей с MySensor мне надо удалить библиотеку RF24, которую я поставил отдельно или нет?

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

utya у меня сейчас в квартире все выключатели zwave и все они с обратной связью. Я к тому, что я ей не пользуюсь. А то, что нажимать много раз нужно это уже другая проблема. Ее конечно нужно решать

Artemiy сейчас тестирую на последней официальной UI7. Но ее мало кто еще использует, большинство гейтвеи используют с UI5. Предде чем веру проверять добейтесь работы ping. Те примеры, что работают, они работают с подключенным радиомодулем?

virgus1970 если чемтно, не знаю какой приоритет поиска библиотек у ардуины, я бы удалил лишнее

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

axill: Нет, без модуля. С модулем пинги не идут.

На UI5 я serial gateway настроил и успокоился на этом. Но мне надо еще на UI7. как-то завязать.

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

У вас ui7 нормально работает? У меня на vera lite безбожно лагает

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

Artemiy пишет:

axill: Нет, без модуля. С модулем пинги не идут.

На UI5 я serial gateway настроил и успокоился на этом. Но мне надо еще на UI7. как-то завязать.

нужно чтобы заработали пинги на примерах сначала. у вас ENC28J60 или wiznet? у план wiznet у многих есть конфликт по SPI, в скетче ethernetGateway в комментариях написано как переклбчить RF24 на сотферный SPI, чтобы заработало

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

utya пишет:

У вас ui7 нормально работает? У меня на vera lite безбожно лагает

не могу сказать. на моей "старой" боевой вере где несколько десятков устройств пока еще UI5 и Serial Gateway. А вот эта новая с UI7 для дома там кроме плагина для Mysensors и тестового Humidity сенсора больше ничего нет. Но это все работает нормально.

А в чем лажает?

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

axill пишет:

utya пишет:

У вас ui7 нормально работает? У меня на vera lite безбожно лагает

не могу сказать. на моей "старой" боевой вере где несколько десятков устройств пока еще UI5 и Serial Gateway. А вот эта новая с UI7 для дома там кроме плагина для Mysensors и тестового Humidity сенсора больше ничего нет. Но это все работает нормально.

А в чем лажает?

долго прогружаются картики, и резетил, и кэш чистил браузера. Не помогло, хватило на 2 часа. снёс и поставил обратно ui5

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

У веры лайт насколько помню меньше оперативной памяти, возможно с этим связано. Хотя как я понимаю сейчас UI7 идет на всех верах по умолчанию

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

axill пишет:

нужно чтобы заработали пинги на примерах сначала. у вас ENC28J60 или wiznet? у план wiznet у многих есть конфликт по SPI, в скетче ethernetGateway в комментариях написано как переклбчить RF24 на сотферный SPI, чтобы заработало

в общем, 1,5 суток страдания принесли свои плоды:

Enc28j60 я подключал к нано, а wiznet шилд к леонардо. и там и там добился нормальной работы пингов. Но на заливку скетча не хватило памяти. Буквально какой-то сотни байт. На леонардо с библиотекой Ethernet с выключенным debug и с включенным soft_spi не умещается в 28 кб. У леонардо 4 кб тратится на лоадер. На нано - 2 кб. Но при этом UipEthernet библиотека занимает больше. И на нано она тоже не льётся. Хочет почти 33 кб памяти. Нужна уно или мега в обоих случаях. И получается, что Enc28j60 вообще не подключить на мелекие платы. Только на "полноразмерные", так сказать...

и еще, в инете везде пишут, что Enc28j60 модуль подключается к 3.3 в и пин 8. Даже в либе прописан по дефолту 8 пин. Но заработал пинг только при подключении к 5 вольтам и 10-му пину.

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

Скетч ethernet gateway какой версии? У меня из текущей ветки помеченной на girhub как master. Я заливал в UNO для ENC28j60. У меня оаботало с 10-м пином. Сейчас у меня atmega128, но скетч имеет размер 28кб. Правда я вырезал использование библиотеки pcint и mctimer, вам это тоже может помочь, они нужны только для того, чтобы подключить кнопку и светодиоды (вырезал потому, что они не совместимы с atmega128). Кстати можно удалить бутлоадер и прошивать програматором, я так и делаю

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

У меня из той же ветки. На ui5 показывался как 1.4.1, на ui7 просто как 1.4.

насчет вырезать - спасибо за подсказку. Как раз думал, что б вырезать из кода, но настолько не залез.

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

To axill

Скажите, пожалуйста, датчики движения Вы делали на HS-SR501 PIR Motion Sensor?