Контроллер умного дома своими руками
Перейти к содержимому

Контроллер умного дома своими руками

  • автор:

Умный дом своими руками. Блог разработчика

На этом сайте я хотел бы поделиться своим опытом в области создания Умного Дома своими руками. Все началось еще в 2008 году, когда появились первые статьи, основанные на робких, но вполне успешных попытках использования различных технологий для автоматизации собственного жилища. Мною было пройдено несколько этапов, опробованы различные подходы и накоплен достаточно обширный объем знаний, который позже трансформировался в готовые изделия, доступные для заказа. Сначала сайт имел четкую структуру и последовательность, как главы в книге, но с течением времени стало понятно, что технологии слишком быстро меняются, а статьи, написанные 5-7 лет назад теряют актуальность или содержат устаревшую информацию. Поэтому сегодня я предлагаю статьи в хронологическом порядке, где самая актуальная информация будет сверху.

Я использую термин «Умный Дом», потому что он понятен всем, но каждый раз, когда мне приходится употреблять этот термин, я морщу нос. Ведь зачастую простой регулятор для ламп накаливания, который известен чуть ли не с момента изобретения Эдисоном своей лампочки, маркетологи умудряются называть чем-то умным. А ведь все гораздо сложнее. И интереснее!

Материалы моего блога, прежде всего, ориентированы на ту категорию людей (энтузиастов, творцов, мечтателей), которым все это интересно не только с точки зрения «поставил и забыл». Создание своего Умного Дома — это познавательный, творческий процесс, в течение которого вы, как создатель, работаете над решением различных головоломок, придумываете новые идеи, радуетесь достигнутым результатам и огорчаетесь неудачам. Этот процесс связан не только и не столько с программированием или паяльником, сколько с развитием гибкости мышления, с изучением различных инженерных и технических систем, законов природы, физики и математики. Если вам интересно, значит вы наш человек. И добро пожаловать на форум.

Хронология событий

  • 08.11.2023 Твердотельный датчик направления и скорости ветра. Эксперимент
  • 09.03.2023 iPhone на стене в качестве панели управления домом
  • 31.12.2022 MegaD-16M-XT — подсветка выключателей и не только
  • 27.10.2022 Переделка выключателей в кнопки и мини-обзор текущего рынка
  • 02.07.2022 RadSens — модульный счетчик Гейгера с интерфейсом I2C
  • 29.06.2022 «U» — значит универсальный. Обзор модуля MegaD-16U-XT
  • 28.05.2022 SCD4x — современная альтернатива для измерения концентрации CO2
  • 23.01.2022 HTU31D — новый датчик температуры и влажности с нагревательным элементом
  • 13.11.2021 Измерение коэффициента пульсации ламп с помощью MegaD-2561
  • 22.09.2021 Использование солнечных панелей в качестве датчика освещенности
  • 22.07.2021 Согласование датчиков с выходом типа TTL со стандартными входами контроллера
  • 09.04.2021 DPS368 — датчик атмосферного давления индустриального класса повышенной точности
  • 04.04.2021 DS18B20 Waterpoof — импортзамещение
  • 08.01.2021 TMP117 — высокоточный датчик температуры с интерфейсом I2C
  • 03.01.2021 MegaD-16R-XT — расширитель на 16 релейных выходов
  • 28.10.2020 MegaD-2561-RTC V3 — больше портов, зуммер и ИОН
  • 12.10.2020 MegaD-8I7O-X — сменные реле в сокетах и съемные клеммники
  • 28.06.2020 RPi-MegaD-Adapter — использование исполнительных модуей MegaD вместе с Raspberry Pi
  • 21.05.2020 Датчик давления воды с цифровым интерфейсом I2C
  • 15.05.2020 Определяем угарный газ с помощью электрохимического датчика
  • 01.12.2019 MegaD-2561 в качестве шлюза RS-485/Modbus RTU — Ethernet
  • 13.10.2019 Подключение датчика количества осадков к MegaD-2561
  • 13.05.2019 Измерение содержания радона в доме и кое-что еще
  • 12.04.2019 Система распознавания лиц для сельской калитки
  • 09.04.2019 Цифровой энкодер для MegaD-2561
  • 31.12.2018 Подключение 4Мп IP-камеры Hikvision DS-2CD2742FWD-IZS
  • 19.12.2018 SIP-домофон своими руками 2.0
  • 09.08.2018 Сказка о золотом петушке
  • 18.07.2018 MegaD-14-IOR — еще больше универсальности
  • 17.05.2018 Метеостанция 2.0 — подключение датчиков ветра к MegaD-2561
  • 10.03.2018 Измеряем уровень CO2 с помощью T6703
  • 08.03.2018 MegaD-2561 + Лидер-4 и радиобрелки
  • 10.02.2018 Подключение MegaD-2561 к Wi-Fi сети
  • 23.12.2017 НГ с MegaD-2561 и WS2818 или гирлянда не как у соседей
  • 17.12.2017 Подключение к контроллеру MegaD-2561 твердотельных реле
  • 10.12.2017 MegaD-2W — мал ёрш, да колюч
  • 09.12.2017 Управление устройствами стандарта 0-10В с помощью MegaD
  • 18.11.2017 Подключение сенсорных выключателей к модулям MegaD
  • 31.05.2017 MegaD-2R — дело за малым
  • 08.05.2017 OLED дисплей SSD1306 в интерьере
  • 25.03.2017 Управление техникой по ИК каналу с помощью MegaD-2561
  • 14.02.2017 Подключение аналоговых датчиков с выходом типа «ток» к модулям MegaD (инструкция)
  • 07.02.2017 SIP-домофон (VTO2000A + VTH1550 + Asterisk)
  • 07.01.2017 Использование Wi-Fi точек UniFi в качестве датчика присутствия
  • 26.11.2016 Тестирование батареек CR2032 с помощью MegaD-328/2561
  • 10.11.2016 Сбылась мечта идиота? Тестирование сенсоров TSL2591 и MAX44009
  • 22.10.2016 Подключение к MegaD-328/2561 пожарных датчиков
  • 03.10.2016 Интеграция Apple HomeKit в общую систему Умного Дома
  • 06.09.2016 Про датчик освещенности BH1750. Что, опять? Да.
  • 01.09.2016 MegaD-2561 — новая ступень в развитии проекта MegaD
  • 09.06.2016 И снова про измерение освещенности. Тестирование TEMT6000
  • 03.04.2016 Измеряем уровень углекислого газа (СО2) с помощью MH-Z14
  • 06.02.2016 Использование OLED I2C дисплея с MegaD-328
  • 04.02.2016 Датчик температуры и влажности HTU21D для MegaD-328
  • 17.01.2016 Управление светодиодной RGB-лентой с помощью MegaD-328
  • 27.12.2015 Вести с полей. Применение в проекте MegaD чипа atmega2561
  • 19.12.2015 Снова про датчики температуры или как не испортить интерьер
  • 12.12.2015 MegaD-328 + I2C или подключение датчика давления BMP180
  • 29.06.2015 MegaD-14-IN — расширяем перечень подключаемого оборудования
  • 07.06.2015 Рисуем план дома для управления освещением
  • 02.05.2015 Подключение к городской АТС по протоколу SIP
  • 05.04.2015 Теплый пол и ламинат — брак по расчету
  • 03.03.2015 Беспроводный звонок как часть Умного Дома
  • 30.01.2015 До. автоматизация гаражных ворот или как не забыть про цепочку
  • 06.11.2014 Wi-Fi для Умного Дома. Точки доступа UniFi
  • 24.10.2014 Датчик напряжения для MegaD-328/2561
  • 19.09.2014 Светодиодные лампы для хрустальной люстры. Исследование
  • 17.05.2014 Cubieboard2 в роли сервера Умного Дома
  • 01.05.2014 Apple TV + Plex Media Server
  • 26.03.2014 Двухклавишные кнопки для системы Умного Дома
  • 20.02.2014 MegaD-Panel — простой Web-интерфейс для управления MegaD-328
  • 20.02.2014 Перепрошивка MegaD-2561
  • 08.01.2014 Подключение к MegaD-328 ЖК-дисплея
  • 22.12.2013 Highway to Hell или цветомузыка по Ethernet
  • 25.11.2013 MegaD-328 API (версия прошивки 3.34 и выше)
  • 11.11.2013 Как я делал уличный датчик освещенности
  • 10.08.2013 Подключение к MegaD-328 датчиков движения. Сигнализация по Ethernet
  • 08.08.2013 Подборка вариантов совместимых с прошивкой MegaD-328 устройств от пользователей форума
  • 06.04.2013 MegaD-328 и датчики газа. Определяем утечки и другие изменения в воздухе
  • 31.03.2013 Система радиоуправления освещением nooLite
  • 29.06.2012 Использование датчика влажности почвы вместе с Ethernet-контроллером
  • 25.05.2012 Нужен ли Теплому Полу утеплитель пенополиэтилен (НПЭ/ППЭ)? Исследование
  • 22.05.2012 Подключение к MegaD-328 датчика освещенности
  • 16.04.2012 MegaD-328 — Готовый многофункциональный контроллер Умного Дома
  • 07.01.2012 Демо-интерфейс. Исходники
  • 01.01.2012 Газобетонные блоки. Тест на водопоглощение
  • 19.10.2011 SIP-домофон своими руками
  • 11.10.2011 Фейс контроль, распознавание лиц в системе видеонаблюдения
  • 03.10.2011 Защита от протечек с применением 1-wire
  • 29.09.2011 Управление домом с iPad
  • 22.09.2011 Вывод на экран ТВ сообщений Умного Дома через OpenBox HD
  • 07.09.2011 Beckhoff. ADS-программирование
  • 06.09.2011 Beckhoff. Управление освещением
  • 03.09.2011 Beckhoff. Программируем контроллер
  • 02.09.2011 Beckhoff и электрика
  • 01.09.2011 Beckhoff. Общие сведения
  • 22.07.2011 Подключение цветной уличной видеокамеры CNB XCM-21VF
  • 27.06.2011 Изготовление датчика влажности почвы
  • 03.06.2011 Автополив в саду
  • 25.05.2011 Многофункциональный Ethernet-контроллер Умного Дома на AVR своими руками
  • 11.05.2011 Опыт использования Nortel IP Phone 2007 и связка Skype-Asterisk
  • 27.04.2011 Управление голосом. Распознавание русской речи
  • 24.04.2011 Установка программной мини-АТС Asterisk
  • 03.04.2011 Расчет заморозков
  • 22.03.2011 Снятие показаний газового счетчика с помощью Web-камеры
  • 01.03.2011 Web-интерфейс своими руками для управления диммером X10
  • 27.02.2011 Управление освещением по X10
  • 20.02.2011 Программный расчет прогноза погоды
  • 19.02.2011 Подключение домашней метеостанции к компьютеру Умного Дома
  • 20.01.2011 Расчет восхода и захода солнца. Автоматизация освещения
  • 26.12.2010 Елочная гирлянда с управлением по 1-wire
  • 08.11.2010 Настройка Samba на OpenBox HD
  • 28.10.2010 Слушаем микрофоны в доме или домашнее Интернет-радио своими руками
  • 26.10.2010 Web-сайт Умного Дома. События и праздники
  • 21.10.2010 Анализ изображений с помощью нейронной сети
  • 20.10.2010 Применение нейронных сетей в системах Умного Дома
  • 22.09.2010 Контроль за температурой сервера
  • 19.07.2010 Замена лампы в приводе гаражных ворот CAME и резервное питание
  • 07.05.2010 Монтаж наружного водопровода с защитой от замерзания своими руками
  • 28.04.2010 Настройка Samba, DLNA или домашний файловый сервер
  • 07.04.2010 Учет расхода газа или дальнейшее изучение взаимодействия с котлом Vaillant
  • 03.04.2010 Учет и контроль. Используем Open Flash Chart
  • 26.03.2010 Умный дом своими руками. Схема информационного обмена
  • 23.03.2010 Виртуальный датчик освещенности из камеры наблюдения
  • 13.02.2010 Видеонаблюдение через Интернет с записью архива
  • 27.01.2010 Как разморозить трубы водопровода
  • 15.09.2009 Кирпичный забор. Фундамент
  • 13.07.2009 Контур защитного заземления в частном доме
  • 02.07.2009 Подключение котла Vaillant atmoVIT к компьютеру
  • 22.06.2009 Лестница на металлическом каркасе. Опыт шумоизоляции
  • 04.04.2009 Управление водоочисткой на базе ключа DS2406P
  • 04.04.2009 Учет электроэнергии, считывание информации со счетчика Меркурий 230, протокол счетчика
  • 14.12.2008 Наложение даты и времени на изображение
  • 03.12.2008 Синтез русской речи в Linux
  • 24.11.2008 JpGraph. Рисуем графики температуры
  • 24.11.2008 Разработка домашнего сайта
  • 24.11.2008 Бензиновый генератор (электростанция) в доме. Опыт эксплуатации
  • 24.11.2008 Стабилизатор напряжения для котельного оборудования
  • 24.11.2008 Приточная вентиляция в котельной или обратная тяга в вентканалах
  • 24.11.2008 Source routing в Linux
  • 24.11.2008 Настройка VPN-соединения в Linux
  • 24.11.2008 Настройка Debian Linux в качестве сервера для домашней автоматизации
  • 24.11.2008 Как построить септик. Канализация по-сельски
  • 24.11.2008 Газобетонные блоки. Недостатки материала или о чем молчат продавцы
  • 24.11.2008 Автоматизация системы отопления
  • 24.11.2008 Управление освещением. Исполнительный модуль на базе ключа DS2405P
  • 24.11.2008 Пакет owfs и использование температурных датчиков DS18B20
  • 24.11.2008 Микросети 1-wire
  • 22.11.2008 Настройка ZoneMinder на Debian Linux. Видеонаблюдение онлайн

Делаем контроллер для умного дома

В предыдущей статье я описывал разработку системы в целом. В этой я опишу разработку контроллера, который отвечает за опрос датчиков и модулей ввода-вывода. «Зачем изобретать велосипед?» — спросите вы. Во-первых, это интересно, во вторых, как ни странно, нет OpenSource решения для подобного контроллера, покрывающего как программную так и аппаратную часть. Статья ориентирована на людей немного разбирающихся как в электронике так и в embedded linux development.

Сделать контроллер, скажете вы, это же так сложно — нужно делать плату, писать софт, печатать корпус. Но в реалии всё чуть-чуть ещё сложнее, вот во что это вылилось для меня, но вы в принципе правы:

1. аппаратная часть контроллера

— выбор cpu платы для контроллера
— выбор IO контроллера
— выбор блока питания
— структурная схема контроллера
— разработка кросс платы для контроллера
— разработка плат для RS-485 модулей
— производство плат

2. софт для контроллера

— выбор системы сборки для ядра linux и rootfs
— структура разделов SD карты
— выбор бутлоадера и загрузка нужного rootfs
— изменения в device tree
— выбор системы сбора дебажных трейсов
— написание билдсистемы
— написание коммуникационного ядра
— написание mqtt гейтвея (дискретные/аналоговые точки контроллера -> топики mqtt)
— написание парсера гуглтаблицы и построение конфигурационного json файла для гейтвея
— написание point monitor для доступа к точкам контроллера
— монтирование readonly файловой системы

3. корпус контроллера

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

Пару слов о аппаратной части.

Наверно только самые отчаянные сейчас берут отдельно процессор, память, флеш, контроллер питания, еще пару сот компонентов и начинают лепить это всё вместе. Остальные же пользуются плодами трудов других людей, так быстрее и проще. Нужно всего лишь открыть браузер и написать «одноплатный компьютер» и весь остаток дня провести в выборе нужного. Мне нужно было много последовательных портов и желательно что бы плата поддерживала -40°C до +85°C, поэтому выбор пал на BeagleBone Black(BBB). Также на ВВВ вся периферия выведена на два разъёма PBD по 46 пинов с шагом 2.54, что удобно для макетирования и разработки кросс платы. Кросс плата нужна что бы объединить все компоненты на одной плате, у меня это — cpu плата, блок питания, IO контроллер, и платы каналов RS485. Также именно кросс плату нужно крепить к корпусу и на ней стоят разъемы для подключения питания и кабеля RS485.

Так, с cpu платой разобрались, следующее что надо решить — нужно ли на кросс плату ставить Input/Output(IO) контроллер или можно и без него. Я его заложил на плату, и успешно им пока не пользуюсь. Единственное что он делает это откладывает старт BBB на 1с после подачи питания и обслуживает кнопку reset.

Блок питания для контроллера я взял уже готовый MeanWell NSD10-12S5, разрабатывать его для единичного девайса — бессмысленная затея, просто подобрал его по потреблению и всё. На ЖКИ не обращайте внимание, он есть на плате, но поддержку я не реализовал.

Пару слов о платах каналов RS485.

На кросс плату выведены 4 последовательных интерфейса BBB. Так что туда можно поставить любой тип канала который нужно, RS485, CAN, Zigbee модуль…

Мне нужны были каналы RS485, так что я сделал только их, они с автоматическим управлением приемом/передачей и с гальванической развязкой. Почему не использовать управление приёмо-передачей с ВВВ, да потому что TI официально перестали поддерживать строб для RS485 в драйвере serial устройства. Можно найти патч к драйверу, можно дописать самому, но зачем? Сделав канал самостробирующий, можно его будет ставить на любую плату, например на RaspberyPi, где никогда и не было такой поддержки, если была, то поправьте меня. Строб для драйвера rs485 формируется на attiny10, дешево и сердито.

Возвращаемся к софту.

Выбор системы сборки для ядра linux и rootfs.

Существует несколько подобного рода систем, самые популярные это Yocto и BuildRoot. Ели вам нужно разработать большой проект, если у вас много времени и желания писать рецепты, то Yocto — ваш выбор. С помощью же BuildRoot, можно собрать всё что нужно для простого запуска платы очень и очень просто, т.к. я делаю систему на Beaglebone Black (далее ВВВ) то:

  1. почитать что написано здесь habr.com/ru/post/448638
  2. make clean
  3. make beaglebone_defconfig
  4. make

Выглядит всё очень просто и не интересно, так что можно сделать немного посложнее:

  1. интегрировать buildroot в свою билдсистему, скачивать его скриптом, не забыв использовать стабильный тэг, а не брать последний develop
  2. написать свой defconfig и перед сборкой buildroot подкидывать его скриптом в папку /buildroot/configs, не забываем что все дефконфиги должны заканчиваться на *_defconfig, иначе buildroot его не видит
  3. копировать свой post-build.sh в board/beaglebone/post-build.sh
  4. сделать prepare скрипт, который будет делать п1, п2 и п3 за вас

Выбор структуры разделов SD карты:

На этом, думаю, не стоит много акцентировать внимание.
Я сделал 4 раздела BOOT / ROOT_1 / ROOT_2 / DATA.
В BOOT разделе хранится всё необходимое для начальной загрузки: MLO, barebox.bin, barebox.env, am335x-boneblack.dtb, zImage, boot.txt.

ROOT_1 и ROOT_2 содержат rootfs, выбор которого вписан в файле boot.txt(см. ниже). Все эти разделы монтируются как readonly во избежания крешев файловой системы при выключении питания. DATA содержит проектные конфиги, при изменении которых нет необходимости пересобирать код.

Такая структура разделов в будущем позволит легко написать software update компоненту. Эта компонента будет перезаписывать один из разделов ROOT_1/ROOT_2, который сейчас не используется, а потом просто менять файл boot.txt, если не нужно менять ядро.

У меня было много экспериментов с бутлоадерами для BBB. Сначала я использовал, как все, U-Boot который генерирует BuildRoot. Но мне он не понравился, может быть, конечно, это дело привычки, но мне показалось что это перебор, уж очень он тяжелый и сложно конфигурируемый. Потом, я подумал что не плохо бы было стартануть систему быстро, секунды за 2-3, и подпилив X-Loader так что бы он грузил ядро, у меня это получилось, но опять же остался вопрос с конфигурированием, да и время старта для меня не критично(система на systemd грузится сама по себе медленно, даже если удалить всё не нужное).

В конце концов я остановился на barebox, его простота мне очень понравилась, плюс на сайте есть вся документация (www.barebox.org).

Например, что-бы грузить rootfs c первого или второго раздела нужно всего лишь:

1. на boot разделе сделать файл boot.txt который экспортит переменную типа «export BOOT_NUM=Х»

2. сделать два скрипта /env/boot/sdb1 /env/boot/sdb2 в которых описать параметры загрузки, например:

echo "botting with mmcblk0p2 as rootfs. " global.bootm.image=/boot/zImage global.bootm.oftree=/boot/am335x-boneblack.dtb global.linux.bootargs.console="console=ttyO0,115200" global.linux.bootargs.debug="earlyprintk ignore_loglevel" global.linux.bootargs.base="root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait"

3. сделать скрипт /env/boot/sd в котором в зависимости от BOOT_NUM стартовать sdb1 или sdb2 скрипт

4. установить переменную boot.default

nv boot.default=sd saveenv

5. далее меняя BOOT_NUM в boot.txt мы будем загружать rootfs с первого или второго раздела, что в будущем можно использовать для software update.

Изменения в device tree.

Поскольку для связи с модулями я использую MODBUS RTU по RS485, то мне нужно было включить практически все существующие на ВВВ последовательные порты. Для этого надо заэнэйблить их в device tree, т.к. по умолчанию большинство из них выключены.

Правильно бы было сделать свой патч для файла am335x-bone-common.dtsi из пакета билдрута и применять его каждый раз перед его сборкой, но лень победила, и я просто вытащил все нужные файлы, поменял всё что нужно и сбилдил руками.

Т.к. это делается один раз, то можно и так:

1. Создаем папку с файлами необходимые для сборки:

am335x-bone-common.dtsi am335x-boneblack-common.dtsi am335x-boneblack.dts am33xx-clocks.dtsi am33xx.dtsi am33xx.h gpio.h omap.h tps65217.dtsi

2. В файле am335x-bone-common.dtsi нужно правильно настроить пины и заэнейблить драйверы портов:

uart1_pins: pinmux_uart1_pins < pinctrl-single,pins = < AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) >; >; uart2_pins: pinmux_uart2_pins < pinctrl-single,pins = < AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE1) AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLDOWN | MUX_MODE1) >; >; uart4_pins: pinmux_uart4_pins < pinctrl-single,pins = < AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6) AM33XX_IOPAD(0x874, PIN_OUTPUT_PULLDOWN | MUX_MODE6) >; >; uart5_pins: pinmux_uart5_pins < pinctrl-single,pins = < AM33XX_IOPAD(0x8C4, PIN_INPUT_PULLUP | MUX_MODE4) AM33XX_IOPAD(0x8C0, PIN_OUTPUT_PULLDOWN | MUX_MODE4) >; >; &uart1 < pinctrl-names = "default"; pinctrl-0 = ; status = "okay"; >; &uart2 < pinctrl-names = "default"; pinctrl-0 = ; status = "okay"; >; &uart4 < pinctrl-names = "default"; pinctrl-0 = ; status = "okay"; >; &uart5 < pinctrl-names = "default"; pinctrl-0 = ; status = "okay"; >; 

3. Далее немного магии, и готовый файл am335x-boneblack.dtb лежит в этом же каталоге:

a. sudo apt-get install device-tree-compiler

b. запускаем препроцессор:

cpp -Wp,-MD,am335x-boneblack.dtb.d.pre.tmp -nostdinc -Iinclude -Isrc -Itestcase-data -undef -D__DTS__ -x assembler-with-cpp -o am335x-boneblack.dtb.dts.tmp am335x-boneblack.dts

c. запускаем сам компилятор:

dtc -O dtb -o am335x-boneblack.dtb -b 0 -i src -d am335x-boneblack.dtb.d.dtc.tmp am335x-boneblack.dtb.dts.tmp

4. am335x-boneblack.dtb нужно положить на boot раздел рядом с ядром и в скрипте запуска для barebox добавить следующую строчку — » global.bootm.oftree=/boot/am335x-boneblack.dtb «

Выбор системы сбора дебажных трейсов.

Как известно систем без багов не бывает, как и анализа многопоточной системы без трейсов. Очень удобно если эти трейсы не выводятся просто в консоль, а собираются чем-то специально для этого созданным, да так что бы можно было сортировать их по процессам, применять фильтры и т.д. И я как раз знаю одну неплохую систему, которую легко собрать как под host так и под target. Это DLT, если вы никогда не слышали об этом, то это не беда, все пробелы в знаниях можно легко покрыть прочитав at.projects.genivi.org/wiki/display/PROJ/Diagnostic+Log+and+Trace.
Данная система состоит из dlt-daemon и dlt-viewer. Как и понятно из названия dlt-daemon запускается на таргете, а dlt-viewer на хосте. Плюс к этому всему, к своему бинарнику, с которого мы хотим собирать трейсы, нужно прилинковать dlt либу.

В общем удобно всё, как собирать трейсы так и анализировать их, рекомендую.

Зачем писать билдсистему, ведь можно всё скачать с репозиториев, сбилдить руками, собрать на основе этого rootfs и вуалля, контроллер работает. Но повторить такой трюк через месяц будет сложнее, а через два — так вообще невозможно. Опять придётся вспоминать что, куда положить, что сбилдить и как запустить. Поэтому потратив немало времени сначала, вы экономите его потом, плюс вы получаете возможность удобно билдить под host и target. Билдсистема состоит из набора скриптов, которые сначала подготавливают host для билда, скачивают сторонние компоненты, такие как buildroot, mosquitto, DLT daemon, с их репозиториев, билдят их, раскладывают по своим местам. А уж потом можно запускать билд вашего проекта. Если билд под host, сделать не сложно, то с билдом под таргет всегда нужно повозиться, и лучше что бы это делал скрипт.

Buildroot можно сконфигурировать так что бы он вызывал post-build скрипт после того как он сформирует rootfs, которая будет лежать в buildroot/output/target. Это даёт отличную возможность вам положить туда всё то, что вам нужно. И тогда, образ файловой системы уже будет содержать всё необходимое для запуска вашей системы.

Рецепт примерно такой:

  1. надо скопировать свои бинарники куда-то в buildroot/output/target, например в /opt/bin
  2. если есть конфиги, то с ними сделать то же самое, только в /opt/etc
  3. скопировать сторонние бинарники, для меня это mosquitto, DLT daemon, их либы и конфиги
  4. Что бы при загрузке контроллера система стартанула сама — нужно скопировать ваши systemd сервисы, лучше их объединить в свой target и заэнэйблить его сделав симлинку в multi-user.
  5. скопировать модифицированный fstab(зачем, расскажу позже)
build git repo: https://github.com/azhigaylo/build

Написание коммуникационного ядра.

Концепция этого стара как сам modbus.

У каждого устройства ввода-вывода в modbus сети есть регистры(16 bit), доступные на чтение, чтение/запись, в которых хранятся данные и через которые идет управление этими устройствами. У контроллера, в свою очередь, есть массивы дискретных(статус и byte значение) и аналоговых точек(статус и float значение), в которых он и хранит состояние всех параметров.

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

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

Также я решил разделить логические устройства на две группы:

  1. Стандартные (модули Овен дискретного ввода/вывода), для которых заранее известны номера modbus регистров с данными, и достаточно только определить точки контроллера куда сохранить эти данные.
  2. Пользовательские устройства, для них надо самостоятельно описывать маппинг modbus регистров на точки контроллера.

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

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

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

core git repo: https://github.com/azhigaylo/homebrain_core

Написание mqtt гейтвея.

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

Т.к. параметров у меня довольно много, то постоянно возникали путаницы в файле конфигурации гейтвея, где был прописан маппинг точек контроллера на mqtt топики гейтвея. Помогла гугл таблица, и написание csv парсера этой таблицы в конфигурационный json файл для гейтвея.

Написание point monitor.

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

pointmonitor git repo: https://github.com/azhigaylo/pointmonitor

Монтирование readonly файловой системы.

Обычно этому мало кто уделяет внимание, и даже в продакшен проектах можно встретить устройства в которых партишен с rootfs доступен на запись. Это рано или поздно приводит к крешу любой, даже самой устойчивой файловой системы. Т.к. контроллер может быть выключен в любой время, то это лишь вопрос времени/случая когда это произойдет. Что бы минимизировать эту вероятность надо немного повозиться с fstab и перед сборкой образа rootfs, положить его туда, как было описано выше. В fstab, во-первых, надо примонтировать файловую систему как readonly а во вторых всё что может меняться замапить в tmpfs.

Мой fstab таков, у вас он может отличатся:

/dev/root / auto ro 0 1 tmpfs /tmp tmpfs nodev,nosuid,size=50M 0 0 tmpfs /srv tmpfs nodev,size=50M 0 0 tmpfs /var/log tmpfs defaults,noatime,size=50M 0 0 tmpfs /var/tmp tmpfs defaults,noatime,size=50M 0 0 tmpfs /var/run tmpfs defaults,noatime,size=50M 0 0 tmpfs /var/lib tmpfs defaults,noatime,size=10M 0 0

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

Рисуем в FreeCAD, генерим gcode в Cura и получаем корпус, не забыв сделать посадочные места под плату, вырезы под разъёмы и охлаждение и закладные для клипс на din рейку.

Ну вот и всё, теперь у нас есть плата, софт на SD карте и корпус. Берем напильник(не шучу) и соединяем всё вместе, подключаем питание, кабели RS485 и всё начинает работать. А вы говорили сложно, сложно…

Как настроить Умный дом своими руками за полчаса

Система интеллектуального программирования «умный дом» — это комплексное многофункциональное решение, объединяющее все подсистемы в единую сеть для управления жильем с одной панели или цифрового устройства. Для создания надежной, удобной и простой в освоении системы требуется грамотный подбор оборудования, опытные инженеры и проектировщики, разработка специального программного обеспечения. Но весь этот арсенал легко заменяют готовые решения для «умного дома».

Как настроить Умный дом своими руками за полчаса

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

«Умный дом» своими руками за полчаса

  • 1 «Умный дом» своими руками за полчаса
  • 2 Схема «умного дома» своими руками
  • 3 С чего начать при проектировании «Умного дома»
  • 4 Чем вы планируете управлять
  • 5 Как вы планируете управлять «умным домом»
  • 6 Системы «умный дом»: готовые решения, самостоятельная установка

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

Как настроить Умный дом своими руками за полчаса

«Умный дом» можно устроить своими руками за 30 минут — без разработки проекта, вызова монтажников, штробления стен, протягивании паутины из кабелей. Наличие беспроводных устройств не требует технических навыков. Если вы в силах справиться с вкручиванием лампочки и другими простейшими операциями, то сможете разобраться с установкой интеллектуального механизма.

Вам понадобится отвертка и смартфон. Установите приложение из App Store или Google Play, зарегистрируйтесь и подключите контроллер (хаб). Должна быть розетка и выход в интернет (сим-карта с тарифом для «умных» устройств). Добавление хаба происходит путем ввода серийного номера в приложении. Вводите название помещения и включаете push-уведомления для отправления сигналов о всех событиях на смартфон.

На следующем этапе требуется подключить датчики и другие приборы к хабу. Для этого на вкладке «Устройства» путем нажатия на значок «+» добавляете нужные вам позиции. Чтобы правильно сделать подключения, ознакомьтесь с пошаговой инструкцией. Для активации устройства требуется извлечь пленку батарейки, оно включится и передаст сигнал об этом в приложение. При получении оповещения нужно будет ввести название, например, «Освещение в спальне», чтобы потом пользователю было удобнее распознавать сигналы.

Когда датчики и приборы будут подключены, их нужно будет установить. Понадобятся саморезы и двухсторонний скотч. Действия будут описаны в разделе «Примеры». Управление можно осуществлять вручную или установить авторежим. Для этого разработаны сценарии. К примеру, объединив несколько устройств в группе, можно создать сценарий «Меня нет дома». При включении этого сценария «умный дом» активизирует охрану, минимальную температуру, отключит свет и т.д.

Схема «умного дома» своими руками

Перед проектированием домашней автоматики необходимо определиться со схемой.

Они могут быть нескольких типов:

  • Проводные системы;
  • Беспроводные системы;
  • Централизованные системы управления.

Возможности у каждой из систем разные, есть достоинства и недостатки.

Как настроить Умный дом своими руками за полчаса

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

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

  • Монтаж производится своими руками — и это главный плюс.
  • Расширение сети не вызывает сложностей.
  • Один из недостатков — ограниченный доступ работы — решается путем установки дополнительных ретрансляторов радиосигнала.
  • Перегородки и стены здания могут служить помехой для Wi-Fi, но это исправляется установкой репитеров.
  • Не исключены программные конфликты в работе оборудования, поэтому компоненты системы следует подбирать очень осторожно.

Централизованная система работает посредством логического модуля — собственного «мозга» (софта), который собирает информацию со всех источников и анализирует ее. После система отдает исполнительные команды элементам.

С чего начать при проектировании «Умного дома»

Наличие поэтапного плана позволит оценить объем предстоящих работ, поэтому начинать процесс создания «умного дома» нужно с разработки сценария. Для полноценной работы беспроводной системы требуется электричество. Автономные источники питания могут быть дубликатами электропроводки, но все равно не заменят ее. Оцените состояние электрификации в доме и по необходимости произведите монтаж в нужном месте.

Как настроить Умный дом своими руками за полчаса

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

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

Чем вы планируете управлять

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

Как настроить Умный дом своими руками за полчаса

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

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

Как вы планируете управлять «умным домом»

Если планируете автоматизировать освещение, используйте «умные» лампочки или розетки. Помимо удобств, этот функционал позволяет включать/выключать освещение, настраивать режимы при удаленном доступе. В большинстве случаев при создании «умного дома» своими силами освещение настраивается так, чтобы свет включался в период присутствия жильцов в доме. Удобной вещью является датчик движения, который реагирует на шаги и включает в это время свет, при тишине — отключает.

Как настроить Умный дом своими руками за полчаса

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

Включить в состав «умного дома» можно также системы вентиляции и кондиционирования. Причем управление распространяется и на окна: в случае необходимости они автоматически перестроятся на режим проветривания.

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

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

Системы «умный дом»: готовые решения, самостоятельная установка

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

Как настроить Умный дом своими руками за полчаса

Самыми популярными готовыми сценариями являются следующие:

  • Автоматизация закрытия/открытия штор или жалюзи;
  • Автоматическая система освещения;
  • Регулирование и управление потребления электричества;
  • Установка систем вентиляции и электроотопления;
  • Автоматизация водонагревательной системы;
  • Удаленное управление домашними электроприборами;
  • Охранная система.

Все элементы подсистемы управляются через единый интерфейс. Подключить новое оборудование для системы умный дом своими руками с помощью специалистов Амперика не составит труда!

«Умный дом» — это не будущее, а настоящее. Максимально автоматизированное жилье обладает высоким уровнем безопасности и повышенным комфортом. И еще одно преимущество заключается в существенной экономии природных ресурсов.

Умный дом своими руками: проще, чем кажется

Как? Чтобы создать систему умного дома своими руками, не обязательно иметь инженерное образование и хорошо разбираться в электронике. Простые решения вполне доступны любому, кто дружит со смартфоном и компьютером.

Что нужно? Компоненты умного дома различаются в зависимости от того, что вы хотите автоматизировать. Умные лампочки, управляемые шторы, системы защиты от протечек, управление кондиционером – всё это и многое другое можно интегрировать в систему.

Из этого материала вы узнаете:

  • Что собой представляет умный дом
  • Основные элементы системы умного дома
  • Популярные готовые решения для системы умного дома
  • Что нужно для создания системы умного дома своими руками
  • Датчики для системы умного дома
  • Принципы коммутации элементов умного дома в единую систему
  • Полезные советы по созданию умного дома своими руками

Что собой представляет умный дом

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

Можно вспомнить умное освещение. Его можно сделать даже без замены самих светильников, установив только лампочки с поддержкой технологии Wi-Fi или иного протокола беспроводной связи. Далее можно при помощи смартфона включать и выключать лампы по расписанию, управлять отдельными группами, даже находясь вне дома.

Основные задачи, которые обеспечивает система умного дома, следующие:

  • Управление освещением. Лампы включаются, когда кто-то заходит в дом, либо по расписанию, по команде со смартфона. Аналогичным образом происходит и выключение. Горящий в квартире свет создает иллюзию присутствия жильцов, что поможет защитить дом от посягательств.
  • Безопасность. Можно обнаруживать не только проникновение в дом посторонних лиц, но и утечку газа, воды. В этих случаях владельцу отправляется уведомление на смартфон.
  • Комфорт. В автоматическом режиме могут включаться и выключаться кондиционеры, обогреватели, поддерживая постоянный микроклимат в помещении.
  • Экономия ресурсов. Приборы учета сообщают о расходе воды, электроэнергии, умные датчики выключают свет, прекращают подачу теплоносителя к радиаторам отопления в теплую погоду.

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

Основные элементы системы умного дома

Освещение

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

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

Несколько слов о ценах. Качественная умная лампочка стоит в среднем 1 500 рублей. На светильник с пятью плафонами понадобится, соответственно, 7 500 рублей. Умный выключатель обойдется значительно дешевле – 2 000 рублей на устройство и еще 1 500 рублей за работу электрика. Также потребуются переходники, поскольку реле рассчитано на коробку квадратной формы, а в России используются круглые. Цена переходников – от 300 до 700 рублей. Отметим также, что в целом выключатель оказывается надежнее и долговечнее, а лампочки придется менять всякий раз, когда они перегорят.

Получите бесплатно инструкцию по выбору подрядчика от Videoglaz:

Команда Videoglaz совместно с главным техническим экспертом компании подготовили файл, который поможет вам не ошибиться при выборе подрядчика для своего проекта.

“В самом начале работ часто возникает вопрос: Как быстро определить качество партнера или исполнителя по системам безопасности? Именно поэтому мы подготовили подробную инструкцию, в которой осветили основные пункты, благодаря которым вы сможете без проблем выбрать добросовестного подрядчика, сохранить бюджет и выполнить проект в срок.”

Скачивайте и используйте уже сегодня:

Валентин Белоусов

Валентин Белоусов
Руководитель отдела проектных решений

pdf иконка

10 шагов, которые помогут выбрать добросовестного подрядчика

Поможет сохранить бюджет и уложиться в сроки проекта

уже скачали

Уже скачали 11 507

Есть и третий вариант – установить в электрощиток беспроводное реле, при помощи которого можно будет также управлять освещением дистанционно. Соответствующие работы должны выполняться квалифицированным электриком.

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

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

Настройка температуры

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

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

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

В случае с обогревателем подойдет умная розетка. Принцип работы системы в этом случае довольно прост. При падении температуры в помещении ниже 20 градусов по Цельсию розетка включается, а с ней – и обогреватель. Если воздух нагревается до 25 градусов, то розетка выключается.

Обратите внимание! Мощность обогревателя должна соответствовать розетке.

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

Безопасность

Безопасность в системе умного дома обеспечивают устройства двух типов: приборы контроля несанкционированного доступа в помещение и приборы оповещения об аварийных ситуациях.

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

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

Совместимость и голосовое управление

При создании системы умного дома можно использовать оборудование одного бренда или совмещать устройства от разных производителей.

  • Первый вариант надежнее, так как позволяет не беспокоиться о совместимости.
  • Второй вариант дает возможность расширить функционал и управлять несколькими устройствами через одно приложение. Так можно сделать умный дом с Алисой своими руками и управлять не только лампочками от «Яндекса», но и приборами от Xiaomi.

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

Популярные готовые решения для системы умного дома

Умный дом от китайского производителя Xiaomi (Mi Home)

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

Топ-3 товара по теме:

8 472 ₽ 10 590 ₽

Недостатком можно считать существенные отличия в ассортименте для жителей Китая и для России – в последнем случае он гораздо уже. Если это не смущает, то Xiaomi – отличный способ быстро собрать умный дом своими руками.

Google Home и Google Assistant

GooglePlay Home – это беспроводная колонка с голосовым управлением, осуществляющая управление через сервис GooglePlay Assistant. Этот продукт вполне можно поставить в один ряд с Apple HomePod и устройствами от Xiaomi. Однако при подключении к этой системе оборудования часто проявляются проблемы совместимости, кроме того, могут возникать ошибки при распознавании русской речи. Эти причины – среди главных, по которым потребители в России охотнее покупают продукцию на базе голосового ассистента Алиса.

Вместе с тем GooglePlay Home без проблем интегрируется с большинством популярных сервисов для управления системами умного дома: Xiaomi, Eve, Sonoff, Tuya, Phillips, Rubetek.

Умный дом на базе Home Assistant

Home Assistant – еще одно популярное решение, позволяющее сделать умный дом своими руками в квартире. Данный ассистент является проектом с открытым исходным кодом на базе Python. Все управление осуществляется через облачный сервис, на нем же хранятся настройки и сценарии. Оптимальным вариантом является инсталляция ассистента на компьютер или ноутбук. Поддерживаются операционные системы Windows и Linux. Роль сервера также способен выполнять одноплатный Raspberry Pi.

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

Что нужно для создания системы умного дома своими руками

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

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

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

Для запуска шлюза необходимо просто вставить его в розетку. После включения выполняется соединение с Wi-Fi-сетью, через которое происходит связь с беспроводными датчиками и управление ими. Это позволяет интегрировать в умный дом устройства, которые сами по себе нельзя подключить через протокол TCP/IP и интернет.

Шлюз выполняет управление беспроводными датчиками через энергосберегающие протоколы, среди которых чаще других применяются ZigBee и Z-Wave. У пользователя может возникнуть вопрос: почему нельзя подключить смарт-устройства непосредственно к Wi-Fi? Ответ прост. В основном датчики питаются автономно от аккумуляторов, и при таком способе интеграции с Wi-Fi они быстро разряжаются.

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

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

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

При создании умного дома своими руками применяют следующие способы беспроводной интеграции:

  • Wi-Fi. Потребуется маршрутизатор. Если необходимо подключать большое количество устройств, то пропускная способность роутера должно быть высокой, иначе могут возникнуть сбои при срабатывании актуаторов.
  • Bluetooth. Используется Bluetooth-хаб, обеспечивающий интеграцию исполняющих устройств единую систему.
  • ZigBee ? требуется ZigBee-шлюз, через который выполняется связывание оборудования в общую экосистему. При покупке необходимо обращать внимание на поколение протокола. Новые стандарты могут работать со старыми, но не наоборот. Если шлюз поддерживает только ZigBee 3.0, а датчик – ZigBee 2.0, то связать их не удастся.
  • Z-Wave либо Z-Wave Plus – протокол, разработанный специально для систем умного дома. Отличается низким потреблением электроэнергии. В настоящее время распространен мало, но некоторые бренды отдают предпочтение именно ему. Для управления потребуется специальный контроллер.

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

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

Датчики для системы умного дома

Уделим внимание вариантам, которые наиболее доступны российскому потребителю.

Датчики движения

Эти гаджеты использовались еще задолго до появления систем умного дома. Они работают на основе инфракрасного сигнала или PIR-сенсоров. С их помощью улавливается инфракрасное излучение от окружающих объектов, когда они начинают двигаться внутри помещения. Радиус действия таких датчиков составляет 6-8 метров. Наибольшая зона охвата достигается при монтаже прибора под потолком в углу напротив входа в комнату.

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

Датчики открывания окон и дверей

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

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

Датчики протечки воды

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

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

Датчики задымления

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

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

Датчики утечки газа

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

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

Датчики температуры и влажности

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

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

Принципы коммутации элементов умного дома в единую систему

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

  1. Разместите датчики и актуаторы в тех местах, где они будут находиться. Обращайте внимание на выполняемые ими задачи. Например, датчик протечки должен стоять около стиральной машины, раковины, ванной, под трубами водоснабжения. Детектор движения, напротив, нужно размещать как можно выше, чтобы в зону его действия попадало все пространство комнаты.
  2. Если устройство питается от сети, включите его в розетку. Имейте в виду, что в продаже можно найти практически любое оборудование, работающее от съемного аккумулятора. Его использование позволит избежать прокладки проводов.
  3. Подключите устройства в специальном приложении. Инсталляцию можно произвести как на стационарный компьютер, так и на смартфон. В последнем случае удобнее управлять устройствами удаленно, вдали от дома. При отсутствии приборов в приложении целесообразно проверить, включен ли роутер Wi-Fi, работает ли шлюз ZigBee или Bluetooth. Помните, что умный дом с голосовым управлением, сделанный своими руками, обычно требует связи с интернетом, иначе функционал приборов может быть ограничен.
  4. Настройте параметры оборудования в приложении. Сделать это не так сложно, поскольку интерфейс программы разрабатывается с учетом возможной настройки неподготовленным пользователем. Для этого даются инструкции и подсказки.
  5. Задайте названия для каждого устройства в комнате. Это необходимо для удобства, чтобы не запутаться в настройках. Если приборов много, то имена лучше выбирать не похожие, чтобы не возникало ошибок при распознании голосовых команд. В частности, варианты « лампа» и « лампочка» – не самые удачные при их совместном использовании. Лучше выбрать « люстра в гостиной» и « бра на стене» , тогда ошибок будет меньше.
  6. Изучение голосовых команд. Если вы дошли при настройке до этого пункта интерфейса – поздравляем! Ваш умный дом настроен и готов к работе. Обычно есть возможность использовать не только предустановленные команды, но и записать собственные.

Умный дом может быть централизованным и децентрализованным. При первом варианте используется один общий контроллер, при втором в систему включается несколько управляющих устройств. В каждом случае есть свои плюсы и минусы.

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

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

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

  • Подходите к созданию такой системы со всей ответственностью, как к полноценному строительному проекту. Необходимо заранее представлять, какие задачи должна решать система автоматизации. Если вы еще не определились, попробуйте установить умное освещение. Так вы не только поймете, есть ли необходимость в смарт-системе, но и освоите многие тонкости настройки оборудования.
  • Учитывайте возможность подключения дополнительных устройств в будущем. Если пытаться автоматизировать всё подряд, то система обойдется в очень крупную сумму. Попробуйте начать с одной лампочки, с одной умной розетки, а далее уже добавлять те приборы, которые вам необходимы.
  • Избегайте спешки. Освоение системы умного дома требует некоторого времени. Начните с простых команд. Если они работают без сбоев, можно настроить более сложные. Если возникают проблемы, всегда можно обратиться к специалисту, который научит пользоваться умным домом и максимально задействовать все его возможности.
  • По возможности покупайте устройства одного производителя. Если этого нельзя сделать, смотрите на совместимость приборов между собой, на тип поддерживаемого интерфейса беспроводного соединения.
  • Избегайте дублирования функций. В противном случае не только возрастут расходы, но и могут возникнуть конфликты устройств. Например, при использовании умного выключателя нет необходимости в смарт-лампочках, вполне можно ограничиться обычными светильниками.
  • Умный дом – сложная система, к ней нужно привыкнуть и научиться пользоваться всеми возможностями системы, устранить возможные ошибки.
  • Проектирование умного дома очень похоже на ремонт. Заранее определитесь, на каком моменте следует остановиться, иначе можно столкнуться с непомерными расходами и нескончаемой настройкой нового оборудования, отнимающей уйму времени.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *