Архитектура умного дома — с Black Swift и не только
Привет, Хабр!
Если раньше мы смотрели на проекты «умного дома» с интересом, но несколько со стороны, то сейчас, после выхода Black Swift в публичное поле, нам самим стали приходить вопросы и предложения по использованию его в качестве базы для «умного дома» — и естественно, я не мог не уделить отдельное внимание этой теме.
Результат меня расстроил, и я хотел бы поговорить об этом.
Проекты «умного дома» сейчас рождаются (и умирают) как грибы — но, к сожалению, в большинстве случаев они обусловлены не осознанием недостатков уже существующих решений, а самим фактом наличия технологических платформ, на которых что-то такое можно построить. Это хорошо видно по Хабру: по мере популяризации того или иного решения проходит волна очередных «беспроводных розеток» на нём. Так было с NRF24LE1, сейчас такая же волна идёт с ESP8266. Некоторые многообещающие проекты за свою жизнь успевают поменять по две-три платформы — в зависимости от текущей моды и наличия под рукой кого-нибудь, кто может на одной из них что-нибудь спаять.
Всё это часто слишком похоже на поиск потерянных ключей там, где светлее, а также забивание шурупов молотком просто потому, что под рукой оказались молоток и шурупы одновременно.
Я пока не буду трогать какие-то серьёзные проблемы «умных домов», а поговорю о том, почему и какие технологии стоит рассматривать в качестве основы — чтобы не объяснять в комментариях в пятидесятый раз, почему я не считаю встраивание Wi-Fi в каждую розетку ни необходимым, ни разумным решением.
Ах да, чуть не забыл КДПВ. Вот:
Она не про «умный дом», а про то, что Black Swift можно найти на MWC на стенде Imagination Technologies. А теперь давайте про «умный дом».
Естественным стремлением человека, впервые в жизни увидевшего Black Swift, EL-M150, ESP8266 или иное подобное решение, является засунуть его всюду. Ведь, казалось бы, что проще — раз в любом смартфоне есть Wi-Fi, то подключив в доме все лампочки, розетки и выключатели к Wi-Fi, мы получим тот самый «умный дом», который для многих выглядит как смартфонное приложение, позволяющее мигать лампочкой в люстре. Примерно та же судьба постигает и Bluetooth-модули, хотя и с меньшей частотой.
Получается вот такая примерно схема:
Однако быстро становится очевидно, что она не решает задачу создания «умного дома», потому что у всего этого набора устройств нет объединяющего элемента — они просто получили доступ в сеть. К сожалению, пользователю почему-то не хочется запоминать IP-адреса всех двадцати трёх лампочек в своей квартире, а уж что делать в этой сети пультам — и вовсе непонятно.
Технически можно построить распределённую систему, в которой устройства сами будут обнаруживать друг друга и узнавать о состоянии и возможностях друг друга, а смартфонное приложение будет точно так же само доставать из сети информацию о всех доступных в данный момент устройствах и показывать их в красивом интерфейсе. Заманчиво, гибко, но сложно — особенно если начинаются вопросы о том, что неплохо бы иметь ещё и доступ снаружи, и браузерный веб-интерфейс…
Поэтому в системе естественным образом появляется центральный контроллер, на котором регистрируются все имеющиеся устройства, а он уже обеспечивает и веб-интерфейс, и сценарии, и передачу команд между устройствами, и женщин с азартными играми:
Стоп! Но ведь Wi-Fi мы использовали для того, чтобы в один шаг вывести все устройства в доступную и понятную нам среду передачи данных — а в этой схеме уже больше одного шага, ибо доступ в Wi-Fi розетки и чайника не играет больше роли ни для кого, кроме центрального контроллера. То есть, Wi-Fi начинает утрачивать своё главное преимущество.
При этом у Wi-Fi остаются довольно серьёзные недостатки:
- Энергопотребление. Чтобы обеспечивать быструю реакцию, устройство всегда должно быть подключено к сети. У того же ESP8266 это означает потребляемую мощность около 0,3 мВт — значит, на батарейке АА с её ~1750 мВт*ч в идеальных условиях удастся получить 8 месяцев работы. В реальности — не больше 6 месяцев, так как между батарейкой и чипом ещё стоит DC-DC с КПД порядка 85 %, собственно в моменты передачи данных чип потребляет намного больше, и так далее. Поверьте мне, вы не хотите каждые полгода менять батарейки по всему дому. Более того, даже AA делает устройство уже довольно громоздким — если вы хотите, например, плоский выключатель, который можно приклеить в любом месте на стену или мебель, вам нужны CR2032 или, максимум, CR2450. Менять вы их будете раз в два-три месяца. Альтернатива — уводить ESP8266 в глубокий сон, но тогда реакция на касание выключателя будет идти с опозданием до секунды (да, он быстро подключается к сети, но не настолько быстро, чтобы это не было легко заметно невооружённым глазом).
- Дальность. Wi-Fi достаточно неплохо глушится стенами даже в диапазоне 2,4 ГГц, а в стенной розетке у вас антенна будет не просто установлена внутри стены, а ещё и прикрыта сверху стальной рамкой розеточного блока. В углах дома, где приём сети слабый, розетки могут её просто не увидеть. И это — не трогая вопроса масштабируемости: почему-то авторы большинства «умных домов» ограничивают свою фантазию квартирой, не думая о том, что подобные технологии могут быть востребованы в масштабах зданий. Вы когда-нибудь пытались поймать Wi-Fi под дверью гостиничного номера, потому что больше нигде он в номере не ловится? Я — неоднократно. Поэтому в проект такого «умного дома» придётся заложить ещё обеспечение стабильного покрытия Wi-Fi по всему зданию.
- Помехозащищённость. Диапазон 2,4 ГГц не просто подзабит точками доступа — он прекрасно глушится микроволновками, работающими на 2,45 ГГц. Слабый приём сети в этом углу дома и микроволновка за стеной у соседей — и всё, периодически ваши розетки пропадают.
- Масштабируемость. Вообще, когда я произношу это слово, я обычно имею в виду переход от масштаба квартиры к коттеджу и далее к большим зданиям, но в случае с Wi-Fi всё проще — он плохо масштабируется даже в пределах квартиры. Полноценный «умный дом» масштаба обычной 2-3-комнатной квартиры подразумевает полтора-два десятка устройств, пользующихся сетью — так вот, типичный домашний роутер при таком количестве клиентов, одновременно ломанувшихся к нему за сетью, ложится лапками кверху: либо совсем уходит в астрал, либо успевает выдать сеть первому десятку. То есть, в момент включения в квартире электричества ваш «умный дом» попросту устроит DDOS-атаку на ваш роутер.
В общем, можно продолжать, но и так уже достаточно очевидно, что Wi-Fi в такой схеме становится странным выбором для внутрисистемной коммуникации. И все они, в общем-то, растут из того, что Wi-Fi — сеть, рассчитанная на постоянное присутствие в ней устройств и большие объёмы передаваемых данных. Она никогда и никем не проектировалась с учётом особенностей работы выключателя света, которому надо десять раз в день передать по три байта.
При этом нельзя сказать, что других радиочастотных решений нет — во-первых, не столь давно пришла и прошла мода на NRF24LE1, работающие в диапазоне 2,4 ГГц. Сразу скажу, что мы их пробовали в обсуждаемой роли и практически мгновенно разочаровались — дальность стабильной связи в реальных условиях у них прискорбна. Во-вторых, есть попросту куча классики на диапазоны 433,92 и 868 МГц — те же TI CC1101 или одночиповые решения типа CC430F6137, имеющие в составе и радиочастотный модуль, и процессорное ядро. В этих диапазонах не нужна лицензия на использование передатчиков до 10 мВт, у таких решений весьма неплохо с дальностью связи, и единственным недостатком являются разве что габариты антенны — четверть длины волны для 433,92 МГц всё-таки составляют 16,5 см. При этом эти решения лёгко покупаются и в виде модулей, и в виде самих чипов.
Всё хорошо у них и с экономичностью — постоянное поддержание присутствия в эфире с такими системами нам не нужно (более того, в 868 МГц на это есть законодательные ограничения), а во сне они потребляют максимум единицы микроампер, просыпаясь только для передачи данных. Соответственно, для пульта управления сразу становятся реальностью 1-2 года работы на CR2032.
Но при этом и Wi-Fi остаётся место — просто надо понимать, где именно оно:
Итак, у нас есть центральный контроллер, который обеспечивает логику работы системы и интерфейс во внешний мир — Wi-Fi или Ethernet (очевидно, подключённый в Wi-Fi-роутер). У него есть проводной и/или беспроводной интерфейс для общения с подчинёнными элементами «умного дома» — конкретный выбор определяется конкретными условиями, хотя если залезать в немного другую тему, у беспроводного интерфейса есть большое достоинство: для установки он не требует проведения ремонта. Нет, пока вы ориентируетесь на традиционный российский рынок «элитных монтажников», берущих от 300 тысяч рублей за один только проект «умного дома» для двушки на Бирюлево-товарной, это не проблема. Но как только вы захотите выйти в более массовый сегмент, или, боже упаси, на B2B-рынок — уговоры клиента на капремонт могут пройти не столь легко.
Более того, хотя в принципе такой контроллер можно построить много на чём, использование Black Swift обеспечивает компактность — в случае, например, одного беспроводного интерфейса вся электроника легко убирается в корпус на DIN-рейку размером со стандартное УЗО, 35,5 мм в ширину.
Исполнительные устройства в такой схеме просты и дёшевы, а главное — обеспечивают понятное вам качество связи и энергопотребление, делающее возможным нормальное батарейное питание (менее года работы я настойчиво прошу нормальным питанием не считать). И имеющийся в них копеечный микроконтроллер (интегрированный с радиомодулем или отдельный, тот же PIC) полностью обеспечивает все их возможности, ибо никаких сложных сетевых протоколов от диммера или настенного выключателя не требуется.
При этом полностью Wi-Fi из коммуникаций внутри системы исключать не обязательно — надо просто понимать, когда он нужен. Скажем, мы хотим интегрировать туда же какую-либо бытовую технику или климатическое оборудование, у которого есть ряд особенностей:
- Сложные алгоритмы управления с большим количеством параметров, работающие на самом устройстве
- Желательность интерфейса, не зависящего от функционирования вашего «умного дома» — то есть нормального веб-интерфейса, живущего на самом устройстве (ту же технику можно установить там, где «умный дом» даже не планируется, например)
- Безразличие к габаритам и энергопотреблению «мозгов» — в разумных пределах
В этом случае нет практического смысла однозначно привязываться к конкретному специфическому радиоинтерфейсу — проще поставить внутрь мощные «мозги» с Wi-Fi, в результате чего техника может использоваться как в составе различных «умных домов», так и вообще без оного.
При этом заметьте, что я не сделал вокруг всей блок-схемы рамку с подписью «квартира» — на практике она может применяться на разных масштабах, от комнаты (в каждой комнате ставится свой контроллер, при этом благодаря габаритам он может разместиться в стандартном 68-мм розеточном гнезде) до большого коттеджа, тут всё зависит от специфики требований конкретного проекта. Система без особого труда масштабируется и на большие здания — ставьте несколько контроллеров в разных частях здания, благо это не KNX с его $3k за коробку, и пусть они общаются с собой по обычному Ethernet или Wi-Fi, благо мозгов в них на такое общение более чем достаточно.
Впрочем, это я уже пошёл говорить о других темах, связанных с «умным домом», но традиционно забываемых в абсолютном большинстве проектов — масштабируемости, интеграции в систему различного оборудования, разных уровней управления… В 99 проектах из 100, увы, авторы даже не пытаются мыслить масштабами крупнее собственной квартиры.
Но это — следующий этап. А пока — пожалуйста, перестаньте пытаться засунуть в каждую розетку и каждую лампочку Wi-Fi или Bluetooth. Они там не нужны. И не забивайте шурупы молотком.