Компания Mozilla представила (https://blog.mozilla.org/blog/2018/02/06/announcing-project-.../) проект Things (Project Things), развивающий открытый фреймворк для организации взаимодействия с потребительскими и IoT-устройствами через Web. Работа над проектом началась (https://www.opennet.ru/opennews/art.shtml?num=46795) в прошлом году в рамках инициативы по разработке технологий для построения децентрализованной сети устройств, использования URL для адресации таких устройств и предоставления возможности доступа к ним из Web. Для преодоления фрагментации, вызванной многообразием прошивок и протоколов для IoT, подготовлена (https://hacks.mozilla.org/2018/02/how-to-build-your-own-priv.../) реализация шлюза, который выступает прослойкой для унификации доступа к различным категориям устройств, скрывая за собой особенности каждой платформы и не требуя использования специфичных для каждого производителя приложений. Шлюз можно установить (http://iot.mozilla.org/gateway/) на плату Raspberry Pi и получить систему управления умным домом, объединяющую все имеющиеся в доме IoT-устройства и предоставляющую средства для мониторинга и управления ими, в том числе через Web-интерфейс и дополнительные приложения, которые могут взаимодействовать с устройствами через Web Thing API (https://iot.mozilla.org/wot/).
Таким образом, вместо установки своего мобильного приложения для каждого типа IoT-устройств, обеспечивается единый унифицированный web-интерфейс. Шлюз поддерживает такие функции, как определение устройств в локальной сети, выбор web-адреса для соединения с устройствами из интернета, создание учётных записей для доступа к web-интерфейсу шлюза, подключение к шлюзу устройств, поддерживающих проприетарные протоколы ZigBee и Z-Wave, удалённое включение и выключение устройств из web-приложения. Отдельно отмечается, что кроме web-интерфейса и API в шлюзе реализована экспериментальная поддержка голосового управления, позволяющая распознавать и выполнять голосовые команды (например, "включи свет на кухне").
Из возможностей нового выпуска также упоминается движок для определения логических правил, позволяющих автоматически реагировать на определённые ситуации с устройствами (например, можно автоматически включить устройство "Б", если было включено устройство "А"). В web-интерфейс добавлена карта размещения устройств, позволяющая наглядно оценить где и какое устройство находится в доме. Добавлена поддержка новых классов устройств, таких как управляемые розетки, настраиваемые светильники, цветная подсветка, многоуровневые выключатели и различные датчики, а также виртуальные версии различных типов устройств. Для обеспечения поддержки протоколов и устройств представлена новая система дополнений. Для авторизации доступа сторонних приложений к API предложена поддержка OAuth.
Код проекта написан (https://github.com/mozilla-iot/gateway/) на языке JavaScript с использованием серверной платформы Node.js. Для взаимодействия шлюза с IoT-платформами предлагается набор модулей, позволяющих обращаться к устройствам при помощи протоколов ZigBee и ZWave, через WiFi или при помощи прямого подключения к GPIO. Прошивки с шлюзом подготовлены для Raspberry Pi,
Raspberry Pi 2, Raspberry Pi 3 и Raspberry Pi Zero W. В ближайшее время обещают подготовить пакет для OpenWrt. Список протестированных IoT-устройств и брелков ZigBee/ZWave предложен на данной странице (https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware).
Установка достаточно хорошо автоматизирована - достаточно загрузить предоставленную прошивку с шлюзом на SD-карту, подключиться к Raspberry Pi и открыть в браузере хост "gateway.local", после чего можно настроить подключение к WiFi, ZigBee или ZWave, найти имеющиеся IoT-устройства, настроить параметры для доступа извне и добавить самые востребованные устройства на домашний экран. В прошивку интегрированы функции автоматической доставки и установки обновлений (OTA, over-the-air), что позволяет оперативно устранять ошибки и уязвимости, не требуя от пользователя дополнительных манипуляций.
URL: https://blog.mozilla.org/blog/2018/02/06/announcing-project-.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=48029