Plataformas

O OpenThread lançado pelo Google foi transferido para vários dispositivos e plataformas pela equipe do OpenThread, fornecedores de componentes eletrônicos e a comunidade. Exemplos de build para todas as plataformas transferidas estão incluídos no repositório OpenThread.

Consulte Fornecedores de pesquisa para ver uma lista pesquisável de todas as plataformas e portas da comunidade compatíveis com os fornecedores.

Suporte

O suporte para cada plataforma varia com o tempo. Algumas plataformas são marcadas com o nível atual de suporte, conforme identificado pela equipe do OpenThread. As plataformas sem tags não foram testadas recentemente e podem ter o status de "Suporte limitado".

Nível do suporteDescrição
Compatível Suporte completo e básico, além de qualquer componente certificado pelo Thread que use o OpenThread. Muitas dessas plataformas foram testadas e usadas pela equipe do OpenThread e são recomendadas para uso em demonstrações e codelabs.
Suporte limitado Essas plataformas não foram totalmente testadas e podem não incluir algumas funcionalidades importantes.
Sem suporte Não é compatível no momento e pode ter problemas ao executar o OpenThread. Use por sua própria conta e risco.

arquitetura do sistema.

Arquitetura de sistema OT

O OpenThread foi projetado com a portabilidade e a flexibilidade em mente. O código é portável C/C++ (C99 e C++11) que são independentes da arquitetura do sistema devido a uma camada de abstração restrita. Essa camada de abstração significa que o OpenThread pode ser executado em bare metal ou SO. Até agora, foi demonstrado que o OpenThread é executado em 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 hooks 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 padrão de uma configuração padrão.

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

Designs de plataforma

O OpenThread é compatível com designs de system on chip (SoC) e de coprocessador de rede (NCP, na sigla em inglês).

Um SoC é uma solução de um único chip que tem o RFIC combinado (802.15.4 no caso do Thread) e o processador, em que o OpenThread e a camada do aplicativo são executados no processador local.

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

Chip único, somente linha de execução (SoC)

Arquitetura de SoC OT

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

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

Ícone único e várias interfaces (SoC, na sigla em inglês)

Arquitetura de vários SoCs de 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 aplicativos e o OpenThread ainda são executados no mesmo processador. No design de várias interfaces, o OpenThread aproveita a pilha IPv6 de terceiros compartilhada por meio de uma interface de datagrama IPv6 bruto.

Projetos de coprocessador

O OpenThread é compatível com designs de coprocessador de rádio (RCP) e coprocessador de rede (NCP, na sigla em inglês). Para ver mais informações, consulte Projetos de coprocessador.

Problemas em plataformas abertas

Os seguintes problemas estão abertos no momento para as plataformas do OpenThread: