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 é o seguinte:
- Configure o ambiente de build e instale o conjunto de ferramentas desejado:
- Para criar diretamente em uma máquina, consulte o Codelab de simulação e veja instruções detalhadas.
- Para usar um contêiner do Docker com um ambiente pré-configurado,
faça o download da imagem
environment
do OpenThread e execute-a:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Dentro do ambiente escolhido, clone o repositório Git OpenThread específico da plataforma. Veja o exemplo do CC2538:
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 na 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 criação 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 à Comissão e Combinador ativados:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Ou, para criar a plataforma nRF52840 com o recurso Jam Detection 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
a partir do processo de compilaçã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 com linha de execução completa para designs SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Dispositivo com Thread mínimo para designs SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Dispositivo com 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 |
Projeto de coprocessador 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.
Veja o exemplo de Makefiles de cada plataforma 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 saber mais sobre os designs SoC e NCP, consulte Plataformas.
O processo de atualização desses binários varia entre as plataformas de exemplo. 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 criação do 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 respectivo, geralmente incluídos ao fazer a portabilidade do OpenThread para uma nova plataforma de hardware.