Projetos de coprocessador são suportados pelo OpenThread. Existem duas arquiteturas de design principais:
- Radio Co-Processor (RCP) - Camada de aplicação e núcleo OpenThread no processador host, OpenThread MAC mínimo no SoC 802.15.4. A comunicação entre o RCP e o processador host é gerenciada pelo OpenThread Daemon por meio de uma interface SPI sobre o protocolo Spinel.
- Co-Processador de Rede (NCP) - Camada de aplicação no processador host, recursos OpenThread no SoC 802.15.4. A comunicação entre o NCP e o processador host é gerenciada pelo
wpantund
por meio de uma interface serial, normalmente usando SPI ou UART, sobre o protocolo Spinel.
Para obter mais informações sobre esses designs, consulte Projetos de plataforma .
Ao construir exemplos de OpenThread, imagens de firmware para seu projeto RCP ou NCP desejado devem ser criadas automaticamente. Para obter mais informações, consulte Binários .
Para downloads de imagens de firmware NCP pré-construídas selecionadas, junto com instruções de flash, consulte Firmware NCP pré-construído .
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 seja facilmente adaptado a outras tecnologias de rede no futuro. Ele é usado com os designs 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 para o Spinel Host-Controller Protocol .