Como criar o OpenThread
As etapas para criar o OpenThread variam de acordo com o conjunto de ferramentas, a máquina do usuário e a plataforma de destino.
O fluxo de trabalho mais comum é:
- Configure o ambiente de build e instale a cadeia de ferramentas desejada:
- Para criar diretamente em uma máquina,consulte o codelab de simulação para instruções detalhadas.
- Para usar um contêiner do Docker com um ambiente pré-configurado,
faça o download e execute a imagem
environmentdo OpenThread:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- No ambiente escolhido, clone o repositório Git do OpenThread específico da plataforma. Usando o CC2538 como exemplo:
git clone https://github.com/openthread/ot-cc2538.git --recursive - No diretório raiz do repositório clonado:
- Instale o conjunto de ferramentas:
./script/bootstrap - Crie a configuração:
./script/build platform-specific-args cmake-options
- Instale o conjunto de ferramentas:
- Faça o flash do binário desejado para a plataforma de destino. Todos os binários gerados estão localizados em
./build/bin.
Configuração
É possível configurar o OpenThread para diferentes funcionalidades e comportamentos durante o processo de build. As opções de configuração disponíveis são detalhadas nos seguintes locais:
| Tipo | Local |
|---|---|
| Constantes de tempo de compilação | Listado em todos os arquivos de cabeçalho em /src/core/config |
| Opções de build do cmake | Listado em /etc/cmake/options.cmake |
Criar exemplos
Use as opções de build do cmake para ativar a funcionalidade da plataforma. Por exemplo, para criar o binário para a plataforma CC2538 com o suporte a Commissioner e Joiner ativado:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Ou, para criar a plataforma nRF52840 com o recurso de detecção de interferência ativado no repositório:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Binários
Os seguintes binários são gerados em ./build/bin pelo processo de build. Para determinar quais binários são gerados, use flags com o comando ./script/build. Por exemplo, para criar o OpenThread e gerar apenas o binário da CLI do FTD:
./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
| Binário | Descrição | Opções |
|---|---|---|
ot-cli-ftd |
Dispositivo Thread completo para designs de SoC | -DOT_APP_CLI=ON-DOT_FTD=ON |
ot-cli-mtd |
Dispositivo Thread mínimo para designs de SoC | -DOT_APP_CLI=ON-DOT_MTD=ON |
ot-ncp-ftd |
Dispositivo Thread completo para designs de coprocessador de rede (NCP, na sigla em inglês) | -DOT_APP_NCP=ON-DOT_FTD=ON |
ot-ncp-mtd |
Dispositivo Thread mínimo para designs de NCP | -DOT_APP_NCP=ON-DOT_MTD=ON |
ot-rcp |
Design do coprocessador de rádio (RCP) | -DOT_APP_RCP=ON-DOT_RCP=ON |
Por padrão, todas as flags acima estão ativadas. Se você desativar explicitamente todas as flags, os aplicativos não serão
criados, mas os arquivos da biblioteca OpenThread ainda serão gerados em ./build/lib para uso em um projeto.
Confira o diretório examples/platforms para saber quais flags cada plataforma
aceita. Para mais informações sobre FTDs e MTDs, consulte o
Fundamentos de ameaças. Para mais informações sobre designs de SoC e NCP, consulte Plataformas.
O processo para atualizar esses binários varia entre as plataformas de exemplo. Consulte os READMEs na pasta de exemplos de cada plataforma para instruções detalhadas.
Daemon do OpenThread
O daemon OpenThread (daemon OT) é um modo de build POSIX do OpenThread que executa o OpenThread como um serviço e é usado com o design RCP. Para mais informações sobre como criar e usar, consulte Daemon OpenThread.
Criar pacotes de suporte
Os pacotes de suporte de build (BSPs, na sigla em inglês) estão em
/third_party. Os BSPs são códigos adicionais de terceiros usados pelo OpenThread em cada plataforma respectiva, geralmente incluídos ao portar o OpenThread para uma nova plataforma de hardware.