Серия «MajorDom»

Встречайте MajorDom: умный дом будущего, который действительно умён

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

automate smart — not hard (MajorDom)

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

Домашние гаджеты

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

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Приложения для домашних гаджетов

Существующие решения

Системы "умного" дома (или домашней автоматизации) должны были решить эту проблему, но до идеала им еще далеко. Есть два типа таких систем: проприетарные от цифровых корпораций и народные с открытым кодом. К сожалению, и у тех, и у тех есть минусы. Предлагаю составить график, в котором по оси x будет легкость использования сложной к простой, а по оси y - умность и функциональность системы.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

График: легкость использования к умности системы

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

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

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Осьминог монополии (отсылка к "standard oil octopus")

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

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

График: легкость использования к умности системы (мажордом)

Экосистема умного дома

Поговорим о том, как устроены экосистемы умного дома и чем они отличаются от систем домашней автоматизации. Все начинается с устройств, напрямую управляющих домом: лампы, реле, модули с мотором. Это первый "физический" уровень. Вторым уровнем пусть будет интерфейс "application layer". Свяжем их через wifi или bluetooth.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Экосистема умного дома: приложение и устройство

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Экосистема умного дома: несколько приложений и устройств

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Закрытые экосистемы умного дома с хабом

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Закрытые экосистемы умного дома с хабом и облаком

Чтобы это исправить, заменим проприетарный хаб на raspberry pi с какой-нибудь open source системой домашней автоматизации, а также добавим плагины для интеграции устройств. Это позволяет объединить все устройства в одну систему, например, чтобы программировать общие автоматизации или продвинутые сценарии. Уже лучше, но пропала одна мелочь под названием интерфейс.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Универсальный open source хаб умного дома

К счастью, некоторые open source решения идут комплектом с вебным фронтендом или даже мобильным приложением (но не всегда с user-friendly интерфейсом). Добавив еще пару плагинов, мы можем пробросить часть устройств (или все, если очень повезет) в приложение какой-то из экосистем. В таком случае хаб выступает посредником или адаптером для устройств сторонних производителей. Но теперь мы зависимы от этой экосистемы и получаем те проблемы, о которых шла речь в начале статьи. В качестве альтернативы, мы можем подключить другой плагин с кастомным облаком, но это уже становится или слишком сложно, или все еще недостаточно безопасно.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Универсальный open source хаб умного дома c инфраструктурой экосистем

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Универсальный open source хаб умного дома c инфраструктурой экосистем (сложности)

Кстати, этот пример мне кое-что напоминает:

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Нестабильная цифровая инфраструктура

Итак, у нас есть 4 уровня: устройства, хаб (автоматизации, программное управление), сервера, интерфейс (приложения, голосовые ассистенты, итд). Экосистема — это все 4 уровня и их связь, а не какой-то один. Чтобы все работало идеально, мы делаем не просто один из уровней, например, систему автоматизации на уровне хаба. Мы делаем все три верхних уровня: приложение, голосовой ассистент, облако и хаб с максимальной поддержкой устройств других производителей, таким образом получая максимальную совместимость и интеграцию всей системы из коробки: автономную, приватную, независимую и безопасную. Это - МажорДом.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Архитектура экосистемы умного дома MajorDom

Чем наша система будет умнее: наша философия

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

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

  • Автономность — максимальная независимость от внешнего мира, отключенный интернет не должен стать проблемой

  • Легкость настройки и использования — технологии должны служить человеку, а не наоборот

  • Максимальная поддержка разных устройств, протоколов и интеграций - в дополнение к предыдущему пункту

  • Никаких искусственных ограничений — не быть эпл и дать возможность глубокой настройки и кастомизации тем, кому это нужно

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

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

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

Описание MajorDom

Но как нам это сделать? Прежде всего, системе нужно имя. Мы выбрали для неё название MajorDom, которое отлично отражает её сущность. (от англ. majordomo — мажордом, дворецкий, управляющий домом)

Приватность

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

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

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

Поддерживаемые устройства

Конечно, прежде чем настраивать автоматизации, в доме нужны устройства. Zigbee Alliance, переименованный в Connectivity Standards Alliance или CSA, — это объединение различных компаний, занимающихся умным домом, которые решили создать универсальный протокол связи для всех устройств домашней автоматизации. Они назвали этот протокол Matter. И MajorDom с ним совместим. Это означает, что вы можете добавить любое совместимое с Matter устройство в свою систему MajorDom. И это еще не все.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

matter протокол

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Мерлин протокол

В то же время мы понимаем, что сегодня только малая часть уже выпущенных устройств поддерживает один из этих протоколов, поэтому мы также собираемся добавить интеграции устройств, использующих zigbee, z-wave, wifi и BLE, таким образом став самой универсальной экосистемой.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Умная комната с устройствами на разных протоколах в системе MajorDom

Интерфейс

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Мобильное приложение MajorDom на фоне хаба

Мы наконец-то собрали в одном месте все устройства, но как с ними общаться? Для этого мы разработали красивое мобильное приложение, доступное практически на всех платформах, включая устройства Android — телефоны, планшеты и часы, а также устройства Apple — iPhone, iPad, Mac, Apple Watch, Apple TV, CarPlay и даже новый шлем Vision Pro. Приложения так же включают виджеты, которые можно разместить на домашнем экране, экране блокировки или в любом другом месте, поддерживаемом операционной системой, что позволит управлять домом даже не запуская приложение.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Платформы, поддерживаемые мобильным приложением MajorDom

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

Вместо этого:

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Скрипты для автоматизаций умного дома

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Приложение MajorDom: вкладка автоматизаций

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

Арчи — умный голосовой ассистент

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Умная колонка MajoDom Audio с голосовым ассистентом Арчи.

Перевод:
— Арчи, проверь мое расписание
— У вас встреча с командой разработки в 3 часа и планы на ужин в 7. Также, не забудьте, что сегодня день рождения у вашей мамы. У вас есть достаточно времени на звонок между 4 и 6 часами вечера

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

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

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Демонстрация голосового ассистента Арчи в мобильном приложении MajorDom на фоне умной колонки MajorDom Audio и хаба MajorDom Hub.

Работа из коробки: делаем свои устройства

"Люди, серьезные на счет софта, должны делать своё железо" — эта цитата особенно актуальна для умного дома. Это единственный способ обеспечить беспроблемную интеграцию множества протоколов из коробки. То же самое касается ассистента: не каждая платформа потянет офлайн распознавание, обработку и синтез речи. К тому же, полностью доверять ему можно только тогда, когда знаешь, что на устройстве нет постороннего ПО с доступом к микрофону. Вот почему мы разрабатываем два собственных устройства: хаб MajorDom Hub для управления устройствами, автоматизацией и порталом в экосистему — это как руки дома. И колонка MajorDom Audio для голосового ассистента — уши и голос дома.

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

Умная колонка MajorDom Audio и хаб MajorDom Hub

И еще кое-что… для активных пользователей

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

Встречайте MajorDom: умный дом будущего, который действительно умён Проект, Умный дом, Голосовой помощник, Голосовое управление, Автоматизация, Искусственный интеллект, Дом, Разработка, Электроника, Гаджеты, Инновации, Изобретения, Программирование, Технологии, Kickstarter, Открытый код, Open Source, Стартап, Длиннопост

«Idea Forge» (Кузница идей)

Во-первых, при разработке MajorDom мы создали «Idea Forge» (Кузницу идей). Эта платформа превращает предложения пользователей в реальные фичи. Любой желающий может предоставить идеи через форму на сайте. Необязательно быть программистом; достаточно одной светлой мысли. Эти предложения затем появляются на доске голосования сообщества, что позволяет каждому влиять на процесс разработки. Демократия в действии. Самые популярные идеи рассматриваются к реализации командой MajorDom. Речь идет не только о пользователях; речь идет о превращении пользователей в создателей.

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

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

Заключение

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

Присоединиться к проекту

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

Предзаказы, Кикстартер, Донаты

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

Стать частью команды

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

Инвесторам

Мы также рассматриваем получение инвестиций от $50k pre-seed раунда за долю компании. Говоря о цифрах, текущий рынок умного дома оценивается в 100 миллиардов долларов США, с прогнозируемым ростом до 600 миллиардов в 2033 году. Похоже на отличную возможность вложения.

Контакты

Telegram: t.me/MarkParker5
Email: mark@parker-programs.com

Показать полностью 24

Внутри MajorDom v1.0 — Разбираем архитектуру новой системы умного дома

Статья на английском / read in english

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

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

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

Хаб является центральным элементом системы. Он обеспечивает управление девайсами и координирует их работу. Хаб хранит основную базу данных с информацией о пользователях, доме, комнатах и девайсах. Через локальный HTTP-сервер и WS-сервер, хаб предоставляет API для работы с базой данных и высокоуровневого управления девайсами.

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

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

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

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

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

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

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

Самое главное: теперь установить систему "МажорДом" могут даже те, кто не имеет опыта в программировании. В следующей статье я поделюсь подробным руководством о том, как это сделать.

Показать полностью

MajorDom v1.0 — От голосового помощника к умному дому

Статья на английском / read in english

В 2019 году я впервые узнал про возможность распознавания и синтеза речи на языке python. Гугл ассистент, сири, кортана и другие ассистенты тогда были еще более ограниченными и беспомощными, чем сейчас. О добавлении своих команд речи не шло от слова совсем. Тогда я и загорелся идеей создать своего голосового помощника, который не будет уступать даже Джарвису Тони Старка.

В процессе работы над ядром, начал задумываться, где этого ассистента хостить. Держать ноут постоянно включенным не вариант, а других компьютеров у меня не было. На помощь пришли одноплатные компьютеры raspberry pi. Я хотел, чтобы мой голосовой ассистент мог включать и выключать свет, управлять светодиодной лентой и шторами. С такими задачами отлично справляется ардуино. Оставалось только найти способ передавать команды с распбери. Использовать wifi и bluetooth не хотел с самого начала. Нашел в интернете информацию про модули nrf24l01, попробовал, понравилось.

Такая система работала довольно неплохо. Но было два ключевых недостатка:

  • Радиус действия ограничивался чувствительностью микрофона. С хорошим микрофоном все работало идеально в пределах комнаты, но не дальше.

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

Для решения первой задачи, в голосового ассистента я добавил http интерфейс на джанго, который мог принимать аудиофайл или строку. В комбинации с мобильным приложением на котлине, я получил беспроводной микрофон, таким образов расширив зону работы до радиуса действия роутера, то есть с комнаты до всей квартиры и даже чуть больше. Носить телефон по дому не всегда было удобно, так что через пару дней появилось приложение и на часах на wear os, что оказалось невероятно удобным решением.

Но я захотел большего: иметь доступ к своему помощнику всегда, а не только дома. Самым простым вариантом оказалось использование телеграм-бота как интерфейс ввода-вывода. Но меня не покидало ощущение, что бот — это что-то не то. Я решил оставить его только как временное решение, пока занят разработкой чего-то лучше.

Я хотел получить возможность использовать свое мобильное приложение для доступа к ассистенту на расстоянии. Надо было всего лишь придумать способ отправить запрос на локальный джанго сервер, не находясь при этом в локальной сети. Я был готов открывать и пробрасывать порты на роутере, но провайдер не дал мне белый ip. Тогда я попробовал ngrok. В первое время работало хорошо, но в бесплатной версии сервер периодически падал и менял адрес. Вариант с впн-туннелем я отбросил почти сразу. Стоимость vps была равна стоимости подписки на ngrok, но реализация была в разы сложнее.

Тогда я вспомнил, что у меня есть бесплатный хостинг для php сайтов на beget и переизобрел Long Polling и очереди. Реализация была максимально простой: приложение отправляло запрос на хостинг. Там php код добавлял тело (json) запроса в конец массива и записывал в локальный файл. Малина дома каждую секунду отправляла запрос на чтение этого файла, после чтения массив чистился. Таким образом мне удалось отправлять команды домой из любой точки планеты страны! Аналогичным образом я сделал получение ответа от ассистента: продублировал реализацию и поменял роли. Два файла и четыре эндпоинта на бесплатном хостинге на пыхе дали мне стабильную двустороннюю связь с моим домашним помощником. Чуть позже научил ассистента самостоятельно отправлять мне сообщения, например, с номером аудитории следующей пары в начале каждой перемены. Не успел всем похвастаться в колледже, как кто-то стал спамить мне домой. Пришлось добавить авторизацию: логин и пароль задавались хардкодом в приложении, а на сервере была проверка в стиле.

if ($login == 'markparker' && $password == 'MyVeryStrongP@ssw0rd!') {};

Репозитории приложения были приватные, а сервер был вообще без репы (зачем репа на один файл до 100 строк?), так что такого уровня безопасности мне более чем хватало.

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

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

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

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

Показать полностью
Отличная работа, все прочитано!