Mozilla запускает инфраструктуру Project Things IoT для Raspberry Pi

Mozilla представила «Project Things», основанную на стандартных веб-технологиях и проекте Web of Things, и выпустила код, работающий на Raspberry Pi.

В марте прошлого года, спустя несколько месяцев после того, как Mozilla объявила о закрытии своего проекта Firefox OS для мобильных телефонов на базе Linux, она представила четыре проекта «Подключенные устройства» на базе ОС Firefox для Интернета вещей.
С тех пор проект «Подключенные устройства» был закрыт, но сайт по-прежнему доступен для других, чтобы продвигать код.
Вместо этого Mozilla обратила свою команду IoT к существующему проекту Web of Things (WoT), направленному на разработку децентрализованной среды IoT с открытым исходным кодом, построенной в максимально возможной степени с использованием существующих технологий World Wide Web.

В настоящее время Mozilla анонсировала собственную платформу Project Things, предназначенную для объединения существующих спецификаций и кода Web of Things в рамках глобальной инфраструктуры, состоящей из компонентов устройства, шлюза и облака.
В качестве отправной точки компания выпустила прототип версии стека Things Gateway, который работает на Raspberry Pi.


Вертикальные бункеры IoT (слева) и метаслой Web of Things

(нажмите на картинку, чтобы увеличить)

Говорят, что Project Things совместима с WoT и соответствующими усилиями по стандартизации в IETF , W3C , OGC (SensorThings) и OCF .
Поддержка Linux Foundation, поддерживаемая OCF (Open Connectivity Foundation), которая находится в процессе интеграции стандарта AllJeen Alliance AllJoyn в свою инфраструктуру IoTctivity , является, вероятно, самой крупной из многих независимых от поставщиков усилий по стандартизации IoT с открытым исходным кодом.

Тем не менее, большинство поставщиков IoT для дома и промышленности чаще присоединяются к одной или нескольким экосистемам IoT, продвигаемым горсткой крупнейших мировых технологических компаний.
Все эти стеки включают запатентованную технологию, а также различные степени более открытых технологий, которые более или менее контролируются одной компанией.

Фреймворк Project Things (и WoT в целом) предназначен для того, чтобы выступать в роли металлоискателя, который находится на вершине этих экосистем IoT, чтобы заполнить пробелы, пишет Бен Фрэнсис из Mozilla в блоге Mozilla Hacks от 28 июня.
Как показано на диаграмме выше, каждая экосистема представляет собой вертикальный бункер, препятствующий истинному взаимодействию.
По мере взросления экосистем они могут добавить функциональную совместимость с другими структурами по краям, но зависимость от базовых технологий или облачных платформ еще больше укрепляет барьеры между хранилищами.

Перечисленные здесь три более ориентированных на Linux экосистемы - Google / Nest, Amazon AWS IoT и Samsung Artik / SmartThings - предлагают больше открытых технологий и большую взаимную совместимость, чем хранилища Apple или Microsoft, но пробелы по-прежнему велики.
Даже в бункерах существуют технологии, которые не полностью интегрированы, такие как различные версии Weave, используемые Google и Nest, или Samsung, которые еще должны быть интегрированы в семейства продуктов Artik, SmartThings и Tizen.

Основная концепция Project Things и WoT схожа с концепцией Интернета.
По словам Фрэнсиса, цель состоит в том, чтобы «создать децентрализованный Интернет вещей путем предоставления URL-адресов вещей в Интернете, чтобы сделать их связанными и доступными для обнаружения, и определения стандартной модели данных и API-интерфейсов для обеспечения их взаимодействия». Роль Mozilla в WoT заключается в « помогите определить новые веб-стандарты и продвигайте лучшие практики в области конфиденциальности, безопасности и взаимодействия », - добавляет он.

В Project Things и WoT используются существующие веб-стандарты, такие как REST, HTTP, JSON, WebSockets и TLS (безопасность транспортного уровня).
W3C рассматривает возможность добавления новых стандартов для включения WoT.
По словам Фрэнсиса, Mozilla считает, что существует необходимость в новом формате «Web Thing Description для описания вещей», API-интерфейсе Web Thing в стиле REST для взаимодействия с ними и, возможно, новом поколении HTTP, лучше оптимизированном для случаев использования IoT и использования ресурсами ограниченные устройства ».

4 июля Mozilla представила W3C предложение по спецификации Web Thing API .
Спецификация включает «простой, но расширяемый формат описания Web Thing с кодировкой JSON по умолчанию и API REST + WebSockets Web Thing», пишет Фрэнсис.


Project Things в трех вариантах

(щелкните изображение, чтобы увеличить)

Как и многие инфраструктуры IoT, Project Things делится на устройства (интеллектуальный узел / конечная точка), шлюз и облачные компоненты.
Устройства используют шаблон Direct Integration Pattern в Things Framework для непосредственного предоставления WoT API.
Такие конечные точки должны иметь Wi-Fi или аналогичный, поддерживаемый TCP / IP и HTTP.

Компонент Things Gateway работает на шлюзах, которые агрегируют сообщения от сетевых устройств низкого уровня или PAN.
Компонент Things Cloud использует облачный сервер для предоставления API WoT и может управлять многочисленными шлюзами и интеллектуальными устройствами IoT в широком географическом регионе.

Прототип программного обеспечения работает на Raspberry Pi

Прототип Things Gateway от Mozilla предназначен для работы под Linux на Raspberry Pi 3 SBC.
«Экспериментальное предварительное программное обеспечение» может быть адаптировано для работы на других платах разработчиков или даже на настольном компьютере, говорит Mozilla.
Программное обеспечение реализовано на JavaScript с веб-сервером NodeJS, но Mozilla работает над «системой надстроек адаптера» для включения других языков программирования, таких как Rust.


Архитектура Things Gateway

(щелкните изображение, чтобы увеличить)

Прототип программного обеспечения Things Gateway позволяет вам:

  • Легко обнаружить шлюз в вашей локальной сети
  • Выберите веб-адрес, который соединяет ваш дом с Интернетом через безопасный туннель TLS, не требующий настройки в вашей домашней сети.
  • Создайте имя пользователя и пароль для авторизации доступа к вашему шлюзу
  • Найдите и подключите к шлюзу коммерчески доступные интеллектуальные штекеры ZigBee и Z-Wave
  • Включите и отключите эти интеллектуальные заглушки из веб-приложения, размещенного на самом шлюзе
Демонстрация выключателя света прототипа Simple Project Things

Дальнейшая информация

Более подробную информацию о Project Things можно найти в объявлении блога Mozilla и на странице API Web Thing .
Образ прототипа Raspberry Pi Thing Gateway можно скачать здесь .