Проекты сопроцессоров поддерживаются OpenThread. При сборке примеров OpenThread автоматически создаётся образ прошивки для каждого проекта сопроцессора. Подробнее см. в разделе «Двоичные файлы» .
Радиосопроцессор (RCP)

В архитектуре RCP ядро OpenThread располагается на хост-процессоре, а на устройстве с радиомодулем Thread находится лишь минимальный «контроллер» MAC-уровня. В такой архитектуре хост-процессор обычно не переходит в спящий режим, отчасти для обеспечения надёжности сети Thread.
Связь между RCP и главным процессором управляется OpenThread Daemon через интерфейс SPI по протоколу Spinel.
Преимущество здесь в том, что OpenThread может использовать ресурсы более мощного процессора.
Такая конструкция полезна для устройств, менее чувствительных к ограничениям мощности. Например, главный процессор видеокамеры всегда включён для обработки видео.
Пограничный маршрутизатор OpenThread поддерживает архитектуру RCP. Подробнее см. в статье «Пограничный маршрутизатор OpenThread» .
Чтобы создать RCP, обратитесь к следующим лабораторным работам:
Создание сети Thread с помощью маршрутизатора Thread Border Router nRF52840
Сетевой сопроцессор (NCP)

Стандартная конструкция NCP имеет функции Thread на SoC и запускает прикладной уровень на хост-процессоре, который, как правило, более производительный (но и потребляет больше энергии), чем устройство OpenThread.
Преимущество такой конструкции заключается в том, что хост с более высокой мощностью может находиться в спящем режиме, в то время как менее мощное устройство OpenThread остаётся активным, сохраняя своё место в сети Thread. А поскольку SoC не привязан к прикладному уровню, разработка и тестирование приложений не зависят от сборки OpenThread.
Такая конструкция полезна для шлюзовых устройств или устройств, предъявляющих другие требования к обработке данных, таких как IP-камеры и динамики.
Протокол Шпинеля
Spinel — это протокол общего управления, позволяющий хост-устройству взаимодействовать с сопроцессором и управлять им. Изначально разработанный для поддержки NCP на основе потоков, Spinel использует многоуровневый подход, позволяющий в будущем легко адаптировать его к другим сетевым технологиям. Он используется как в архитектурах RCP, так и в NCP.
Этот протокол включён в OpenThread в /src/lib/spinel
. Для тестирования доступен инструмент командной строки Python под названием Pyspinel .
Более подробную информацию см. в интернет-проекте протокола хост-контроллера Spinel .