Умный дом на основе Raspberry Pi в роли управляющих компьютеров, свободное программное обеспечение на всех уровнях, и всё это своими руками при минимальных финансовых вложениях |
Мода на словосочетание Smart House медленно, но верно усиливается. Мощность компьютеров в последние годы практически не растёт (и слава всем богам), зато стремительно уменьшаются их размеры; что до цен, то они падают не только на компьютеры, но и на всю доступную электронику. Электронные устройства становятся всё разнообразнее, всё интереснее и всё дешевле; чудеса домашней автоматизации десять лет назад были доступны только миллионерам, но те времена стремительно канули в Лету. А самое главное — сейчас нет никаких проблем создать систему умного дома самостоятельно.
Но всё-таки, почему своими руками?
Причины, по которым можно решить самому взяться за отвёртку, довольно разнообразны, но несколько основных мы всё-таки приведём. Итак, во-первых, это дешевле. На рынке имеется множество готовых систем для умного дома и довольно широкий выбор услуг по индивидуальной разработке; вам могут предложить различные варианты всяческих улучшений, применимых в вашей квартире или доме, потом привезти полный набор готовых деталей, за один день их все установить, настроить и торжественно вручить вам пульт управления. Обойдётся такое счастье в сумму от 50 тыс. рублей, но реально лучше на этот «полтинник» не закладываться. Система, которая оставит вас мало-мальски довольным, в таком режиме обойдётся вам тысяч в сто, а то и дороже, особенно если ваше жильё имеет более-менее просторные размеры. Если делать всё своими руками, осмысленные вложения начинаются приблизительно с сакраментальных «ста баксов»; верхней планки, естественно, не установлено, точнее вы её установите сами.
Во-вторых, это интереснее. Реальность такова, что большинство пользователей систем умного дома — это фанаты техники. Человек, которому техника как явление более-менее безразлична, вполне удовольствуется обычным выключателем на стене, чтобы включать и выключать свет; ему вполне хватит обыкновенного ИК-пульта, чтобы менять громкость и переключать каналы телевизора; он решительно не поймёт, зачем надо перекидывать воспроизведение музыкального диска или фильма из одной комнаты в другую, если можно, во-первых, никуда не ходить, в крайнем случае поставить воспроизведение на паузу, а уж если очень надо, то утащить воспроизводящее устройство с собой. Технофобам и примкнувшим к ним равнодушным гражданам умный дом попросту не интересен. Остаются лишь истинные ценители, но для большинства из них самостоятельное создание системы — это отдельная порция удовольствия, плюс лишний повод для гордости по окончании работ.
В-третьих, это удобнее. Система, которую вы сделаете для себя сами, будет делать то, что нужно вам, а не то, до чего смог додуматься разработчик. Одинаковых людей в мире нет, у всех имеются различные потребности, вкусы и приоритеты. Никто не может знать, что вам нужно, лучше вас самих. Сделав систему для себя, вы практически неизбежно спроектируете её под себя, она будет лично ваша.
Наконец, как ни странно, это безопаснее, в особенности если вы предполагаете те или иные функции охраны и оповещения. Стандартные решения плохи стандартными же способами их обхода, и с этим ничего не поделать. Любительская охранная система может уступать профессиональной в качестве и надёжности исполнения, но у неё всегда есть одно неоспоримое преимущество: злоумышленник а приори не знаком с её устройством. Кроме того, система умного дома играет в жизни её владельца слишком заметную роль, чтобы можно было доверить её управление кому попало. А ведь общеизвестно, что запуская на своём компьютере чужую программу, вы передаёте автору программы управление своим компьютером. Конечно, если вы не программист, то такой передачи управления не избежать, да и профессиональные программисты вынуждены постоянно пользоваться программами, которые написал кто-то другой: чтобы написать все нужные программы самому, не хватит не только человеческой жизни, но и сотни таковых. Однако определённая разборчивость в этом деле не повредит, и в этом плане очевидно преимущество свободного программного обеспечения: пишущие его программисты изначально предполагают, что их исходный код будет доступен широкой публике, так что вероятность появления там вредоносных вставок изрядно ниже (хотя, увы, не нулевая). В современных условиях при самостоятельном создании системы умного дома можно обойтись свободным софтом на всех уровнях, от операционной системы управляющего компьютера до прошивок микроконтроллеров в исполнительных устройствах.
Выбор управляющего компьютера
Прежде всего отметим, что управляющий компьютер должен быть постоянно включён, что делает несколько накладным использование для этой цели компьютеров общего назначения (обычных настольных «гробов») и ноутбуков: итоговые счета за электричество могут вас неприятно удивить. С другой стороны, желательно, чтобы управляющий компьютер занимал как можно меньше места.
Впрочем, всё это не догма, а на вкус и цвет все фломастеры разные: вот, например, статья Лео Каганова о Настоящем Домашнем Сервере, рекомендуем к прочтению :)
Третий параметр, влияющий на выбор управляющего компьютера, может показаться совершенно неожиданным. По большому счёту, мы бы вообще не стали его озвучивать, если бы компьютер, на который мы нацелились, уже не обладал соответствующими возможностями. Итак, допустим, что ваша задумка системы умного дома предполагает пресловутые функции мультирум (multiroom), то есть вы хотите через неё управлять воспроизведением аудио и видео, причём желательно, например, чтобы воспроизведение следовало за вами из комнаты в комнату. Классические решения на эту тему предполагают физическую коммутацию, то есть воспроизводящее оборудование сосредотачивается в одном месте, а кабели от него разбегаются по всему дому к телевизионным экранам и усилителям с колонками. Такое решение требует специального оборудования, которое, во-первых, дорого стоит, и, во-вторых, может не обеспечивать нужной вам гибкости (например, вряд ли вам удастся легко интегрировать такое оборудование с датчиками движения и открывания дверей для автоматического отслеживания вашего местонахождения). Гораздо проще, дешевле и универсальнее оказывается вариант, при котором в каждом из помещений имеется своё устройство воспроизведения, способное получать контент из центрального хранилища и достаточно гибкое в управлении; последнее требование явно намекает на применение в этом качестве компьютера. Конечно, качества HiEnd так не достичь, но multirum в любом случае обычно предполагает приличное, но не запредельное качество воспроизведения. Итак, наше последнее требование к управляющему компьютеру — наличие у него медийных возможностей приличного качества.
Всем этим требованиям прекрасно удовлетворяет Raspberry Pi. Это дешевый одноплатный компьютер размером с пачку сигарет, при напряжении питания 5 вольт потребляет меньше одного ампера, имеет разъём Ethernet, два разъёма USB, но самое интересное, что эта машинка, несмотря на свои размеры, имеет достаточно неплохую звуковую карту с выводом на «пальчиковый» штекер и видеопорты HDMI (!) и «композитный» (в просторечии "тюльпан"). В целом Raspberry Pi вполне адекватно справляется с ролью медиаплеера (см., например, эту статью).
Для Raspberry Pi существует несколько дистрибутивов Linux и FreeBSD, состоящих целиком из свободных программ; подробную инструкцию по инсталляции можно найти здесь.
Выбор исполнительных устройств
Конечно, пословицу про кулика и болото никто не отменял, но, тем не менее, устройства серий UNC001 и UNC01x обладают рядом полезных свойств. Прежде всего, эти устройства изначально разработаны в расчёте на использование в самодельных системах. Для монтажа схем с их использованием требуется только отвёртка для затягивания клеммников и нож для зачистки проводов, паять ничего не надо. Для управления используется обычный порт USB, причём наши устройства с точки зрения протокола USB относятся к классу HID, так что во всех современных операционных системах для них не требуется никаких драйверов — драйверы для HID обычно уже есть. Устройство обладают достаточно широкими возможностями, в том числе для автономной работы, но если вы не планируете эти возможности задействовать, то и разбираться с ними вам не придётся.
Вторым немаловажным фактором является стоимость. Устройства серий UNC001 и UNC01x сравнительно дёшевы — чтобы убедиться в этом, попробуйте найти у российских продавцов устройства, аналогичные по функционалу, за меньшие деньги. Кстати, если это вам удастся, то обязательно сообщите нам :)
Кроме своей основной функции — управления электричеством с помощью реле — наши устройства имеют ряд дополнительных возможностей, например, могут обслуживать входные линии и выступать контроллером шины 1-Wire, что позволяет, к примеру, работать с домофонными ключами-«таблетками» и датчиками температуры.
Наконец, выше мы уже отмечали важность использования свободного программного обеспечения в системах умного дома. Всё программное обеспечение, включая прошивку микроконтроллера устройств, является свободно распространяемым и доступно в исходных текстах.
Пример системы на основе Raspberry Pi и UNC01x описан в статье Умная дача на UNC01x.