Blink LED no ESP32 com o RTOS NuttX

Este post faz parte da série Primeiros Passos com o ESP32 e o NuttX. Leia também os outros posts da série:

Este artigo compõe a série “Primeiros Passos com o ESP32 e o NuttX”. Uma série cujo objetivo é apresentar um overview do Sistema Operacional NuttX e prover instruções para utilizar o NuttX no ESP32.

A primeira parte da série mostrou como fazer a preparação do ambiente, a compilação e o building do Sistema Operacional (NuttX) até o upload do firmware para o SoC (ESP32).

Esta é a segunda parte e irá demonstrar como executar o famoso “Hello World” do mundo de Sistemas Embarcados, isto é, uma aplicação que pisca um LED. A placa utilizada aqui é um DevKit v1  e será utilizado o próprio LED embutido por conveniência. Caso o seu DevKit não venha com um LED embutido, basta conectar um LED ao pino 2 como será mostrado em breve na execução. 

Adição do LED

A partir do diretório do nuttx, limpe a sua configuração atual, carregue a configuração para o ESP32 com o nsh (NuttX shell) e por fim entre no menu de configuração através do comando a seguir: 

Para adicionar o driver para o LED, navegue em Device Drivers->LED Support e selecione LED Driver e Generic Lower Half LED Driver (pressione y). Neste passo você está adicionando o driver para o LED.

NuttX Blink LED
Figura 1 – Inclusão do driver para o LED.

Retorne ao menu inicial através de ‘Exit’. Basta usar as setas laterais e ‘Enter’.

Por fim, para adicionar o exemplo navegue em Application Configuration->Examples e selecione Led Driver Example.

NuttX Blink LED
Figura 2 – Inclusão do exemplo blink led.

Saia do menu através de “Exit” e salve a configuração. 

Building

Antes de fazer o build é necessário reativar o ambiente virtual. Sempre que sair do terminal e abrir uma nova seção será necessário reativá-lo. Faça isso através do seguinte comando:

Finalmente, limpe os binários gerados anteriormente e realize o processo de build novamente através dos seguintes comandos:

Upload do firmware

Reduza o tamanho do firmware, conecte o DevKit ao computador e faça o upload dos binários: 

    OBS: ajuste a porta USB conforme a sua configuração.

Execução do exemplo

Acesse o terminal serial e execute o comando leds. Este comando irá executar o exemplo selecionado! 

NuttX Blink LED
Figura 3 – Execução do exemplo leds.

Parabéns! A partir de agora você já deve estar vendo o LED piscar!

Caso queira retornar ao terminal, reset o ESP32 pressionando o botão EN do DevKit.

Caso não possua um LED embutido, conecte um LED ao pino 2 e associe um resistor em série (entre 100 Ω a 1 k Ω):

Outros artigos da série

<< Primeiros Passos com o ESP32 e o NuttX
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software » Blink LED no ESP32 com o RTOS NuttX
Comentários:
Notificações
Notificar
guest
3 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Antonio Ferreira
16/11/2020 08:02

Aos leitores profissionais que possam sentir curiosidade por utilizar o NuttX, não o façam.
As ultimas versões estão fundamentalmente quebradas, os howtos estão desactualizados
A lista de email esta praticamente morta….
é uma pena porque até era uma conceito muito interessante.. um posix em ponto pequeno…

Sara Monteiro
Sara Monteiro
Reply to  Antonio Ferreira
16/11/2020 12:39

Caro Antonio, O NuttX é o resultado de um trabalho coletivo de contribuidores individuais independentes e empresas que tem dedicado muito esforço em construir um RTOS de qualidade. Porém, ainda somos um grupo pequeno para endereçar todas as demandas. Entretanto, justamente para melhorar a experiência, algumas decisões foram tomadas. Por exemplo, atualmente o NuttX está sendo incubado pela Apache Foundation aonde está “amadurecendo” cada dia mais. Toda a documentação do NuttX está sendo migrada e atualizada para https://nuttx.apache.org/docs/latest/index.html. Em relação a lista de email, ela está atualmente ativa e qualquer um pode se inscrever enviando um email para: [email protected] É… Leia mais »

Last edited 8 dias atrás by Sara Monteiro
Alan Carvalho de Assis
Reply to  Antonio Ferreira
16/11/2020 14:25

Toda mudança exige coragem e força de vontade. Com o NuttX não é diferente. O sistema mudou muito nos últimos meses, depois que o projeto passou a ser incubado na Apache Foundation. É natural que algumas coisas se quebrem, mas o cenário é bem diferente deste que o senhor Antonio Ferreira está mostrando. Qualquer pessoa que seguir os vídeo tutoriais que criei no YouTube (NuttX Channel) conseguirá fazer a maioria das coisas funcionarem. Algumas coisas mudaram de lugar, mas nada que as pessoas não consigam resolver se realmente tentarem. Talvez você está usando a lista antiga do NuttX, pois todos… Leia mais »

Talvez você goste:

Séries



Outros da Série

Menu