Платформа для управления умным домом на базе чипа NRF24L01+

KrisFranz
Offline
Зарегистрирован: 26.09.2013

Добрый день, джентельмены! Заинтересовался темой arduino и умного дома, нашел эту тему. Прочел. Теперь догадываюсь, почему есть куча проектов умного дома, и ни одного стандартизированного - проектированием системы в целом никто не занимается, предпочитая подходить с той стороны, которая ему выгоднее - кто-то решает проблему мониторинга, кто-то связи через роутер и usb-модем, кто-то - заливку прошивки удаленно (плюс еще и своя платформа).

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

Вот придет гипотетический любитель электроники, хочет сделать умный дом. Допустим, система допилена до рабочего состояния, только вот незадача - чтобы ей пользоваться, надо заняться ЛУТ`ом или вскладчину заказывать платы. ЛУТ - это хоть и не нанотехнологии, но отнюдь не все любят паять и возиться с лутом. Если заказывать - предположим вы к тому моменту уже сделаете эти платы и получите их. А только что пришедший на форум человек? Ждать других для складчины, или же самому заказывать? Как несложно догадаться, свойство "дешевизна" у подобного решения пропадает, а ждать других (чтобы сэкономить на заказе плат) на начальном этапе становления проекта можно очень долго. А если бы платформа была стандартная, любой человек бы мог тут же развернуть на нее имеющиеся наработки и допиливать их совместно с остальными. А так - просто уйдет искать дальше, что ему больше подходит.

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

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

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

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

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

mitekg пишет:

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

когда все установлено то да - носить не надо, а когда добавляешь что-то новое то надо

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

Цитата:

когда все установлено то да - носить не надо, а когда добавляешь что-то новое то надо

Добавляешь в прошивку гейта?

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

mitekg пишет:

Добавляешь в прошивку гейта?

нее)) я про сеть zwave. Периодически что-то добавляю, а сейчас вот заново пересоздаю сеть - бегаю с верой по всей квартире. За два года глюки накопились, барабашка появился. Поддержка не смогла ничего понять - по ночам у меня все хаотично врубается и вырубается. Так что будет свеженькая сеть и запихну туда ардуино))

KrisFranz
Offline
Зарегистрирован: 26.09.2013

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

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

KrisFranz если честно - не понятно, что вы хотите от нас услышать

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

KrisFranz
Offline
Зарегистрирован: 26.09.2013

axill, да, может не очень понятно объяснил. Суть в том, что я посмотрел существующие наработки, и обнаружил, что большинство из них - замкнутые системы, которые сводятся к "ардуино+релюшки+датчики+GSM/W-Fi", и для полноценного умного дома это малополезные вещи - автоматизации там мало, и только в пределах одного контроллера. Кто-то делает на 1-wire под управлением компа, но это тоже специфический вариант.

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

Хотелось бы услышать, что народ думает по поводу унификации шасси. К примеру, ваш проект возможно выльется в собственную плату, которую надо еще изготовить будет. Не получится ли так, что повторять этот проект никто не захочет, т.к. проще сделать свой аналог шасси для умного дома на базе стандартного ардуино нано/мини/etc, чем паять? 

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

у меня в основе умного дома покупной контроллер http://www.micasaverde.com/controllers/vera3/

он решает многие мои задачи на все 100%. наши последние сообщенния в этой теме касаются того как прикручивать  маленькие устройства на ардуино к этому контроллеру. Это позволяет 1. удешевлять умный дом (датчик движения покупной например стоит от 2000р, а на ардуине будет в 3-4 раза дешевле) 2. подключать вещи которые не купишь (у меня куча таких идей).

KrisFranz
Offline
Зарегистрирован: 26.09.2013

Хм... а я-то все понять не мог, что за веру вы упоминаете в беседе :)

Спасибо за наводку, пойду почитаю про девайс.

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

Axill, как тебе последнее обновление? :) есть еще желание делать на eth? 

По мне дык отличная платформа для кастома!!

Чего еще не хватает для счастья ?

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

я видел сообщение - hek монстр)) тока вчера попросил часики добавить - сегодня уже есть))

я за ним не успеваю ( Второй день пересоздаю сеть на вере, пока руки не дошли.

Идея классная - по сути вся логика гейта ложится на веру, а это разумнее так как вреа более гибкая платформа чем ардуина и более мощная. Главное чтобы она (вера) все это потянула.

Наверно уже на след неделе буду тестировать. Мне опять же не охота на чисто ардуино делать, но это и не сильно обязательно, сделать клон библиотеки под другую платформу (под AVR например) не сложно

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

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

частично помогли кондеры. но я заказал для гейта усилинную антенну. Проверим как поможет.

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

mitekg пишет:

частично помогли кондеры. но я заказал для гейта усилинную антенну. Проверим как поможет.

мне не помогло - и на гейте и на часах стоит модуль с усилителем и выносной антенной

сканирование каналов делал?

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

делал. ничего критичного. каналы пробовал менять?

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

сканировать не пробовал. менять пробовал - большой разницы не заметил

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

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

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

mitekg надеюсь hek прикрутит ретрансляторы )) и все заработает

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

посмотрел папку которую мне прислал продавей модуля - нашел кучу кода в том числе ряд примеров оооочень простого кода для работы с NRF24, как я понял в том числе и для LE1

 

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

в пору вера-ардуино выносить в отдельную тему. мне видится перспективная штука. Можно наскошелиться только на веру и дальше все строить на своих модулях. Веру гениальный чувак придумал. Это вам не айфоны распихивать на антураже)) Это реально гениальная штука

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

Axill, я смотрю ты проникся ))

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

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

сейсас так просто, что проще некуда. ура-ура-ура)))

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

Помогите врезать в NRF24L01+  для 3х блоков клонов такой пример с 3 кнопками и 3 led на прием и передаче команд. Запарился уже с 10 вариантами. 

const int buttonPin[] = {5,6,7};
const int ledPin[] =  {A0,A1,A2};

long previousMillis[] = {0,0,0}; 

long interval = 1000;

void setup() {
  for(int i=0; i<3; i++)
  {
    pinMode(ledPin[i], OUTPUT);
    digitalWrite(ledPin[i], LOW);
    pinMode(buttonPin[i], INPUT);
  }
}

void loop() {
  unsigned long currentMillis = millis();
  for(int i=0; i<3; i++)
  {
    if (digitalRead(buttonPin[i]) == LOW)
    {
      digitalWrite(ledPin[i], HIGH);
      previousMillis[i] = currentMillis;
    } else
    if (currentMillis - previousMillis[i] > interval)
    {
      digitalWrite(ledPin[i], LOW);
    }
  }
}