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

Plataformas

O OpenThread lançado pelo Google foi portado para vários dispositivos e plataformas pela equipe do OpenThread, fornecedores de silício e a comunidade. Exemplos de construção para todas as plataformas portadas estão incluídos no repositório OpenThread .

Consulte Pesquisar fornecedores para obter uma lista pesquisável de todas as plataformas e portas da comunidade suportadas por fornecedores.

Apoiar

O suporte para cada plataforma varia ao longo do tempo. Algumas plataformas são marcadas com o nível atual de suporte, conforme identificado pela equipe do OpenThread. As plataformas não marcadas não foram testadas recentemente e podem ser consideradas como tendo "Suporte limitado".

Nível de suporte Descrição
Compatível Suporte completo e básico, bem como qualquer Componente Certificado Thread que use OpenThread. Muitas dessas plataformas foram testadas e usadas pela equipe OpenThread e são recomendadas para uso em nossas demonstrações e Codelabs.
Suporte limitado Essas plataformas não foram totalmente testadas e podem estar faltando algumas funcionalidades importantes.
Não suportado Não há suporte no momento e pode ter problemas ao executar o OpenThread. Use por sua conta e risco.

Arquitetura do sistema

Arquitetura do Sistema OT

OpenThread é projetado com portabilidade e flexibilidade em mente. O código é portátil C/C++ (C99 e C++03) que é independente da arquitetura do sistema devido a uma camada de abstração estreita. Essa camada de abstração significa que o OpenThread pode ser executado em bare-metal ou em um sistema operacional. Até o momento, o OpenThread demonstrou ser executado no FreeRTOS, RIOT-OS, Zephyr OS, Linux e macOS.

A natureza portátil do OpenThread não faz suposições sobre os recursos da plataforma. O OpenThread fornece os ganchos para utilizar recursos aprimorados de rádio e criptografia, reduzindo os requisitos do sistema, como memória, código e ciclos de computação. Isso pode ser feito por plataforma, mantendo a capacidade de usar como padrão uma configuração padrão.

O OpenThread tem um sistema de compilação configurável com o qual um desenvolvedor pode habilitar ou desabilitar recursos conforme necessário. Além da cadeia de ferramentas GNU padrão, a fonte foi projetada para funcionar com várias outras cadeias de ferramentas populares, como IAR e Visual Studio.

Projetos de plataforma

O OpenThread suporta designs de sistema em chip (SoC) e coprocessador de rede (NCP).

Um SoC é uma solução de chip único que possui o RFIC combinado (802.15.4 no caso de Thread) e processador, onde o OpenThread e a camada de aplicação são executados no processador local.

Um projeto NCP é onde a camada de aplicação é executada em um processador host e se comunica com o OpenThread por meio de uma conexão serial usando um protocolo de controlador de host padronizado que chamamos de Spinel . Nesse projeto, o OpenThread pode ser executado no rádio ou no processador host.

Chip único, somente thread (SoC)

Arquitetura de SoC OT

Nesse design, a camada de aplicativo e o OpenThread são executados no mesmo processador. O aplicativo usa diretamente as APIs OpenThread e a pilha IPv6.

Este é o design de SoC mais comumente usado para dispositivos finais. Por ser altamente integrado em um único silício, tem o menor custo e menor consumo de energia.

Chip único, interface múltipla (SoC)

Arquitetura de SoC Múltiplo OT

Quando um SoC tem vários rádios, como 802.15.4 e Wi-Fi, ou 802.15.4 e Bluetooth Low Energy (BLE), a camada de aplicação e o OpenThread ainda são executados no mesmo processador. No design de interface múltipla, o OpenThread aproveita a pilha IPv6 compartilhada de terceiros por meio de uma interface de datagrama IPv6 bruta.

Projetos de coprocessadores

O OpenThread suporta projetos de Coprocessador de Rádio (RCP) e Coprocessador de Rede (NCP). Para obter mais informações, consulte Projetos de coprocessadores .

Problemas de plataforma aberta

Os seguintes problemas estão atualmente abertos para plataformas OpenThread: