O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Projetos de coprocessadores

Os designs de coprocessador são suportados pelo OpenThread. Ao construir exemplos OpenThread, uma imagem de firmware para cada projeto de coprocessador é criada automaticamente. Para obter mais informações, consulte Binários .

Coprocessador de Rádio (RCP)

Arquitetura OT RCP

Em um projeto RCP, o núcleo do OpenThread reside no processador host com apenas um "controlador" mínimo de camada MAC no dispositivo com o rádio Thread. O processador host normalmente não dorme nesse design, em parte para garantir a confiabilidade da rede Thread.

A comunicação entre o RCP e o processador host é gerenciada pelo OpenThread Daemon por meio de uma interface SPI sobre o protocolo Spinel.

A vantagem aqui é que o OpenThread pode utilizar os recursos do processador mais poderoso.

Esse design é útil para dispositivos menos sensíveis a restrições de energia. Por exemplo, o processador host em uma câmera de vídeo está sempre ligado para processar o vídeo.

O OpenThread Border Router suporta um design RCP. Para obter mais informações, consulte Roteador de borda OpenThread .

Para construir um RCP, consulte os seguintes Codelabs:

Construir uma rede Thread com o Thread Border Router nRF52840

Coprocessador de rede (NCP)

Arquitetura OT NCP

O design NCP padrão possui recursos de Thread no SoC e executa a camada de aplicativo em um processador host, que normalmente é mais capaz (mas tem maiores demandas de energia) do que o dispositivo OpenThread.

A comunicação entre o NCP e o processador host é gerenciada pelo wpantund através de uma interface serial, normalmente usando SPI ou UART, sobre o protocolo Spinel.

O benefício desse design é que o host de maior potência pode dormir enquanto o dispositivo OpenThread de menor potência permanece ativo para manter seu lugar na rede Thread. E como o SoC não está vinculado à camada de aplicativos, o desenvolvimento e o teste de aplicativos são independentes da compilação do OpenThread.

Esse design é útil para dispositivos de gateway ou dispositivos que possuem outras demandas de processamento, como câmeras IP e alto-falantes.

Protocolo Spinel

Spinel é um protocolo de gerenciamento geral para permitir que um dispositivo host se comunique e gerencie um coprocessador. Inicialmente projetado para suportar NCPs baseados em Thread, o Spinel foi projetado com uma abordagem em camadas que permite que ele seja facilmente adaptado a outras tecnologias de rede no futuro. É usado com os projetos RCP e NCP.

Este protocolo está incluído no OpenThread em /src/lib/spinel . Uma ferramenta Python CLI chamada Pyspinel está disponível para fins de teste.

Para obter mais informações, consulte o Internet-Draft for the Spinel Host-Controller Protocol .