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 compilação e instale o conjunto de ferramentas desejado:
- Para criar diretamente em uma máquina, consulte o Codelab de simulação para ver instruções detalhadas.
- Para usar um contêiner do Docker com um ambiente pré-configurado, faça o download e execute a imagem
environment
do OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Dentro do ambiente escolhido, clone o repositório Git do OpenThread específico da plataforma. Veja 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:
- Atualize o binário desejado para a plataforma de destino. Todos os binários gerados estão
localizados em
./build/bin
.
Configuração
Você pode configurar o OpenThread para diferentes funcionalidades e comportamentos durante o processo de compilação. As opções de configuração disponíveis estão detalhadas nos seguintes locais:
Tipo | Local |
---|---|
Constantes de tempo de compilação | Listado em todos os arquivos principais em /src/core/config |
Opções de build do CMake | Listado em openthread/examples/README.md |
Exemplos de build
Use as opções de build do cmake para ativar a funcionalidade para a plataforma. Por exemplo, para criar o binário da plataforma CC2538 com o suporte para Commissioner e Joiner ativado:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Ou para criar a plataforma nRF52840 com o recurso Detecção de Jam ativado no repositório:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Binários
Os binários a seguir são gerados em ./build/bin
pelo processo de criação. Para determinar quais binários são gerados, use sinalizações com o comando ./script/build
. Por exemplo, para criar o OpenThread e gerar apenas o binário da CLI 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 SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Dispositivo de linha de execução mínimo para designs de SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Dispositivo de linha de execução completa para designs de coprocessador de rede (NCP, na sigla em inglês) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
Dispositivo de linha de execução mínimo para designs de NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
Design de processador de rádio (RCP) | -DOT_APP_RCP=ON -DOT_RCP=ON |
Por padrão, todas as sinalizações acima estão ativadas. Se você desativar explicitamente todas as sinalizações, 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.
Verifique o diretório examples/platforms
para ver quais sinalizações são compatíveis com cada plataforma. Para ver mais informações sobre FTDs e MTDs, consulte o
Thread Primer. Para
mais informações sobre designs de SoC e NCP, consulte Plataformas.
O processo para atualizar esses binários varia entre os exemplos de plataformas. Consulte os READMEs na pasta de exemplo de cada plataforma para ver instruções detalhadas.
Daemon do OpenThread
O OpenThread Daemon (OT Daemon) é um modo de compilação OpenThread POSIX que executa o OpenThread como um serviço e é usado com o design RCP. Para mais informações sobre como criar e usar, consulte OpenThread Daemon.
Criar pacotes de suporte
Os pacotes de suporte de compilação (BSPs, na sigla em inglês) estão disponíveis em
/third_party
. Os BSPs são códigos de terceiros adicionais usados pelo OpenThread em cada plataforma, geralmente incluídos ao fazer a portabilidade do OpenThread para uma nova plataforma de hardware.