O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Plataformas

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

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

Apoio, suporte

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. Plataformas não identificadas não foram testadas recentemente e podem ser consideradas como tendo "Suporte limitado".

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

Arquitetura do sistema

Arquitetura do sistema OT

O OpenThread foi projetado com portabilidade e flexibilidade em mente. O código é portátil C / C ++ (C99 e C ++ 03), 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 SO. Até o momento, foi demonstrado que o OpenThread é 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 ganchos para utilizar recursos avançados 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 possui 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 GNU padrão, a fonte foi projetada para funcionar com várias outras cadeias de ferramentas populares como IAR e Visual Studio.

Projetos de plataformas

O OpenThread suporta os designs de sistema no chip (SoC) e co-processador de rede (NCP).

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

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

Chip único, somente thread (SoC)

Arquitetura OT SoC

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

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

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

Co-processador de rede (NCP)

Arquitetura OT NCP

O design padrão do NCP 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. O processador host se comunica com o dispositivo OpenThread por meio de uma interface serial (normalmente SPI ou UART) através do 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 dos aplicativos são independentes da construção do OpenThread.

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

Co-processador de rádio (RCP)

Arquitetura OT Host-Controller

Essa é uma variante do design do NCP, em que o núcleo do OpenThread reside no processador host, com apenas um "controlador" mínimo 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 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 ativado para processar o vídeo.

Problemas de plataforma aberta

Atualmente, os seguintes problemas estão abertos para plataformas OpenThread: