Компания Mozilla представила шлюз для интернета вещей

Компания Mozilla представила проект Things (Project Things), развивающий открытый фреймворк для организации взаимодействия с потребительскими и IoT-устройствами через Web. Работа над проектом началась в прошлом году в рамках инициативы по разработке технологий для построения децентрализованной сети устройств, использования URL для адресации таких устройств и предоставления возможности доступа к ним из Web.

Для преодоления фрагментации, вызванной многообразием прошивок и протоколов для IoT, подготовлена реализация шлюза, который выступает прослойкой для унификации доступа к различным категориям устройств, скрывая за собой особенности каждой платформы и не требуя использования специфичных для каждого производителя приложений. Шлюз можно установить на плату Raspberry Pi и получить систему управления умным домом, объединяющую все имеющиеся в доме IoT-устройства и предоставляющую средства для мониторинга и управления ими через Web-интерфейс. Платформа также позволяет создавать дополнительные web-приложения, которые могут взаимодействовать с устройствами через Web Thing API.

Таким образом, вместо установки своего мобильного приложения для каждого типа IoT-устройств, можно использовать единый унифицированный web-интерфейс. Шлюз поддерживает такие функции, как определение устройств в локальной сети, выбор web-адреса для соединения с устройствами из интернета, создание учётных записей для доступа к web-интерфейсу шлюза, подключение к шлюзу устройств, поддерживающих проприетарные протоколы ZigBee и Z-Wave, удалённое включение и выключение устройств из web-приложения. Отдельно отмечается, что кроме web-интерфейса и API в шлюзе реализована экспериментальная поддержка голосового управления, позволяющая распознавать и выполнять голосовые команды (например, «включи свет на кухне»).

0_1517982895.png

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

0_1517983664.png

В прошивку интегрированы функции автоматической доставки и установки обновлений (OTA, over-the-air), что позволяет оперативно устранять ошибки и уязвимости, не требуя от пользователя дополнительных манипуляций. Для обеспечения поддержки протоколов и устройств представлена новая система дополнений. Для авторизации доступа сторонних приложений к API предложена поддержка OAuth. В web-интерфейс добавлена карта размещения устройств, позволяющая наглядно оценить где и какое устройство находится в доме.

0_1517983783.png

Код проекта написан на языке JavaScript с использованием серверной платформы Node.js. Для взаимодействия шлюза с IoT-платформами предлагается набор дополнений, позволяющих обращаться к устройствам при помощи протоколов ZigBee и ZWave, через WiFi или при помощи прямого подключения к GPIO. Прошивки с шлюзом подготовлены для Raspberry Pi, Raspberry Pi 2, Raspberry Pi 3 и Raspberry Pi Zero W. В ближайшее время обещают подготовить пакет для OpenWrt. Список протестированных IoT-устройств и брелков ZigBee/ZWave предложен на данной странице.

Установка достаточно хорошо автоматизирована — достаточно загрузить предоставленную прошивку с шлюзом на SD-карту, подключиться к Raspberry Pi и открыть в браузере хост «gateway.local», после чего можно настроить подключение к WiFi, ZigBee или ZWave, найти имеющиеся IoT-устройства, настроить параметры для доступа извне и добавить самые востребованные устройства на домашний экран.

0_1517983342.png 0_1517983497.png 0_1517983836.png 0_1517983519.png 0_1517983560.png 0_1517983579.png

©  OpenNet