Домашний микросервер. Программное обеспечение. Умный дом.

Содержание:

  1. Для чего может быть нужен «Умный дом»?
  2. Методы реализации концепции «Умный дом»
  3. Проблемы, возникающие на пути
  4. Подбираемся к практической реализации
  5. Что в активе

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

Для чего может быть нужен «Умный дом»?

Концепция «умного дома» появилась не вчера и даже не позавчера. Автоматизированное и автоматическое управление домашним хозяйством зародилось в умах людей еще в конце XIX века, когда на смену настоящим лошадиным силам пришли стальные машины в массовом порядке. И именно тогда человек задумался, а ведь можно же объединить все приборы домашнего обихода в единую систему и управлять ими как тому душе захочется. Хочешь включай свет в душе на втором этаже выключателем в сарае, а хочешь включай систему обогрева просто звонком по телефонному номеру.

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

Ч. Чаплин в кинофильме Modern Times, 1936

Ч. Чаплин в кинофильме Modern Times, 1936

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

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

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

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

Методы реализации концепции «Умный дом»

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

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

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

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

Проблемы, возникающие на пути

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

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

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

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

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

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

Но тут появился свет в конце тоннеля. На свет таки появились и постепенно разрабатываются доступные стандарты. И если даже зайти на русскоязычную версию Википедии, то только там можно насчитать как минимум девять различных стандартов коммуникации. И это не считая фирменных стандартов. Разумеется, пройдет некоторое время, и производители так или иначе примкнут и усилят некоторые стандарты как, например, это произошло с форматами видеодисков (а были DVD, Video Disk, Blue Ray, HD DVD и прочие). Только вот упражняться они будут за счет потребителя (и всегда так было). И в случае ставки не на того жеребца, можно приплыть к некоторому диссонансу уже через пару лет, попытавшись добавить еще один датчик к системе.

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

В завершение этой сентенции, я хотел бы упомянуть еще об одной проблеме, про которую обычно забывают. По мере усложнении системы она становится все менее и менее надежной. Самая простая система, где присутствует только положительная или отрицательная обратная связь — наиболее надежная. Представьте связку из термостата и газового клапана. Чем выше температура, тем сильнее термостат закрывает газовый клапан понижая тем самым температуру. А если туже функцию поддержания заданной температуры возложить на неизмеримо более сложное устройство, например, на компьютер? UEFI, BIOS, микропроцессор, северный и южный мосты, оперативная память, дисковая подсистема, блок питания, операционная система, программа управления… Чем больше элементов, тем меньше надежность. Ведь даже в теории управления при дублировании систем контроля, при различии их показаний предпочтение отдается тому показанию, которое получено из более простой системы. А что будет если ваш супернавороченный умный дом просто зависнет где-нибудь посредине января?

Подбираемся к практической реализации

В процессе реализации проекта по микросерверу я долго размышлял, для каких целей я могу использовать концепцию «Умный дом» в приложении к своему дому. Эти размышления так или иначе приводили меня к решению, что централизованный умный дом мне не нужен. Система отопления замечательно регулируется промышленным контроллером отопительного котла с выносным блоком от Siemens. И делает он это замечательно. Простота контроллера не позволяет ему зависнуть в самый неудобный момент. И эта простота проверена годами. И даже когда вышел из строя один из температурных датчиков, отопление не пропало, хотя и работало по весьма чудному алгоритму. Что, впрочем, честно отображалось и на контроллере.

Следить за температурой в доме и управлять некоторыми устройствами мне помогает система Кситал. И в случае чего, это простая система, мне подаст соответствующий тревожный сигнал. Не о том, что у меня заклинил шаровой кран на управлении отопления, а о том, что в помещении под контролем опасно понизилась температура. И сообщит мне об этом в виде SMS-ки. Система работает несколько лет без сбоев. Что еще нужно?

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

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

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

И вот зачем портить надежно и стабильно работающую систему ради какой-то непонятной идеи? Зачем собственноручно понижать надежность системы, ошибка в которой приведет к весьма существенным затратам? Вот и мне показалось, что совсем незачем и лучше не нагружать микросервер функциями «Умного дома».

Что в активе

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

CCU.IO

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

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

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

CCU.IO взаимодействует с внешними системами, датчиками и исполнительными устройствами посредством драйверов. Мне удалось насчитать более тридцати драйверов для различных устройств, начиная от взаимодействия с базами данных MySQL и электронной почтой, и вплоть до управления умными лампами Phillips или подключения к ресиверам Onkyo. Среди поддерживаемого оборудования можно найти, разумеется, 1-Wire, HomeMatic и некоторые другие.

В целом CCU.IO — настоящий комбайн, который может делать почти все и работает на почти любом оборудовании, начиная с Windows и Linux и заканчивая различными одноплатными компьютерами.

Domoticz

А это уже чистая система, центральный контроллер, предназначенный для создания системы класса «Умный дом». Domoticz выпускается под эгидой Open Source, поэтому может модифицироваться и дорабатываться без особых затруднений, что очень важно когда первоначальному автору просто надоест ее поддерживать. Как и CCU.IO Domoticz работает на всем, начиная от Windows и Linux, и заканчивая всевозможными встраиваемыми устройствами.

Среди поддерживаемых устройств и протоколов я насчитал почти сорок наименований, хотя среди них встречались и такие редкости как Logitech Media Server или SolarEdge Inverter. Тем не менее, найти то с чем можно спарить Domotics можно без особого труда.

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

В целом, система сформирована весьма цельной и достойна тщательного с ней знакомства. Я даже установил ее на один из своих NAS-ов и мониторил его температуру на протяжении полугода. Тольку от этого никакого не последовало.

Jarvis

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

MajorDoMo

Еще один конструктор для создания контроллера умного дома, но уже от русскоязычных разработчиков. Система реализована на языке PHP, но допускает свою доработку, вернее доработку внутренней логики, на языке визуального построителя, JavaScript, Dart, Python или XML. Хотя, как разрабатывать логику на XML, лично мне не очень понятно.

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

Оборудование

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

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

Специалисты Z-Wave.me предлагают великое множество устройств для автоматизации домашнего дома. Разумеется, вся их продукция совместима с протоколом Z-Wave и может применяться в умных домах, построенных на указанной платформе. У ребят встречаются и настоящие редкости, например, адаптер для считывания оборотов вращения с механического счетчика электроэнергии. Что уже не мало, особенно в плане апгрейда существующей системы электропитания.

Итоги

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

Получен ли какой-то зримый экономический эффект, если сравнить самосборный микросервер с готовыми комплектами? С одной стороны — да, оборудование и программы обошлись в вчетверо меньшую сумму, чем соразмерный по производительности «готовый» NAS или сервер. С другой, пришлось потратить изрядно времени на установку и настройку всего этого добра. А время ресурс ой какой дорогой.

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

Собственно, на этом это все!

 

Ссылки на другие части:
Домашний микросервер. Идея.
Домашний микросервер. Аппаратное обеспечение. Сервер.
Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu.
Домашний микросервер. Программное обеспечение. Основные и системные программы под Ubuntu.
Домашний микросервер. Программное обеспечение. Скачиваем торренты.
Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.
Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39.

Домашний микросервер. Программное обеспечение. Видеонаблюдение на основе IP-камер и Xeoma.
Домашний микросервер. Программное обеспечение. Шифруем конфиденциальную информацию в Ubuntu при помощи eCryptfs и хранением ключей в TPM.
Домашний микросервер. Программное обеспечение. Умный дом.



Домашний микросервер. Программное обеспечение. Умный дом.: 8 комментариев

  1. Уведомление: Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA. | Многобукфф

  2. Уведомление: Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu. | Многобукфф

  3. Уведомление: Домашний микросервер. Аппаратное обеспе́чение. Сервер. | Многобукфф

  4. Дадада

    "Для чего может быть нужен «Умный дом»?"
    Попонтоваться перед друзьями.

    1. Аноним

      очень зря так думаете. знаю конкретное применение: человек поставил в частныйдом автоматический электрокотел со своей системой управления, но ее встроенные функции оказались сильно ограничены. Пришлось запустить систему УМНЫЙ ДОМ - переподключил этот автоматический котел на УМНЫЙ ДОМ, завел туда кучу датчиков (своя система управления электрокотла столько датчиков не поддерживала) и теперь очень доволен. Сам постоянно "допиливает" алгоритм работы этого умного дома.

    2. A

      очень зря так думаете. знаю конкретное применение: человек поставил в частныйдом автоматический электрокотел со своей системой управления, но ее встроенные функции оказались сильно ограничены. Пришлось запустить систему УМНЫЙ ДОМ - переподключил этот автоматический котел на УМНЫЙ ДОМ, завел туда кучу датчиков (своя система управления электрокотла столько датчиков не поддерживала) и теперь очень доволен. Сам постоянно "допиливает" алгоритм работы этого умного дома.

      1. kvv Автор записи

        Тут вопрос - какие дополнительные функции человек получил и действительно ли они ему нужны? На своем примере могу сказать, что котел выполняет две функции:
        а. Греет помещения в зависимости от температуры датчика в помещении и уличного датчика.
        б. Греет бойлер, в зависимости от температуры воды в бойлере.

        Дополнительные функции:
        1. Дистанционное включение/отключение. - используется.
        2. Программирование по дням недели режима ожидания. - не используется, т.к. есть пункт 1.

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

  5. Антон

    Добрый день,
    Использую для доступа к камере на даче и датчикам "умного дома" из Интернета вот такой способ — https://vpnki.ru
    У меня это единственный вариант, потому что белого IP нет, а соединение снаружи закрыто провайдером, хоть ddns и работает, но толку никакого
    Насчет скорости не проверял, но мою камеру нормально показывает на смартфоне. Возможно этот способ доступа заинтересует тех, кто внедряет у себя "умный дом".

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