Google is committed to advancing racial equity for Black communities. See how.

Платформы

OpenThread, выпущенный Google, был перенесен на несколько устройств и платформ командой OpenThread, поставщиками микросхем и сообществом. Примеры сборки для всех перенесенных платформ включены в хранилище OpenThread .

См Поиск Вендоры для поиска списка всех поставщиков поддерживаемых платформ и портов сообщества.

Служба поддержки

Поддержка каждой платформы со временем меняется. Некоторые платформы имеют текущий уровень поддержки, определенный командой OpenThread. Платформы без тегов в последнее время не тестировались и могут рассматриваться как имеющие «ограниченную поддержку».

Уровень поддержки Описание
Поддерживается Полная и базовая поддержка, а также любой сертифицированный компонент Thread, использующий OpenThread. Многие из этих платформ были протестированы и использованы командой OpenThread и рекомендованы для использования в наших демонстрациях и Codelabs.
Ограниченная поддержка Эти платформы не были полностью протестированы, и в них могут отсутствовать некоторые ключевые функции.
Не поддерживается В настоящее время не поддерживается и могут иметь проблемы с запуском OpenThread. Используйте на свой риск.

Архитектура системы

Архитектура системы ОТ

OpenThread разработан с учетом портативности и гибкости. Код является переносимым C / C ++ (C99 и C ++ 03), который не зависит от архитектуры системы из-за узкого уровня абстракции. Этот уровень абстракции означает, что OpenThread может работать как на «голом железе», так и на ОС. На сегодняшний день OpenThread продемонстрировала возможность работы на FreeRTOS, RIOT-OS, Zephyr OS, Linux и macOS.

Портативный характер OpenThread не делает никаких предположений о функциях платформы. OpenThread предоставляет перехватчики для использования расширенных радио- и криптографических функций, снижая системные требования, такие как память, код и вычислительные циклы. Это можно сделать для каждой платформы, сохранив при этом возможность использовать стандартную конфигурацию по умолчанию.

OpenThread имеет настраиваемую систему сборки, с помощью которой разработчик может включать или отключать функции по мере необходимости. Помимо набора инструментов GNU по умолчанию, исходный код разработан для работы с рядом других популярных наборов инструментов, таких как IAR и Visual Studio.

Платформенные конструкции

OpenThread поддерживает как систему на кристалле (SoC), так и сетевой сопроцессор (NCP).

SoC - это однокристальное решение, объединяющее RFIC (802.15.4 в случае Thread) и процессор, где OpenThread и уровень приложения выполняются на локальном процессоре.

ПНК дизайн , где слой приложение работает на хост - процессором и обменивается данными с OpenThread через последовательное соединение с использованием стандартизированного протокола хост-контроллера мы называем шпинель . В этой конструкции OpenThread может работать либо на радиотерминале, либо на хост-процессоре.

Одночиповый, только поток (SoC)

Архитектура OT SoC

В этой схеме уровень приложения и OpenThread работают на одном процессоре. Приложение напрямую использует API OpenThread и стек IPv6.

Это конструкция SoC, наиболее часто используемая для конечных устройств. Поскольку он хорошо интегрирован в единый кремний, он имеет самую низкую стоимость и низкое энергопотребление.

Одночиповый, многоинтерфейсный (SoC)

Архитектура OT с несколькими SoC

Когда SoC имеет несколько радиомодулей, таких как 802.15.4 и Wi-Fi или 802.15.4 и Bluetooth с низким энергопотреблением (BLE), уровень приложений и OpenThread по-прежнему работают на одном процессоре. В дизайне с несколькими интерфейсами OpenThread использует общий сторонний стек IPv6 через необработанный интерфейс дейтаграммы IPv6.

Сетевой сопроцессор (NCP)

Архитектура OT NCP

Стандартный дизайн NCP имеет функции Thread на SoC и запускает уровень приложения на главном процессоре, который обычно более мощный (но требует больше энергии), чем устройство OpenThread. Хост-процессор связывается с устройством OpenThread через последовательный интерфейс (обычно SPI или UART) по протоколу Spinel.

Преимущество этой конструкции заключается в том, что хост с более высоким энергопотреблением может спать, в то время как устройство OpenThread с низким энергопотреблением остается активным, чтобы сохранить свое место в сети Thread. А поскольку SoC не привязан к уровню приложений, разработка и тестирование приложений не зависят от сборки OpenThread.

Эта конструкция полезна для устройств шлюза или устройств, у которых есть другие требования к обработке, например IP-камер и динамиков.

Радиопроцессор (RCP)

Архитектура OT RCP

Это вариант дизайна NCP, в котором ядро ​​OpenThread находится на главном процессоре с минимальным «контроллером» уровня MAC на устройстве с радиомодулем Thread. В этой конструкции хост-процессор обычно не спит, отчасти для обеспечения надежности сети потоков.

Преимущество здесь в том, что OpenThread может использовать ресурсы более мощного процессора.

Эта конструкция полезна для устройств, которые менее чувствительны к ограничениям мощности. Например, главный процессор видеокамеры всегда включен для обработки видео.

Проблемы с открытой платформой

В настоящее время для платформ OpenThread открыты следующие проблемы: