![](https://habrastorage.org/webt/gk/l6/wn/gkl6wnx7a3a1fjiuf_ij4glfl_i.png)
Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple HomePod откажется делать резервную копию данных в облако Amazon или Google и не будет выполнять команды с Andrioid-смартфона. Получается, что для полной интеграции вся техника в доме должна быть от одной компании. Это явно ненормальная ситуация.
В прошлом году организация Mozilla объявила, что работает над созданием единого свободного фреймворка — программ и сервисов для Интернета вещей, работающих по открытому стандарту Web Things API, который использует JSON, REST и WebSockets API.
Фреймворк должен стать единым шлюзом для взаимодействия «умных» устройств разных производителей (Things Gateway). Сейчас организация официально объявила о запуске проекта Mozilla IoT, выложила стек программ и опубликовала руководство по построению системы «умного дома» с использованием Raspberry Pi. Заявка на стандартизацию Web Things API подана в консорциум W3C 2 февраля 2018 года.
В таблице показан нынешний зоопарк протоколов и сервисов, который используют производители устройств Интернета вещей. У каждой компании — свой облачный сервис, свой протокол коммуникации с приложениями. Устройства работают под разными операционными системами. Единственное общее между ними — поддержка сетевого протокола WiFi.
![](https://habrastorage.org/webt/ud/uj/nc/udujnczrguemzyacvrz1bukmkgw.png)
Mozilla считает своей миссией «гарантировать, что Интернет является глобальным общественным ресурсом, открытым и доступным для всех. Интернет, который действительно в первую очередь служит людям, когда люди могут самостоятельно формировать собственный опыт и наделены полномочиями для этого, в безопасном и независимом окружении».
Устройства Интернета вещей должны быть в первую очередь подконтрольны пользователям, а не компаниям-производителям. Если человек хочет подключить смарт-колонку одного производителя к системе освещения другого производителя, он вправе сделать это независимо от желания производителя. Это законное право человека, потому что смарт-колонка находится в его частной собственности и он может делать с ней что угодно.
Цель проекта Mozilla IoT — создать децентрализованную защищённую сеть на открытых стандартах с упором на безопасность и приватность.
С момента первого анонса в июне 2017-го года Mozilla сотрудничала с сообществом мейкеров, с тестерами, разработчиками и конечными пользователями, чтобы подготовить проект жизнеспособной открытой системы. В качестве центрального хаба домашней системы Интернета вещей выбран одноплаточный мини-компьютер Raspberry Pi 3.
В текущей версии стек программ Things Gateway поддерживает следующие функции:
- Голосовые команды устройствам через микрофон на компьютере.
- Движок правил (”If this, then that”) для определения логики взаимодействия устройств друг с другом.
- План помещений с наложением устройств на карту дома.
- «Виртуальные» версии устройств, которых в данный момент нет в наличии: умные лампочки, выключатели, сенсоры и т. д.
- Система плагинов для поддержки новых протоколов и устройств.
- Новая система безопасной авторизации сторонних приложений (через OAuth).
Raspberry Pi 3 имеет встроенную поддержку WiFi и Bluetooth. Для подключения других протоколов вроде Zigbee или Z-Wave поддерживаются некоторые модели USB-ключей: Digi XStick (версия ZB mesh) или любые OpenZWave-совместимые устройства.
![](https://habrastorage.org/webt/dj/q4/-k/djq4-ksw-tbmjz6ahi5wsfzd0ra.png)
Чтобы развернуть свободный шлюз Интернета вещей от Mozilla, нужно скачать и установить на Raspberry Pi образ программного обеспечения Things Gateway 0.3. Кстати, с этой программой можно поэкспериментировать на ПК или ноутбуке: она распространяется с открытыми исходными кодами, так что можно самостоятельно собрать её из исходников.
После установки сертификатов и веб-сервера шлюз Mozilla Things Gateway готов к работе. Он работает как точка доступа WiFi, транслируя сетевое име (SSID) “Mozilla IoT Gateway”. К ней можно подключиться с ноутбука или смартфона — тогда автоматически загрузится страница настроек. Как вариант, шлюз Raspberry Pi сам подключается к существующей беспроводной сети.
Mozilla Things Gateway работает с настоящими или самоподписанными сертификатами. Если это необходимо, то можно установить сертификаты от авторизованного центра, например, у GlobalSign есть инфраструктура открытых ключей специально для Интернета вещей, которая способна выдавать до 3000 сертификатов в секунду. Но вообще на этапе настройки шлюза при выборе поддомена Things Gateway автоматически генерирует SSL-сертификат Let's Encrypt и устанавливает защищённое соединение для удалённого доступа в систему через интернет.
![](https://habrastorage.org/webt/jc/_z/ea/jc_zeamt-_e1vsnpepj48vvmspq.png)
После настроек шлюза открывается окно для добавления устройств в локальную сеть Интернета вещей.
![](https://habrastorage.org/webt/wj/1a/-f/wj1a-fkut7dabtqwdydfogigd_4.png)
Отсюда можно включать/выключать устройства и просматривать их свойства. Например, на скриншоте внизу показан умный выключатель с кнопками включения и выключения.
![](https://habrastorage.org/webt/a2/ly/xz/a2lyxze7fa3aejn-vpibslfwdnm.png)
На экране свойств выключатель показывает текущую потребляемую мощность, напряжение, силу тока и частоту.
![](https://habrastorage.org/webt/ua/eb/gb/uaebgbegcp1ygazmh4-dq_n8ota.png)
Для умной лампочки, на соответствующем экране можно установить яркость и цвет освещения.
![](https://habrastorage.org/webt/fd/yv/eb/fdyvebctxl8nt6iuy5j0gpungp8.png)
Конечно, все эти настройки можно делать из фирменного программного обеспечения и программ, которые поставляются в комплекте с каждым из этих устройств. Но в том-то и дело, что устройств много, и у каждого — своя программа управления. Открытый стандарт Web Things API и свободный шлюз от Mozilla должны в перспективе объединить все эти гаджеты разных компаний в единую систему.
«Каждый производитель обычно создаёт собственное приложение, которое работает только с собственным брендом, — пишет Mozilla. — Если будущее подключенных устройств IoT по-прежнему будет включать в себя проприетарные решения, то их стоимость останется высокой, в то время как рынок останется фрагментированным и будет расти медленно. Потребители не должны быть привязаны к определённому продукту, бренду или платформе. Это приведёт только к премиальной оплате за такие простые вещи как умная лампочка».
Mozilla считает, что будущее подключённых устройств должно быть больше похоже на открытый веб. Оно должно быть децентрализованным — следует отдать контроль в руки людей, которые используют эти устройства.
Всех желающих приглашают к участию в дальнейшей разработке свободного фреймворка.
Проект Mozilla IoT на Github
Установка Mozilla Things Gateway на Raspberry Pi