Проект умного дома 2 этажа 217м2

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 26 фев 2017, 13:52

Планирую посвятить тему своему проекту умного дома.
Здесь буду просить помощи и делится своими наработками и фотографиями.
Думаю такой формат будет удобнее чем постить по всему форуму.
На выходе с вашей помощью должен получится годный контент в виде примера УД (Умного дома).

Параметры дома:
1 этаж 75 м2
2 этаж 75 м2
Гараж 42 м2
Итого: 192 м2 + лестничные проемы

Изображение

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 26 фев 2017, 14:08

Техническое задание:
- управление светом (дом, лестничные пролеты, гараж, улица, ограда, ворота, карниз)
- управление электрическим теплым полом (кабель в стяжке) по температуре и времени
- прочие функции + резерв
- отказоустойчивость

Выбранное оборудование:
- Сеть на базе Mikrotik (отличные коммутаторы, хорошо себя зарекомендовали для организации сети и беспроводных мостов)
- Умный дом на базе MegaD-2561 + Сервер (скорее Linux..... Centos???, Debian ??)
- Видеонаблюдение на основе современных цифровых камер HikVision до 4 Мпикс (очень хорошо работают, недорого в китае + мощная подсветка)

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 26 фев 2017, 14:17

Поэтажный план:

1этаж
Изображение

2этаж
Изображение

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 26 фев 2017, 15:18

Заказал на пробу и протестировал работу: MegaD-2561 + MegaD-14-R + 5 датчиков DS18B20
Результат: Все хорошо работает, температура определяются, релюшки срабатывают.

Забыл IP-адрес контролера (он не очищается при сброе EPROM), спасибо за инструкцию, вот так сбросил IP

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

C:\php>php.exe megad-cfg-2561.php  --scan
10.28.10.14

C:\php>php.exe megad-cfg-2561.php  --ip 10.28.10.14 --new-ip 192.168.0.14 -p sec
IP address was successfully changed!

C:\php>php.exe megad-cfg-2561.php  --scan
192.168.0.14

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 26 фев 2017, 15:56

Дальнейшие действия:
- Составить список управляемых нагрузок (световые коробки + розетки + контуры теплого пола)
- Составить список элементов управления (кнопки + датчики)

captain
Сообщения: 18
Зарегистрирован: 29 дек 2013, 13:51

Re: Проект умного дома 2 этажа 217м2

Сообщение captain » 26 фев 2017, 17:11

Я бы рекомендовал еще использовать broadlink MR (есть python api) + сенсорные выключатели sesoo + А1 датчики. Для сервера можно взять orangePI с armbian или dietpi (http://dietpi.com/). Если не секрет где находиться дом?

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: Проект умного дома 2 этажа 217м2

Сообщение d.v.ermakov » 26 фев 2017, 22:21

Китайские иногда зависающие выключатели и китайские же полуоблачные игрушки типа Броадлинка или Орвибо или Сяоми - это далеко не главное, ИМХО.
Предлагаю почитать вот здесь: http://ab-log.ru/forum/viewtopic.php?f= ... 62&#p20962 и посмотреть здесь: http://ab-log.ru/forum/viewtopic.php?f=5&t=808.
Да и вообще по форуму очень много реальных вещей расписано, ищите.
Последний раз редактировалось d.v.ermakov 27 фев 2017, 02:16, всего редактировалось 1 раз.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 27 фев 2017, 02:11

captain писал(а): Если не секрет где находиться дом?
Амурская область. Зимой до -40,... в среднем -25.
Да и вообще по форуму очень много реальных вещей расписано, ищите.
Согласен... спасибо за ссылочку.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 27 фев 2017, 05:46

Принятые решения:
Датчики температуры DS18B20 1-Wire будем питать отдельным источником питания.
Как я понял топология шины 1-Wire должна быть без ветвления, посему:
- формируем несколько шин (1 этаж, 2 этаж, улица, прочее)
Используем кабель КСПвЭВ 1x2x0,4 мм. или КСПвЭВ 2x2x0,4 мм.

Спасибо fedos

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 27 фев 2017, 13:09

Зачем столько термо-датчиков?
Каждую зону теплого пола будет обслуживать 3 датчика
- датчик местного терморегулятора (цифровой термостат установленный в зоне со встроенным датчиком)
- датчик УД в стяжку
- датчик УД воздушный

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

В случае выхода из строя Сервера или контроллеров, управление теплым полом полностью перекладывается на цифровые термостаты расположенные по зонам.
При этом на все линии подается напряжение. (то есть контакты реле нормально замкнуты).

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

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Проект умного дома 2 этажа 217м2

Сообщение OlegJktu84 » 01 мар 2017, 14:48

Вот viewtopic.php?f=1&t=1207 выбирали Платформу домашней автоматизации/Программное обеспечение умного дома/ioBroker; Мажордомо; OpenHAB. Может поможет определится с тем что ставить на сервер.
Не могу найти - выкладывал на форуме план проводки в доме аналогичном вашему. Может вам бы пригодилось...
Хотя основные правила витую пару везде, весь свет в щиток напрямую.

captain
Сообщения: 18
Зарегистрирован: 29 дек 2013, 13:51

Re: Проект умного дома 2 этажа 217м2

Сообщение captain » 01 мар 2017, 18:34

Для начала стоит определиться чем нужно будет управлять и какие датчики куда и нарисовать это,а уже потом разбираться с проводкой для автоматики! У автора стоит про управление светом,тут вопрос свет будет управляться как? Контролироваться тока через автоматику (это когда выключатель заведен на контролер и контролер уже включает свет) или в ручном когда включается напрямую с выключателя,но при этом есть возможность управления с контролера.

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Проект умного дома 2 этажа 217м2

Сообщение OlegJktu84 » 01 мар 2017, 19:20

captain если привести в каждый подрозетник/стакан/точку для света и силовой трехжильный и utp5e от щитка, то можно сделать по любому.
На форуме все под Мегадевайс тянут - он в щитке, чаще общий на этаж. Реже общий на дом или мини щит в каждой комнате.
UPD: Да и общая практика - выключатель заведен на контролер - Мегадевайс. Чаще всего через UTP и 12vDC.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 04 мар 2017, 04:54

OlegJktu84 писал(а):captain если привести в каждый подрозетник/стакан/точку для света и силовой трехжильный и utp5e от щитка, то можно сделать по любому.
На форуме все под Мегадевайс тянут - он в щитке, чаще общий на этаж. Реже общий на дом или мини щит в каждой комнате.
UPD: Да и общая практика - выключатель заведен на контролер - Мегадевайс. Чаще всего через UTP и 12vDC.
У меня только в разработке процесс... но думаю что управление чисто через Мегадевайс...(кнопки и фаза)
Правда в лестничных пролетах по датчику движения, не знаю напрямую сделать или через Мегу.

Спасибо за ссылки... все изучу.

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Re: Проект умного дома 2 этажа 217м2

Сообщение Ruslan » 04 мар 2017, 10:20

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

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 21 мар 2018, 17:21

В качестве веб сервера выбрал RASPBERY PI 3 model b. Сегодня получил долгожданную посылочку :)
Поставил linux + php + ngnix + mysql. Завелась с пол оборота. доволен.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 21 мар 2018, 17:39

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

Что для этого нужно
- Контроллер ARDUINO 1шт 100 руб (uno, mini)
- Расширение для Ethernet ENC28J60 1шт 165 руб
- Датчик температуры DS18B20 (10 шт по 90 руб)

Неохота тащить 1-wire, для получения данных температуры с удаленных участков дома, таких как возможно чердак или удаленные комнаты.
Я решил протащить по всему дому ethrnet и разместить дешевые помощники в нужных местах. Предосмотрев легкую замену в случае выхода из строя.

Суть разработки: (Функция аналогично Mega-2561)
Ардуина ищет темп.датчики шиной, и формирует HTTP страницу с адресами и температурами
адрес датчика;температура;временная метка#..... и т.д.

Новая временная метка присваивается каждый раз когда произошло считывание конкретного датчика. Анализируя метку вы всегда поймете поступает ли свежая информация.

Скетч не требует правки, IP адрес определяется по DHCP, адреса датчиков считываются функцией поиск, залил и работает.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 21 мар 2018, 17:48

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

#include <EtherCard.h>
#include <OneWire.h>

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
byte Ethernet::buffer[500]; // 150 + 35 байт для каждого датчика температуры (но не меньше 300)
BufferFiller bfill;

CLASS_OneWireSensorsSet oneWireSensorsSet(2, 10);  
// Первый параметр:  это номер пина к которому подключены датчики  pin=2
// Второй параметр:  это максимальное количество датчиков 10 (память выделяется динамически)

void setup() {

  Serial.begin(9600);

  oneWireSensorsSet.SearchSensors();   // Поиск датчиков на шине
  oneWireSensorsSet.StartMeasureAll(); // Измерить температуру
  Serial.print(F("Sensor count:"));
  Serial.println(oneWireSensorsSet.sensorCount);

  // Инициализация Web-сервера
   if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println(F("Failed to access Ethernet controller"));

  // Определяем IP
  if (ether.dhcpSetup()) { Serial.println(F("Found DHCP"));  } else { Serial.println(F("DHCP not found")); } //ether.staticSetup(myip);  // Какой нормальный человек будет статику в ардуинно прописывать ??  

   // Данная функция выводит в Serial "IP адрес" разделенный точками. Может принимать 1 или 2 параметра
   ether.printIp(F("MY IP: "),      ether.myip);
   ether.printIp(F("NETMASK: "),    ether.netmask);
   ether.printIp(F("GATEWAY IP: "), ether.gwip);
   ether.printIp(F("DNS IP: "),     ether.dnsip);  

}


void loop() {

  // Запрос на измерение температуры
  oneWireSensorsSet.StartMeasureAll(); 

  // Получаем температуру с 1 датчика
  oneWireSensorsSet.GetNextTemp();

  //Serial.println("AllData:"+oneWireSensorsSet.GetAllDataString());  
  
  word len = ether.packetReceive();
  word pos = ether.packetLoop(len);

  // check if valid tcp data is received
  if (pos) { 
    String str = oneWireSensorsSet.GetAllDataString();
    bfill = ether.tcpOffset(); 
    bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n"));  // print OK
    bfill.emit_p(PSTR("<title>Arduino Temp server </title>\n"));
    //bfill.emit_p(PSTR("Address: $S <br>\n"), str.c_str()); // $F $D $T $S - String
    bfill.emit_p(PSTR("$S"), str.c_str());  
    ether.httpServerReply(bfill.position()); 
  }  

}

Расход памяти ардуино для 10 датчиков получается:
Global variables use 922 bytes (45%) of dynamic memory, leaving 1126 bytes for local variables.
Динамически выделяется еще примерно 20 байт + 15 байт на каждый датчик
Итого: 922+20+150=1092 байта.

MrFlanker
Сообщения: 32
Зарегистрирован: 24 фев 2017, 08:13

Re: Проект умного дома 2 этажа 217м2

Сообщение MrFlanker » 21 мар 2018, 17:49

В скетче нету только одного класса class CLASS_OneWireSensorsSet {}, так как он длинноват, но если есть интерес выложу.

Palko
Сообщения: 44
Зарегистрирован: 21 авг 2014, 07:26
Откуда: Новосибирск

Re: Проект умного дома 2 этажа 217м2

Сообщение Palko » 21 мар 2018, 19:44

добрый вечер, а как такие датчики отличать друг от друга?
а то будет список температур и средняя температура по дому)
IOBroker+BC9000+фантазия

Ответить