|
После трёх лет разработки представлен релиз платформы для потребительских интернет-устройств WebThings Gateway 2.0. Изначально платформа развивалась компанией Mozilla, но затем была преобразована в независимый проект, управляемый и развиваемый сообществом. Платформа WebThings состоит из шлюза WebThings Gateway и библиотеки WebThings Framework. Код проекта написан на языках TypeScript и JavaScript с использованием серверной платформы Node.js и распространяется под лицензией MPL 2.0. Загрузочные сборки с интегрированной поддержкой WebThings Gateway, предоставляющие унифицированный интерфейс для настройки умного дома, подготовлены в форме образа для плат Raspberry Pi, Docker-контейнера и snap-пакета.
WebThings Gateway представляет собой универсальную прослойку для организации доступа к различным категориям потребительских и IoT-устройств, скрывающую за собой особенности каждой платформы и не требующую использования специфичных для каждого производителя приложений. Для взаимодействия шлюза с IoT-платформами можно использовать протоколы ZigBee и ZWave, WiFi или прямое подключение через GPIO. Шлюз можно установить на плату Raspberry Pi и получить систему управления умным домом, объединяющую все имеющиеся в доме IoT-устройства и предоставляющую средства для мониторинга и управления ими через Web-интерфейс.
Платформа также позволяет создавать дополнительные web-приложения, которые могут взаимодействовать с устройствами через Web API. Таким образом, вместо установки своего мобильного приложения для каждого типа IoT-устройств, можно использовать единый унифицированный web-интерфейс. Для установки WebThings Gateway достаточно загрузить предоставленную прошивку на SD-карту, открыть в браузере хост "gateway.local", настроить подключение к WiFi, ZigBee или ZWave, найти имеющиеся IoT-устройства, настроить параметры для доступа извне и добавить самые востребованные устройства на домашний экран.
Шлюз поддерживает такие функции, как определение устройств в локальной сети, выбор web-адреса для соединения с устройствами из интернета, создание учётных записей для доступа к web-интерфейсу шлюза, подключение к шлюзу устройств, поддерживающих проприетарные протоколы ZigBee и Z-Wave, удалённое включение и выключение устройств из web-приложения, удалённый мониторинг за состоянием дома и видеонаблюдение.
WebThings Framework предоставляет набор заменяемых компонентов для создания IoT-устройств, которые могут напрямую взаимодействовать c использованием Web Things API. Подобные устройства могут автоматически определяться шлюзами на базе WebThings Gateway или клиентским ПО (используется mDNS) для последующего мониторинга и управления через Web. Реализации серверов для Web Things API подготовлены в форме библиотек на
Python,
Java,
Rust, Arduino и MicroPython.
В новой версии:
- Добавлена поддержка групп устройств, позволяющая, например, разнести по отдельным группам датчики и элементы управления освещением. Перемещение элементов в группы и между группами осуществляется в режиме drag&drop.
- Обеспечена совместимость со стандартами семейства W3C Web of Things 1.x, которые задействованы вместо специфичного API Web Thing. Для описания подключённых устройств задействована спецификация WoT Thing Description 1.1, для обнаружения устройств - WoT Discovery 1.0, для обеспечения переносимости - WoT Profiles 1.0.
- Преднастроенный Docker-образ переведён на использование Debian 12 (ранее применялся Debian 10). Вместо Node.js 10 и Python 3.7 задействованы Node.js 20 и Python 3.11.
- Системные образы для плат Raspberry Pi переведены на использование дистрибутив Raspberry Pi OS.
- Сформирован экспериментальный пакет в формате snap.
Отдельно упоминается о развитии десктоп-приложения WebThings App и инструментария WebThings Shell, позволяющего создавать web-интерфейсы и панели управления на базе сенсорных дисплеев.
|