Выпуск 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