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 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 e execute a imagem
environment
do OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- No ambiente escolhido, clone o repositório do 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 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 nestes 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 suporte ao 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 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
com base no 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 Thread completo para designs SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Dispositivo 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 Thread 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 vão ser
criados, mas os arquivos da biblioteca do 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 aceitas por
plataforma. Para mais informações sobre FTDs e MTDs, consulte o
Thread Primer. Para
saber mais sobre os designs de SoC e NCP, consulte Plataformas.
O processo para atualizar esses binários varia de acordo com 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 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) são encontrados em
/third_party
. Os BSPs são códigos extras de terceiros usados pelo OpenThread em cada plataforma, geralmente incluídos ao fazer a portabilidade do OpenThread para uma nova plataforma de hardware.