Выпуск Things Gateway 0.5, развиваемого в Mozilla шлюза для IoT-устройств

Компания Mozilla опубликовала выпуск Things Gateway 0.5, который представляет собой универсальную прослойку для организации доступа к различным категориям потребительских и IoT-устройств, скрывающую за собой особенности каждой платформы и не требующую использования специфичных для каждого производителя приложений. Код проекта написан на языке JavaScript с использованием серверной платформы Node.js. Для взаимодействия шлюза с IoT-платформами можно использовать протоколы ZigBee и ZWave, WiFi или прямое подключение через GPIO. Прошивки с шлюзом подготовлены для различных моделей Raspberry Pi.

Шлюз можно установить на плату Raspberry Pi и получить систему управления умным домом, объединяющую все имеющиеся в доме IoT-устройства и предоставляющую средства для мониторинга и управления ими через Web-интерфейс. Платформа также позволяет создавать дополнительные web-приложения, которые могут взаимодействовать с устройствами через Web Thing API. Таким образом, вместо установки своего мобильного приложения для каждого типа IoT-устройств, можно использовать единый унифицированный web-интерфейс. Для установки Things Gateway достаточно загрузить предоставленную прошивку на SD-карту, открыть в браузере хост «gateway.local», настроить подключение к WiFi, ZigBee или ZWave, найти имеющиеся IoT-устройства, настроить параметры для доступа извне и добавить самые востребованные устройства на домашний экран.

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

Основные новшества:

Система “capabilities”, позволяющая уйти от привязки к предопределённым типам устройств в пользу компоновки на основе расширяемых схем, представленных в специальном репозитории. Например, новая система позволяет легко определять схемы для комбинированных устройств, таких как датчики открытия дверей со встроенными датчиками температуры или умные замки с многоцветным светодиодным индикатором. Разработчикам также дана возможность создания собственных блоков при помощи инструментария Things Framework, предоставляющего средства для разработки на Rust, MicroPython и Arduino; Предоставление пользователю возможности выбора пиктограмм для представления тех или иных устройств через выбор пиктограмм из готовой коллекции или загрузки собственных пиктограмм; Помимо встроенного web-интерфейса, предлагаемого для устройств, реализована поддержка указания ссылок на отдельные web-интерфейсы, специально созданные для определённых устройств. Например, данная возможность может оказаться полезной при создании интерфейсов для сложных и нетипичных устройств, таких как роботы или пиксельные светодиодные стены (pixel wall); В дополнение к типовым свойства, таким как вкл/выкл, уровень и цвет, предоставлены такие действия как затемнение, которые активируются кнопкой и подразумевают отображение формы для ввода параметров; Добавлена возможность просмотра журнала событий для каждого устройства; Расширены возможность движка для определения правил, в котором теперь можно создавать правила с несколькими входными и выходными значениями. Также теперь можно определять сложные правила, включающие операторы “if”, “while”, “and”, “or” и “equals”, и использовать в качестве выходных значений цвета и текстовые строки; Добавлен интерфейс для построения интерактивного плана размещения устройств на этаже, позволяющий сразу проанализировать или изменить состояние каждого устройства, например, включить или выключить одним кликом, или перейти к детальным настройкам при клике с удержанием нажатия; Добавлен экспериментальный умный помощник, взаимодействие с которым построено в форме текстового чата или голосового взаимодействия. Поддерживается простой набор команд, таких как включить и выключить, установить уровень или цвет. По умолчанию помощник отключен и требует активации через меню «Settings -> Smart Assistant UI»; Представлен отдельный набор настроек для разработчиков, предоставляющих доступ к системным логам и активации SSH-сервера для входа в режим командной строки.

Источник: opennet.ru