Mozilla развивает концепцию Web of Things
Разработчики из сообщества Mozilla выступили с инициативой Web of Things, в рамках которого попытались адаптировать идей, заложенные в Web, для построения децентрализованной сети устройств, относящихся к категории интернета вещей (Internet of Things, IoT). В частности, предлагается использовать URL для адресации подобных устройств и обеспечить возможность доступа к ним из Web. В настоящее время проектом уже подготовлена спецификация Web Thing API, которая передана на рассмотрение консорциуму W3C, и реализация шлюза для объединения и подключения к Web of Things имеющихся устройств.
Отмечается, что многие новые устройства, ориентированные на подключение к глобальной сети, имеют плачевный уровень безопасности, например, для них не поставляются обновления прошивки с устранением уязвимости и наблюдаются большие проблемы с соблюдением приватности (например, собираются, сохраняются и используются персональные данные). Также IoT-устройства формируются на базе различных проприетарных стеков, что создает проблемы с совместимостью устройств между собой, мешает организации централизованного управления и унификации взаимодействия с устройствами (например, производители предлагают свои наборы ПО для управления, несовместимые с продуктами других производителей, а также привязывают решения к своим облачным платформам).
В рамках проекта Web of Things осуществлена попытка создания слоя абстракции, который позволил бы объединить уже имеющиеся устройства и предложить универсальный API для организации взаимодействия. Web of Things (WoT) предлагает три варианта реализации поддержки WoT API: прямая интеграция при которой WoT API реализуется на стороне IoT-устройства, работа через шлюз, транслирующий в WoT API сторонние протоколы (например, может применяться для ограниченных по ресурсам устройств, на которых невозможно запустить HTTP-сервер) и работа через облако.
Предложенный прототип шлюза написан на JavaScript с использованием серверной платформы Node.js и доступен в виде готовых сборок для установки на платы Raspberry Pi. Для трансляции имеющихся протоколов и возможностей устройств IoT применяются подключаемые адаптеры, которые уже подготовлены для манипуляции с GPIO через Web API, а также для организации управления при помощи ZigBee и ZWave.
Шлюз поддерживает такие функции, как определение устройств в локальной сети, выбор web-адреса для соединения с устройствами в домашней сети из интернета (доступ осуществляется с использованием TLS-шифрования), создание учетных записей для доступа к web-интерфейсу шлюза, подключение к шлюзу устройств, поддерживающих проприетарные протоколы ZigBee и Z-Wave, удаленное включение и выключение устройств из web-приложения.
Из еще не реализованных компонентов отмечаются Things Cloud и Things Framework. Things Cloud представляет собой коллекцию облачных сервисов, упрощающих решение задач по управлению большим числом географически разнесенных IoT-устройств. Things Framework&8202;предоставляет набор заменяемых компонентов для создания IoT-устройств, которые могут напрямую взаимодействовать с с Web of Things, без применения шлюзов, транслирующих обращение через штатные протоколы IoT.