30 апреля

Умные устройства глазами Хабра: подкаст Хабр Спешал о том, что происходит на рынке и чего ждать в будущем

ГаджетыИнтернет вещейНосимая электроникаБудущее здесь
Недавно мы вместе с МТС провели опрос про умные устройства. Его результаты мы выложили в отдельном посте, где собрали общее мнение Хабра о том, какие устройства можно назвать «умными» и чего не хватает нашим читателям. Дополнительно мы решили узнать профессиональную точку зрения и пригласили в наш подкаст Хабр Спешал эксперта в области smart-устройств и систем «умного дома» Владислава Зайцева. Он рассказал про то, как этот рынок устроен изнутри, почему он пока не оправдывает наши ожидания и как изменить эту ситуацию.

Запись подкаста вы можете послушать здесь.
А в этом выпуске вы можете узнать:
3:58 Что происходит на рынке умных устройств
8:51 Откуда на рынке умных устройств десятки разных систем
14:50 Почему нам не стоит ждать единого стандарта
19:12 Почему Wi-Fi не подходит для умных устройств
26:51 Зачем нужен хаб умных для устройств
29:48 Как нейросети делают реальностью настройку устройств без участия человека
34:56 Почему нужно менять подход к разработке умных систем
43:30 Какие есть рекомендации для разработчиков умных устройств
47:24 Как нейросети изменят будущее умных устройств
54:38 Какой должна быть умная система
Для тех, кто предпочитает читать, мы подготовили расшифровку.

Это совместный выпуск Habr и МТС. У МТС можно приобрести умное устройство, а к нему сим-карту со специальным тарифом Go-Smart. Если умное устройство вы приобретаете в МТС, то система автоматически определит тип устройства, подберет под него пакет услуг. Количество СМС, минут и интернета.
Для начала расскажи о себе: как дошел до жизни такой, как стал экспертом?
Для начала: я не считаю себя каким-то суперэкспертом. Последние 7−8 лет моя работа связана с интернет-устройствами, с разработкой на уровне проектирования железа и написания софта на низком уровне — на голом «С», без всяких плюсов. Поставлял эти устройства, выступал в качестве заказчика, разрабатывал большие системы, которые включают в себя устройства интернета вещей, — в общем, делал все.
А как ты на Habr попал?
Сначала просто читал, потом захотелось что-то прокомментировать, а для этого надо что-то написать. Пришлось придумать тему, написать статью. Так и попал на Хабр.
Почему решил делиться знаниями? Судя по количеству статей, тебе это нравится.
Да, мне очень нравится писать статьи и рассказывать что-то людям, потому что в процессе я прокачиваю собственное понимание. Например, ты думаешь, что отлично разбираешься в какой-то теме. Но начни писать на эту тему статью — и ты обязательно найдешь какие-то пробелы, скорее всего, очень много. И ты такой: «Блин, да я тут и третьей части не знаю, даже рассказывать об этом стыдно». Надо подготовиться, почитать книги, поспрашивать людей, чтобы не было потом: «Ой, мы на эту тему говорить не будем, потому что я ничего не знаю об этом». Ты в процессе подготовки статьи поднимаешь свой уровень, заполняешь пробелы.
Что сейчас происходит с умными устройствами? У меня ощущение, что мы вышли на некое плато: особых прорывов нет, все, условные наборы датчиков уже имеются.
Рынок действительно вышел на такое плато, но вовсе не из-за недостатка технологий. Причина в том, что устройства предлагаются по отдельности. Например, умный чайник — что в нем такого? Он не повышает качество жизни кардинально, для этого все системы должны работать вместе. Девайсы, которые сейчас на рынке, пользователям особо не нужны, это просто фишечки.
Например, если у пользователя раньше не было компьютера, то после покупки компа его уровень жизни повысится. Появится доступ к интернету, какие-то программы для работы: считать на калькуляторе и в Excel — это две разные вещи. А когда человек покупает умный чайник, то у него всего лишь появляется возможность удаленно нагревать воду. Это его уровень жизни не повышает.
Поэтому у нас нет огромного рынка умных устройств. Нет потребителей, денег, драйвера на этом рынке, стимулов для развития и создания новых крутых систем. Такие устройства все еще слишком дорогие для бытового потребителя. На консьюмерском рынке хорошо себя чувствуют устройства, которые стоят до 100 000 рублей. При этом для значительной части потребителей и 100 000 рублей — серьезная сумма, зачастую выплачиваемая в кредит.
Система «умный дом» — большая, полноценная, которая действительно включает в себя управление и светом, и кондиционированием, и вентиляцией, и какими-то дополнительными устройствами, — стоит не меньше 300 000 рублей. Кроме того, вам нужна собственная система вентиляции — даже бытовой кондиционер не даст воспользоваться всеми преимуществами умного устройства. Тем более нечего говорить об умном доме, когда вентиляция осуществляется открыванием форточки.
Сейчас можно делать очень крутые системы, ограничения — только в уровне искусственного интеллекта. С умными помощниками остановились на том, что они говорят, какая погода за окном, но не могут поддержать разговор, не помнят контекста. Им нельзя дать какие-то задания, все это приходится прописывать вручную. Зато в железе нет никаких проблем.
Загвоздка пока в стоимости: дороговато для обычного пользователя. Квартиры за несколько миллионов люди покупают. Но далеко не все готовы добавить еще миллион на умный дом… Вот и получается, что рынка, на котором бы все это могло крутиться, у нас нет.
У меня идея умного дома давно витала в воздухе, но к реализации я подошел только после ремонта. Я более-менее в системе Apple, поэтому это HomeKit. Но там очень дорогие оригинальные аксессуары, а сторонние, которые не сертифицированы Apple, подключить нельзя. Что ты думаешь о едином стандарте, которым все могли бы пользоваться? Я организовал систему с использованием Homebridge, который де-факто поддерживается, а де-юре — нет. Все работает, но я чувствую, что в любой момент может что-то отказать. Все это ненадежно и непрозрачно.
Добро пожаловать в волнующий мир Open Source! Всем хочется, чтобы была единая система, при этом каждый по отдельности уверен, что в качестве стандарта нужно использовать именно его систему. Поэтому вместо одной системы мы имеем десятки, и все претендуют на звание той самой, единственной. При этом ни одна из систем не может в качестве этой единственной выступить — завоевать рынок и т. д.
Централизация — это такой святой Грааль всех разработчиков
Безусловно, на то есть какие-то объективные причины. Например, отсутствие единой железной платформы: у нас просто железо не развилось до такой степени, что можно поставить одну микросхему, способную делать все. Есть комплект микросхем под разные требования. Если нужна дальняя, но надежная связь — это Lora, если нужна ближняя, относительно быстрая связь, то это какие-то 6LoWPAN, если нам надо качать через сеть трафик, то это Wi-Fi, если нам надо как можно дешевле, то это простые китайские протоколы, самостоятельно сделанные на коленке и т. д.
У нас есть много протоколов и много наборов железа, но мы не можем связать их в единую систему. Например, система, которая предполагает, что у нее весь трафик будет ходить по Wi-Fi, относится к объему этого трафика спустя рукава. Переслать несжатый JSON на полмегабайта — для Wi-Fi это как нечего делать. Лишние полмегабайта, есть они или нет — по фигу. Но когда в эту систему на той же сети мы подключаем какие-то другие устройства, то эти полмегабайта уже с покряхтыванием проходят через более узкие каналы, это становится проблемой. Один пакет — нормально, десять — уже тормозит. Если в эту систему добавить еще и Lora, у которой в худших условиях транспортная скорость — байты в секунду, то эти полмегабайта положат весь канал всерьез и надолго.
Поэтому для разных условий нам нужны разные программные платформы, которые учитывают особенности железа: там надо бережно относиться к трафику, тут у нас может быть негарантированная доставка, а здесь можно запихнуть большой файл в канал и не париться. На практике имеются разные аппаратные платформы, каждая из них не хочет, не может, не рассчитывает поддерживать все железо, и все скатывается к физике: есть у нас такой радиоканал или нет.
У нас системы разделены по физическим причинам, из-за этого получается несколько программных платформ. И их становится больше за счет разработчиков, которые приходят на рынок. Они такие смотрят: у нас есть пять платформ, но у всех есть фатальный недостаток — они написаны не нами, сделаем-ка мы свою, мы лучше знаем. Что греха таить, я сам абсолютно такой же. Передо мной на прошлой работе стала задача: перевести разрозненную систему на какую-то единую платформу. Я посмотрел на рынок и предложил написать свою. Платформу написали, и теперь ко всему этому разнообразию добавилась еще одна.
В ближайшем будущем какая-то централизация и единая платформа нам не грозит. На эту роль могла бы претендовать Apple, но из-за сложной поддержки устройств она останется более нишевой платформой. Но как только вы выходите за рамки подхода «я хочу, чтобы все работало, не хочу тратить на это время, но могу потратить деньги», платформа Apple полностью или частично перестает устраивать — начинаются танцы по подключению чего-то дополнительного.
Точно, у меня так и было. Ничего об этом не зная, курил всякие мануалы, стараясь впихнуть туда Z-Wave через этот USB 1 стик. Это все как будто бы не для людей, а для машин сделано. Там такие удивительные интерфейсы, не разберешься без 100 грамм совершенно точно. Я потратил примерно неделю, чтобы разобраться. Думаешь, нам не светит единый стандарт? Никаких независимых альянсов, чтобы всех все устраивало? Никто не думает об этом?
Все альянсы строятся примерно по одной схеме. Нужно сделать хороший стандарт, но для этого он должен быть жестким, должен быть какой-то орган, который проверяет устройства на соответствие и проставляет на них логотип «стандарт поддержан». Без такого органа будет такая же фигня, как с ZigBee: три не связанных поколения протокола без гарантированной совместимости — они друг с другом могут работать, а могут и не работать.
Но у такого жесткого консорциума есть обратная сторона. Проверка устройств — это затраты времени, проектирование протокола и его развитие, слежение за ним — тоже. Если есть затраты времени, кто-то хочет получать за них деньги. Например, брать деньги с производителей устройств за проверку или за доступ к протоколам. В результате уже не так просто поддержать протокол: сначала занести деньги за доступ к сертификациям, потом сделать устройство, потом занести денег за проверку. В итоге на изготовление устройства — даже не вывести на рынок, а просто изготовить — придется потратить порядка 10 000 $. Для больших компаний нормально, для маленьких разработчиков, стартапов это уже обременительно.
Вы можете сделать устройство с поддержкой протокола Z-Wave или создать свою систему с нуля. Второй вариант гораздо проще и дешевле, там можно реализовать любые свои прихоти. Если разработчик чувствует силы сделать систему полноценной — не только отдельное устройство для чужой системы, а и приложение, и роутер, и несколько устройств, — то он вполне может это сделать без присоединения к чужому альянсу, и у него это также будет на рынке продаваться. Вот так вместо одной замечательной системы, которой мог бы стать тот же Z-Wave, получаются две разные системы. Одна стандартизованная, но дороже, потому что эти расходы по стандартизации разработчик из своего кармана оплачивает и перекладывает на потребителя. Другая чуть хуже, но со своими фишками и дешевле. В условиях этого рынка я не вижу способа склонить разработчика занести деньги в чужой альянс. Прекрасно понимаю, почему он не хочет платить: он хочет делать свое.
Ты говорил, что разные стандарты позволяют пропускать разное количество данных в единицу времени. А в одной из своих статей пишешь, что Wi-Fi — это плохое радио. Почему? Выглядит все здорово: большая ширина канала, отправляй что хочешь. Что не так?
Он изначально проектировался под устройства, которые пересылают большие объемы данных. Это хорошо, потому что через него, например, можно гнать трафик с видеокамеры. Но в обычных условиях у нас, как правило, ситуация совершенно другая: данных очень мало. Команда на включение лампочки — это байты, десятки байт, сотни максимум. Нажатие на выключатель, включение какой-то системы, даже передача звука — тоже мизер. Если мы закладываем, что у нас в протоколе будет передаваться много данных, то мы заранее закладываем большую ширину полосы и повышенное потребление энергии.
По каналу, который предназначен для передачи большого количества трафика, можно передать и малые объемы, но у всего есть своя цена. Если мы проектируем систему под большой трафик, то рассчитываем на повышенное энергопотребление. Мы принципиально не можем сделать батарейное устройство с Wi-Fi, как бы мы ни изгалялись.
То есть у нас нормальная ситуация, когда мы берем батарейку вроде CP2032, вставляем ее в выключатель, и он работает годами: при активации посылается какой-то маленький пакет данных. Это то, чего потребители ждут от устройства. Если мы делаем такой выключатель на Wi-Fi, во-первых, у нас время подключения к сети вместе с получением адреса — 5−10 секунд. Мы нажимаем на кнопку включения, и через 10 секунд включается свет. А может, и через 5. Здесь бесит не сама задержка, а то, что она постоянно плавает.
Постоянно быть подключенным к сети Wi-Fi мы тоже не можем, это выжрет батарейку примерно за 5 минут. Кроме этого, возникают проблемы с настройкой. В идеале мы купили новый выключатель, принесли домой, подключили, ввели в главное устройство какой-то код с коробки типа серийного номера — и все, больше делать ничего не надо. С Wi-Fi такая схема не проходит: надо как-то ввести имя сети и пароль сети. Впрочем, если у нас устройство с кнопочками вроде телефона, то это сделать несложно.
WPS, что-нибудь такое…
WPS был призван решить эту проблему, но оказался такой дырой в безопасности, что его просто все выключают.
Плюс он не такой уж удобный, я ни разу не пользовался этой кнопочкой.
Потому что он требует поддержки еще на клиентских устройствах, а с этим мало кто заморачивается. Мало кто пользуется и знает, что есть такая возможность.
Итак, если у нас устройство с кнопочками, то подключение к сети Wi-Fi не проблема. Если у нас выключатель, у которого две кнопки, а внутри — простой контроллер, то как это сделать? Сейчас устройства обходят эту проблему путем создания своей точки доступа, к которой подключается телефон, на который вводится имя сети и пароль. Потом телефон от этой точки доступа отключается, пытается подключиться устройство. Это неудобно.
Ситуация осложняется тем, что роутер должен поддерживаться разделением точек доступа. То есть одна точка доступа — для высокоскоростных устройств, другая — для низкоскоростных. Wi-Fi — разделяемая среда, если в систему входит какое-то устройство, которое поддерживает только низкую скорость, то сеть тоже переключается на низкую скорость: устройства с разными скоростями в одном канале работать не могут.
Сеть ориентируется на самое низкоскоростное устройство. Поэтому либо мы включаем это несчастный выключатель в основную точку доступа и все устройства начинают передавать 10 Мб/с, либо нужен какой-то продвинутый роутер, который может создать для всех этих устройств отдельную точку доступа и не будет мешать им работать вместе.
Кроме того, есть проблемы в настройках. Если бы все устройства, работающие на Wi-Fi, были от одного производителя, то можно было сделать какой-то единый хаб, который настраивал бы их сам. Но по факту каждый производитель делает собственную линейку устройств — с собственной логикой, для собственной сферы. Как правило, серверов у пользователя в квартирах нет, поэтому мы не можем поставить софт на единый локальный сервер. У нас получается такая ситуация, что в квартире 5 устройств, и все эти 5 устройств по Wi-Fi ходят на 5 различных китайских серверов, разбросанных по миру. Что с этим делать — не представляю.
Продолжая тему каналов связи, перейдем к вопросу об облачных вычислениях: лично меня не радует сама идея того, что твои данные отсылаются на чей-то сервер, непонятно, что там с ними происходит, что тебе возвращается. Хочется, чтобы все локально было, но, похоже, скоро все перенесут в облака.
Wi-Fi со своим постоянным доступом к интернету и к чужим серверам как бы намекает разработчикам: не надо ставить свой хаб дома, просто попросите пользователя подключить свое устройство к Wi-Fi. А дальше все произойдет само, вы только поднимите сервер где-то в облаке, он там будет замечательно с этим устройством работать… Это плохая идея для умного устройства, потому что оно получается небезопасным, ненадежным, зависящим от каких-то внешних серверов. Когда это не относится к системам mission critical, то как бы по фигу. Упал сервер умного чайника — включим его руками, вот проблема-то. Упал сервер умной кормушки — кошечка потерпит, сервер максимум через несколько часов поднимется. Гораздо хуже отражаются такие перебои на устройствах, которые необходимы для выживания в доме: отвечающих за свет, кондиционирование, вентиляцию, управление горячей и холодной водой. Падает сервер или падает интернет, или рабочие рвут кабель экскаватором — и в домах перестает включаться свет.
Поэтому в системе на mesh-сети мы вынуждены ставить хаб, он у нас border router. Это устройство, которое превращает протокол mesh-сети в более высокоуровневый. Мы на этом же хабе можем обеспечить обработку какой-то логики. Пусть там нет сложной, нейросетевой обработки для включения света в зависимости от предпочтений пользователя, но зато можно без проблем перейти в режим fail-safe, когда хотя бы работают обычные выключатели. Это не очень прикольно, но зато не придется в случае чего идти в туалет без света.
Ты говоришь о нейросетях и потенциальных возможностях устройств подстраиваться под привычки пользователя. Это фантастика или реальность?
Это реальность. У нейросетей есть режим обучения без учителя, когда она что-то делает, а мы ей говорим: «Ты сделала неправильно» или «Ты сделала правильно». Постепенно она начинает понимать, как поступать в разных ситуациях. Мы тестировали такую систему на умном доме. Смысл в том, что мы обвязываем дом — обмазываем, я бы даже сказал — кучей датчиков. В первую очередь это датчики движения и датчики шума с разделением по частотам. Ставим кучу выключателей, переводим абсолютно все системы дома на такую умную электронику с выключателями и с актуаторами, которым можно удаленно подать сигнал, и натравливаем нейросеть на эти данные. В течение нескольких месяцем она смотрит, получает данные с датчиков и начинает учиться.
То есть нейросеть понимает: если у нас примерно в 18:00 в прихожей возник звук такого спектра, то это человек ковыряется ключом в двери и он, наверное, сейчас зайдет. В течение 5 секунд после этого он обычно включает свет, поэтому давайте включим заранее. Если сеть включила свет неправильно, мы нажимаем на специальную кнопочку «Действие неправильное», расположенную на выключателе. Набирая много-много таких кейсов с реакцией пользователя на свои действия, нейросеть потихоньку обучается. Мы это делали, оно работает в какой-то мере.
Сколько времени занимает обучение?
По нашим прикидкам, месяц-два до состояния «не включает свет в 2 часа ночи». Естественно, сеть невозможно обучить идеально, чтобы она предсказывала абсолютно все ваши действия, она все равно иногда будет ошибаться. Сколько займет подгонка до «почти идеального состояния» — сказать не могу.
Получается, наша жизнь подчинена каким-то биоритмам, алгоритмам… И хотя мне кажется, что я могу быть спонтанным чуваком, который иногда в 2 часа ночи встает долбануть кофе, на самом деле такого не происходит?
Не знаю, мне хочется думать, что мои решения продиктованы именно моей уникальной личностью, что второй такой нет, что предсказать это и заменить меня невозможно. Но на самом деле вполне возможно, что простая нейросеть предсказывает мои действия, — стоит в 2 часа ночи оторвать голову от подушки с мыслью «хочется пить», и на кухне включается свет. Все это предстоит проверить.
Очень хотелось бы однажды настроить свой умный дом и забыть про него, ничего там больше не подстраивать. Но я на собственном опыте убедился, что нужен примерно год, чтобы мой умный дом постепенно «подрос». При этом рано или поздно что-нибудь сбоит, приходится разбираться. Возможна ли какая-то утопическая ситуация, в которой не придется ничего трогать (за исключением батареек, которые могут работать годами)?
В отличие от, допустим, военного или какого-то серьезного промышленного продакшена, здесь действуют немного другие законы. Как строится система для продакшена для какого-то завода? Сначала делается аналитика — какая система нужна, потом пишется ТЗ, потом пишется по этому ТЗ система, потом пишется программная методика испытаний, пишутся тестовые кейсы, которым она должна соответствовать. Если система им не соответствует — она дорабатывается. Если соответствует — выпускается в продакшен, где может работать лет 10, пока ее не заменят на новую версию или вообще на другую систему.
На консьюмерском рынке, на рынке быстрой веб-разработки такого нет. Сейчас делаем прототип, потом выкатим новую версию. Это позволяет очень быстро делать устройства и тестировать какие-то гипотезы, при этом системы неустойчивые и быстро меняющиеся. Сегодня мы выкатили версию с таким функционалом, завтра поменяли протоколы, послезавтра все перековыряли и т. д. Еще сложнее, если эту систему разрабатывают в рамках open source, когда никто никому ничего не должен: к факторам «быстрой выкатки» добавляется отсутствие обязательств у разработчиков. Мы мучились с настройкой — теперь и вы мучайтесь. Сломали? Ну что вы хотели, это open source.
В итоге получается, что у нас все эти штуки только в самом начале пути. Для умных устройств не стандартизованы ни протоколы, ни системы, все меняется в процессе. Сегодня мы настроили систему, она работает. А завтра перестала работать, потому что какая-то часть системы зависима от внешней системы, в которой сервис закрыли, и у вас все отвалилось. Или вы в процессе использования напоролись на глюк, при котором все ломается, если база вырастает до 2 Гб. Почему не проверили? Потому что некому было проверять. Никто не предполагал, что система доживет до базы в 2 Гб. Конкретно этот баг на сайте в новой версии устранили, но протоколов автоматического обновления, которые поддерживают обратную совместимость, нет. Нельзя сказать системе: «Обновляйся сама, чтобы ничего не ломалось». Поэтому придется кое-что обновлять ручками.
Чтобы решить проблему «ой, у меня периодически что-то ломается», надо кардинально поменять подход к построению системы. Если какая-то компания скажет: «Мы делаем умный дом, который не будет ломаться» — и действительно это исполнит, у нее возникнут другие проблемы. Надо лет 5 разрабатывать умный дом, прежде чем выпустить его на рынок. А за 5 лет появятся новые контроллеры, протоколы, да и у потребителя уже будут другие ожидания от умного дома. В итоге этот продукт будет не так востребован рынком. Как выйти из этой ситуации — не очень понимаю.
У нас есть такие системы, которые разрабатывались гораздо раньше, сейчас они действительно хорошо работают. Вы берете какой-нибудь промышленный программируемый логический контроллер (ПЛК), пишете на нем логику, соединяете все устройства проводами по modbus, и это действительно будет работать годами, на тех же системах строятся практически все производства. Пойдите на завод, заглянете под капот станка — там абсолютно те же системы. Они надежны и долговечны, потому что там нечему ломаться — все потенциальные баги уже выловлены. В умном доме такая система может управлять светом или переключить вентиль на трубе, если надо аварийно перекрыть воду. Но вы же хотите, чтобы все красиво управлялось c телефончика, в мобильных приложениях, с голосовым управлением, желательно с нейросетями. Но всего этого нет, потому в промышленных системах такие возможности появятся лет через 10. Плохо это или хорошо — не знаю, это текущая ситуация на рынке: то, что работает без глюков, вам не надо. А то, что вам надо, глючит, требует постоянного наблюдения и подкручивания.
С точки зрения консьюмера сырой продукт — это не очень прикольно. Но есть энтузиасты, разработчики и т. д. Если API открыт, они могут придумать даже новые фичи, которые производитель не закладывал. На форумах любителей умных домов все это цветет пышным цветом. Было бы хорошо, если бы производители умных устройств изначально на это нацеливались: ребята, вот вам продукт, вот вам API, допиливайте, на здоровье, будем только рады…
Я в том числе и об этом говорил в одной из своих статей — это был немного хулиганский «Манифест разработчика умных систем». Там один из пунктов гласил: ориентируйтесь не только на простые устройства, но и на хакеров. Хакеров будет 1%, но они придумают такое применение вашей системы, до которого вы не дошли бы сами. Это будет дополнительным драйвером продаж, использований вашей системы и т. д.
Но пока почему-то очень малое количество разработчиков, предлагающих API для использования в других системах. Почему — не знаю. Мне кажется, с этим никто не особо заморачивается, у разработчиков в приоритете функционал, они стремятся сделать красиво в моменте: мы сделали железо и красивое приложение — пользуйтесь, больше вам ничего не надо. Разработчики совершенно не рассчитывают на то, что у человека может быть не только это железо и не только это приложение, но и какая-то собственная система, с которой он хотел бы это совместить, или на то, что этот пользователь может найти другое применение этой системе.
В каком направлении смотреть, если ты хочешь делать умный дом?
Не смогу ничего вменяемого посоветовать по теме «куда смотреть, если ты хочешь сделать свой умный дом», потому то у меня, во-первых, профессиональная деформация — я не вижу на рынке тех систем, которые хотел бы видеть. «Манифест разработчика умных систем» как раз о том, что люди все делают неправильно. И о том, как это сделать правильно.
Что именно делают не так? И как надо?
Во-первых, разработчик должен ориентироваться на пользователя, он должен думать, как сделать пользователю жизнь лучше. Не напихать максимальное количество функций, а сделать их нормально работающими. Например, не запихивать огромное количество настроек на все случаи жизни, а сделать действительно удобный интерфейс. Не надо говорить пользователю: «Ты жил во лжи, а мы покажем тебе, как собирать финики». Подстройтесь под уже существующие привычки пользователя, не говорите: «Мы лучше знаем, как использовать нашу систему» — предоставьте инструмент, с помощью которого действительно удобно что-то делать.
Дайте пользователю нормальные физические интерфейсы для физического мира, например. И не позволяйте сомневаться в работоспособности устройства, предоставьте девайс, который можно нормально обслуживать. Пользователю все равно придется обслуживать эти устройства, так давайте сделаем этот процесс простым и легким. Если устройство обновляется, то без участия пользователя, если надо заменить батарейку — об этом сообщается заранее. Система не должна требовать постоянного обслуживания, наличия каких-то внешних систем, внешних серверов. Умный дом должен уметь работать самодостаточно, пусть и не в полном функционале.
Чего ждать-то в ближайшее время? Куда все движется? Я так понимаю, что нейросети маячат на горизонте?
Самому хочется думать, что вот-вот появятся нейросети, которые помогут системе понимать пользователя и немножко думать за него. Но судя по тому, что я вижу, имеются какие-то проблемы. Я с этой идеей носился еще 2 года назад, и когда рассказывал нескольким людям, они по страшному секрету говорили, что несколько больших компаний в США это уже тестируют и скоро выбросят на рынок. До сих пор ни намека, ни привета. Возможно, как в том старом анекдоте: «Ну не шмогла я, не шмогла…» Или возникли какие-то серьезные препятствия.
Может, для больших компаний скоро — это не 2 года, а 10 лет? То есть пока ничего не меняется?
Через 10 лет нейросети все-таки появятся, я в этом практически уверен. Пусть они не будут предсказывать идеально, но в чем-то смогут помочь умным системам.
Нейросети — это же облачные решения? Иначе где это будет работать дома, на каких серверах, мощностях?
Совершенно не обязательно! Например, Nvidia выпустила замечательную железку Jetson — маленький ARM-процессор с вычислительными ядрами, как в видеокарте. У них абсолютно такая же топология, они совместимы с CUDA, на них можно довольно быстро запускать нейросети — гораздо быстрее, чем на процессорах общего назначения. При этом железка недорогая, стоит в комплекте разработчика 50 $, что ли. Ее можно поставить дома и создавать достаточно сложные нейросети. Если видеоаналитика легко пережевывает до 90 кадров в секунду, то с обработкой более простых данных процессор тем более справится. У Intel, в свою очередь, есть ускоритель нейросетей в виде USB-стика. В ближайшие годы появится много таких девайсов, так что необходимость в облаках или дорогих серверах постепенно отпадает.
А что про интернет вещей скажешь? Это не только дом, но и автомобиль, всякие умные чемоданы, которые за тобой ездят. Это в сфере твоих интересов?
Интернет устройств — моя основная область интересов, я не столько и не только умными домами занимаюсь, сколько вот такими промышленными интернет-устройствами, потому что там рынок более понятен. Мне нравится определение моего бывшего директора: IoT — это когда связь появляется там, где ее раньше не могло быть. Например, раньше для доступа к интернету требовался компьютер с модемом, который подключался к телефонной линии. Если бы в то время кто-то предложил провести к датчику влажности в поле интернет, мы бы на него посмотрели странно: это как — около каждого датчика ставить компьютер и тянуть туда телефонную линию?
Теперь у нас технологии развились настолько, что мы можем к этому датчику действительно подвести интернет: контроллер, который реализует протокол для включения в какие-то взрослые сети, стоит буквально 2 $. Эра интернета устройств уже наступила. У нас уже в куче компаний, предприятий, магазинов стоят датчики, которые могут подключаться к интернету и передавать какие-то данные. Здесь, в отличие от консьюмерского умного дома, есть понятная выгода, понятный value от этого подключения. Ведь в 90% случаев умный дом для обычного пользователя — просто прикол, можно легко без этого прожить, нет никакой выгоды особой, просто интересно поиграться: ха-ха, смотрите, я могу свет с телефона включить.
В промышленности, как правило, нет такой ситуации: просто поиграться — это тратить деньги. Если мы ставим какую-то систему, разворачиваем ее на предприятии, она должна приносить прибыль. Все считают деньги: окупаемость 5 лет — замечательно, давайте потратим на это несколько миллионов. С этой точки зрения смотреть на промышленные интернеты предприятий гораздо приятнее: если ты делаешь что-то, что экономит деньги, у тебя это покупают. И нет такого, что «фу, оно какое-то неприкольное». Деньги экономит? Экономит. Что вам еще надо?
Да, там все проще в этом смысле. Может быть, расскажешь, как оно у тебя реализовано? Что у тебя из умного есть?
Скажу немного мозговыносящую вещь: у меня в доме нет абсолютно ничего умного.
Может, какая-то умная розеточка?
Абсолютно ничего, кроме аудиосистемы. Это просто моя любовь: мне нравится, когда хороший звук по всей квартире, нет такого, что в одной комнате где-то играет музыка, ты ее слышишь в кухне в плохом качестве. За исключением этого никаких умных устройств нет. Не потому что я как-то против — мне на самом деле очень хочется, потому что мое утро начинается с щелканья 8 выключателями, потому что мне хочется зажечь свет по всей квартире. Очень хочется это автоматизировать, но мне не нравятся все существующие системы, поэтому я делаю свою. У нас сейчас есть только железные прототипы, мы под них пишем софт, все это в разработке, поэтому мне не хочется ставить какую-то другую систему. То, что у меня было до этого, я снял при переезде и в новой квартире не поставил… Прошло 2 года, а я все так же щелкаю выключателями. В конце концов мы свою систему сделаем, конечно. Пока я могу только описать, как она в идеале должна работать.
Давай!
В первую очередь, это централизованная система, какой-то хаб, домашний сервер, на котором крутится логика. Обязательно радиосистема — никаких проводов, я не хочу делать ремонт, чтобы поставить себе «умный дом». Даже если бы я планировал ремонт, все равно поставил бы радио. Если завтра я переставлю кровать в другой угол, то не намерен долбить стену, чтобы проложить трассу до нового прикроватного выключателя. Я хочу его отклеить от одной стены и приклеить на другую. А если я устанавливаю дома новый светильник, то хочу просто подключить к нему коробочку и не заморачиваться с проводами, по которым будут идти команды на включение этого светильника.
Для идеальной в моем понимании системы нужны физические кнопки — не сенсорные, а именно физические, тактильные, на которые можно нажать и почувствовать отклик. Все эти штуки с голосовым управлением, с управлением с телефона — они прикольные и в некоторых случаях действительно удобные. Но когда я вхожу в комнату, то хочу ткнуть рукой в знакомое место, ощутить пальцем выключатель, нажать на него и почувствовать пальцем щелчок этого выключателя. Это дополнительное подтверждение, что я правильно ткнул. Я не хочу смотреть, где там эта сенсорная кнопочка, куда надо ткнуть, какую из 5 сенсорных кнопочек выбрать и т. д.
И тем более я не хочу запускать приложение на телефоне. Вот у меня лежит телефон: требуется 6 секунд, чтобы взять его, разблокировать, найти на экране приложение, подождать, пока оно загрузится… Я не хочу, чтобы у меня каждое действие по управлению домом занимало дополнительно 6 секунд. Ткнуть в выключатель не глядя — это меньше секунды.
Обязательно радио и mesh-сеть. Если мы используем традиционную топологию, в которой у нас один хаб, к которому коннектятся все устройства по модели «точка-точка», то есть вероятность, что в какой-нибудь дальний угол ванной этот хаб просто не добьет, что будут какие-то помехи или еще какие-то проблемы. Либо у нас связь будет не везде и не всегда, либо у устройств должна быть более высокая мощность передачи. Но тогда будут быстрее садиться батарейки, а в некоторых случаях это невозможно сертифицировать по законам страны.
В случае с mesh-сетью таких проблем нет, потому что устройства могут передавать данные по цепочке. Если не видят хаб — передают соседнему устройству, которое уже передает на хаб. Это огромное преимущество в плане экономии энергии батареи. Кроме того, просто исключен какой-то «дальний угол», в котором устройство не принимает.
Это не заранее зашитая логика… Я соврал, у меня есть умный пылесос, он работает по расписанию. Я не могу им управлять, у него нет внешнего API, я не могу сделать кнопочку, которая включала бы его автоматически, как только в доме никого нет больше получаса. Там только расписание — например, включается каждый день в 3 часа дня. Это плохой подход к построению логики умного дома, потому что расписания включения света в какой-то момент просто не хватит. Я хочу более сложную логику — допустим, выключать свет, когда дома никого нет, но только по выходным.
В умных устройствах, которые я бы хотел видеть, логика задается не прописанным заранее хард-кодом от разработчиков. В идеале это общая логика, которая пишется на каком-то простом языке программирования — у меня это Lua. Легко читать, легко менять в любой момент. Захотелось тебе — ты немного переписал этот кусок буквально за 10 минут. Не надо вспоминать, как это там сделано, вникать в сложный код на каком-то сложном языке, пересобирать всю эту систему при изменении кода и т. д. И нужно делать так, чтобы логика максимально просто менялась: зашел в веб-интерфейс и поменял.
Тогда подытоживаем. Рецепт классного умного дома от Влада Зайцева — гибкость, радио, mesh-сети, физические кнопки, а в перспективе нейросетки, которые позволят умным устройствам самим на вас учиться и делать вашу жизнь проще. И никаких действий, тем более с телефона, от вас не требовать. Влад, спасибо тебе большое!
Рассказывайте в комментариях, как у вас обстоит дело с умными устройствами, как вы ко всему этому подходите и относитесь. До новых встреч!
Теги:Умные устройстварезультат опросаIoTинтернет вещей
Хабы: Гаджеты Интернет вещей Носимая электроника Будущее здесь
+30
9,9k 20
Комментарии 2