Programe o ESP32 com SDK-IDF (Programação Nativa em C/C++) e FreeRTOS
Por meio deste curso você aprenderá como desenvolver projetos sofisticados multithreads em C/C++ utilizando WiFi e Bluetooth com FreeRTOS com ESP32Programando o ESP32 com SDK-IDF (Programação Nativa em C/C++) com FreeRTOS
- 427 Alunos matriculados
- 14 Horas de duração
- 38 Aulas
- 7 Módulos
- Certificado de conclusão
Obtenha acesso a este e outros cursos
Aulas de Especialização: ESP32 com SDK-IDF (Programação Nativa em C/C++) com FreeRTOS
Esta especialização é fruto de muita pesquisa e anos de trabalho como programador na área de sistemas embarcados. Sem dúvida alguma, este treinamento vai ajudar a todos os profissionais a desenvolverem projetos e produtos comerciais com o ESP32 utilizando o que há de melhor no SDK-IDF C/C++ nativo fornecido pela Espressif.
Por meio do SDK-IDF nativo do ESP32 é possível operar as funções e APIs para WiFi, Bluetooth, MQTT e Filesystem de maneira assincrona, permitindo, por meio das funções de callback, acompanhar e interagir em todas as mudanças de estados dos componentes (bibliotecas de acesso a recurso). Assim, é possível ter acesso total ao controle de eventos e notificações do ESP32.
Esta especialização é composta por 28 laboratórios (até o momento) e de 32 aulas em vídeo narradas em português com duração total de 12 horas (contínuas de vídeos).
Como ambiente de desenvolvimento foram utilizados o editor Notepad++ e o SDK-IDF nativo da Espressif em seu port para Windows. O hardware utilizado no curso é o NodeMCU ESP32, que pode ser adquirido juntamente com a compra deste treinamento.
A primeira aula da unidade explica, passo a passo, como instalar o SDK-IDF do ESP32 em um computador Windows. Após os procedimentos de instalação são feitas as configurações das variáveis de ambiente para linkagem do SDK-IDF.
Durante as primeiros laboratórios do curso, são abordados temas de grande importância sobre a manipulação das GPIOs do ESP32 com o SDK-IDF. As configurações dos drives das GPIOs são explicados com detalhes, desde sua configuração de entrada, saída e dreno aberto.
As interrupções externas são apresentadas também nos estudos das GPIOs, e por meio deste recurso, são explorados com mais detalhes as funções para registros dos eventos de interrupção e das funções de callback dos drives das GPIOS.
O início dos estudos do WiFi do ESP32 são feitas a partir da aula 8. Nesta aula é apresentado um projeto funcional que explica com detalhes os eventos de notificação do WiFi e as configurações do drive.
O que torna os laboratórios prático do curso ainda mais completos é o fato de fazer o uso do FreeRTOS. Quase todas as operações realizadas no SDK-IDF do ESP32 utiliza as APIs do FreeRTOS.
Temos como exemplo as sincronizações dos eventos de notificação (callback) do SDK-IDF, dos quais são sincronizados por meio dos "EventsGroups" do FreeRTOS.
Assim, além do conhecimento sobre o funcionamento do SDK-IDF do ESP32, este curso te oferece a oportunidade de aprender na prática a usar o FreeRTOS.
O FreeRTOS é o sistema operacional de tempo real mais usado no mundo na área de sistemas embarcados e recentemente foi comprado pela maior empresa no mundo chamada Amazon.
O WiFi do ESP32 passa a ser configurado como estação e servidor. Essas configurações são muito importantes, pois muitos projetos precisam que o ESP32 opere como um servidor TCP, e em outro momento como um cliente TPC. Ao entrar nos estudos sobre socket TCP, são apresentados projetos de aplicações multisocket TCP/IP (e multithread) com o ESP32, tanto como server e client. Esses projetos são importantíssimos para aplicações IOT (internet of things), pois é possível realizar a conexão TCP/IP simultânea de vários clientes ao ESP32 (ex: conexão de vários smartphones ao ESP32). Essa funcionalidade é possível de ser implementada devido ao FreeRTOS e ao ambiente multicore do ESP32.
Para realizar os acessos a rede via WebSocket, são apresentados projetos (laboratórios práticos e comentados) que ensinam como estabelecer conexões socket HTTP segura (TLS/SSL) por POST e GET com o ESP32 utilizando as bibliotecas LWIP e mbedtls nativas do SDK-IDF. Por meio deste laboratório, o aluno já poderá iniciar o desenvolvimento de suas implentações IOT.
Além dos projetos com WebSocket, são explicados estudos de bibliotecas MQTT para o SDK-IDF. Após os estudos e ensaios, são estabelecidas as conexões por MQTT com o broker Mosquitto (diretamente na Nuvem da Amazon AWS). Esta conexão é feita com e sem o certificado TLS/SSL, pois assim, o aluno poderá escolher a melhor forma de acordo com as necessidades do projeto.
A instância Amazon foi integralmente configurada no Curso Online: Criando Sua Plataforma de IOT na Nuvem c/ Amazon AWS + Mosquitto MQTT + ESP32 da Formação em Internet das Coisas. O mais legal de tudo, é que você vai aprender a como conectar o seu ESP32 em sua própria plataforma IOT que irá criar na Amazon (demais não!). Por meio deste projeto, também é possível estabelecer a conexão com outros broker MQTT.
Muitos dos projetos com IOT são feitos por meio do WiFi. Nos laboratórios seguintes, são explorado o projeto WiFimanager que permite a reconfiguração da rede WiFi (SSI e password) via acesso IP. Essa funcionalidade facilita a reconfiguração do WiFi de forma simples e segura.
Para tornar a aplicação ainda mais completa, foi implemetado o servidço MQTT ao WiFimanager com SDK-IDF, assim é possível alterar as informações de rede e estabelecer a conexão com um broker MQTT.
Os estudos das UARTs do ESP32 são feitas em três aulas, onde são explicado, passo a passo, as configurações básicas da UART, eventos e aplicações multithreads para escrita e leitura de dados.
Após todo os estudos sobre o WiFi, e aplicações sockets TCP/IP, chegou a hora de estudar o Bluetooth Clássico do ESP32. Inicialmente são abordados assuntos teóricos sobre as diferenças entre o Bluetooth Clássico e o Bluetooth Low Energy, se refernciando como base os projetos exemplos desta tecnologia distribuida pela própria Espressif no SDK-IDF.
Por meio de um projeto Bluetooth, são feitos estudos do perfil SPP (Serial Port Profile) e dos estados de cada notificação gerada pelo ESP32. Em seguida, são estabelecidas conexões para troca de mensagens de texto entre o Bluetooth do ESP32 e Aplicativo para Android (terminal bluetooth).
Por último, é elaborado um projeto completo de um conversor Bluetooth-Serial utilizando somente o SDK-IDF do ESP32 e o FreeRTOS. Este projeto apresenta conceitos fundamentais e regras para troca de mensagens entre as Tasks e notificações dos estados das funções de callback.
Porque você precisa deste treinamento?
Dúvidas Frequentes
1) PORQUE EU DEVO APRENDER A PROGRAMAR O ESP32?
A família ESP32 está revolucionando os projetos e aplicações de internet das coisas. Muitas empresas estão substituindo os tradicionais microcontroladores pelo ESP32 devido ter processador de 32-bit Dual-core, operando 2-240 MHz, além de interface WiFi e Bluetooth. Tudo isso por um custo reduzido.
2) PORQUE EU PRECISO APRENDER A PROGRAMAR O FREERTOS PARA DESENVOLVER PROJETOS COM ESP32?
Todo o desenvolvimento do SDK do ESP32 está baseado no FreeRTOS. Não dá para tirar o melhor aproveitamento do sistema multiCORE do ESP32 sem conhecer a API e o funcionamento do FreeRTOS. Obrigatoriamente o desenvolvedor tem que conhecer sobre Filas, Semáforos e muitos outros recursos do FreeRTOS para realmente programar o ESP32, pois, sem dúvida, precisará destes conhecimentos para sincronizar os processos.
3) NUNCA UTILIZEI UM SISTEMA OPERACIONAL DE TEMPO REAL EMBARCADO. EU VOU CONSEGUIR FAZER O CURSO?
Sim, caso você tenha conhecimentos básicos sobre C poderá fazer este curso. A utilização de um sistema operacional de tempo real tende a simplificar o programa.
4) POXA, LEGAL ESSA IDEIA DE MONTAR UM SERVIDOR MQTT. O QUE EU VOU UTILIZAR PARA MONTAR ESTE PROJETO?
Projetos de Internet das Coisas requerem principalmente a utilização de serviços MQTT e Rest HTTP. Neste curso irei abordar os dois protocolos de comunicação. O serviço MQTT que iremos usar é chamado "Mosquitto" e para as aplicações com Rest HTTP será utilizada a API Rest da plataforma geniot PRO Industrial.
5) VOU CONSEGUIR DESENVOLVER UM SISTEMA DE MONITORAMENTO IOT POR MQTT?
Sim. Neste curso será abordado a instalação e a implantação do serviço MQTT do servidor "Mosquitto". Após a instalação e configuração será realizada a comunicação entre ESP32 e o servidor MQTT. O aluno irá aprender a instalar o seu servidor MQTT em seu computador em no servidor na nuvem - Amazon AWS.
6) QUAIS OS KITS (HARDWARES) QUE EU DEVO COMPRAR?
Na Formação em Internet das Coisas são utilizados os kits NodeMCU ESP32 e NodeMCU ESP8266. O kit NodeMCU ESP32 são utilizados em grande parte dos cursos da Formação IoT visto que é mais atual e aos poucos vem substituindo o ESP8266 (ESP-12F). Foi adicionado um novo treinamento sobre o Rasberry Pi. Neste caso você pode comprar qualquer versão do Rasberry para este curso.
7) Qual é a melhor opção: Colocar meu broker MQTT no Raspberry ou na Nuvem?
Grande parte das aplicações de internet das coisas precisam de um servidor local, pois a aplicação não pode parar de funcionar mesmo nos momentos em que não há internet. Por esse motivo, disponibilizamos um curso sobre como criar um servidor MQTT e Web no Rasberry. O legal desta aplicação, é que o Raspberry foi configurado como uma ponte (bridge) entre um outro broker MQTT alocado na nuvem. Assim, os dados recebidos dos dispositivos são armazeados em banco de dados local e na nuvem.
Importante!!!
* No valor de investimento para a realização do curso NÃO está incluso nenhum hardware, placa, componente ou licença de software, estes itens são de responsabilidade do aluno. A Microgenios e sua equipe técnica tentam, sempre que possível, utilizar nos cursos e webseminários softwares open source ou que possuam versões gratuitas para estudo, e placas de baixo custo e de fácil aquisição na internet.
* Esta Especialização é conteúdo exclusivo da Formação em Internet das Coisas.
* Lembramos que os alunos matriculados na Formação em Internet das Coisas ganham como bônus especial e gratuito acesso a todo o conteúdo do Clube de Membros Microgenios durante o período da Formação.
Este curso é destinado a todos os interessados em iniciar o desenvolvimento de projetos eletrônicos utilizando microcontroladores e conectividade, principalmente:
- Estudantes de cursos superiores relacionados com engenharia e tecnologia (eletrônica, elétrica, automação, computação, mecânica, telecomunicações etc);
- Estudantes de escolas técnicas de nível médio;
- Profissionais já formados que precisam iniciar projetos utilizando microcontroladores, sistemas embarcados e internet das coisas (IoT);
- Professores de faculdades e escolas técnicas, que necessitam reciclar/atualizar seus conhecimentos nas áreas de programação de microcontroladores, sistemas embarcados e internet das coisas (IoT).
* Doutorando pela UFABC;
* Mestre pela UFABC;
* Especialização Universidade Mackenzie;
* Graduação FATEC-SP;
* Graduação Universidade UNIP;
* Curso Técnico ETEC Guaracy Silveira.
Participou da Fundação da Microgenios em 2006, Professor do SENAI Anchieta (Graduação e Pós Graduação), atuação profissional em empresas como Siemens, Ilumatic e Avant Lux; desenvolvedor chefe da plataforma de internet das coisas 100% brasileira geniot.io
Certificado emitido pela Microgenios Soluções em Tecnologia Ltda., empresa atuante no mercado desde 2006 especializada em treinamentos, softwares e ferramentas de desenvolvimento para microcontroladores, eletrônica e sistemas embarcados; o certificado emitido neste para os alunos que concluírem este curso possui carga horária, conteúdo programático e código de verificação.
Conteúdo Programático
- 1. [ESP32 SDK-IDF] Instalação do SDK-IDF C/C++ do ESP32 no Windows
- 2. [ESP32 SDK-IDF] Instalação do SDK-IDF C/C++ do ESP32 no Windows - Parte 2
- 3. [ESP32 SDK-IDF] Instalação SDK-IDF 4.0 no Windows 8 e 10 (64bits) - Parte 1
- 4. [ESP32 SDK-IDF] Instalação SDK-IDF 4.0 no Windows 8 e 10 (64bits) - Parte 2
- 5. [ESP32 SDK-IDF] P1 Programando as GPIO’s do ESP32 com SDK-IDF (Programação Nativa em C/C++)
- 6. [ESP32 SDK-IDF] P2 Programando as GPIO’s do ESP32 com SDK-IDF (Entrada e Saída)
- 7. [ESP32 SDK-IDF] Trabalhando com Descritor das GPIOs do ESP32 com SDK-IDF
- 8. [ESP32 SDK-IDF] Descritor de entrada e saída do ESP32 com SDK-IDF
- 9. [ESP32 SDK-IDF] Interrupções das GPIO’s do ESP32 com SDK-IDF e FreeRTOS (Programação Nativa em C/C++)
- 10. [ESP32 SDK-IDF] Tratando os eventos das Interrupções das GPIOs do ESP32 com SDK-IDF
- 1. [ESP32 SDK-IDF] Introdução ao WiFi do ESP32 com SDK-IDF C/C++ (Callback)
- 2. [ESP32 SDK-IDF] Configuração do WiFi com IP fixo no ESP32 com SDK-IDF C/C++
- 3. [ESP32 SDK-IDF] Configurando o WiFi por meio de componentes do ESP32 com SDK-IDF C/C++
- 4. [ESP32 SDK-IDF] Modo de infraestrutura com WiFi do ESP32 com SDK-IDF C/C++
- 5. [ESP32 SDK-IDF] Função de Callback – modo Ap – Programando o WiFi do ESP32 com SDK-IDF C/C++
- 1. [ESP32 SDK-IDF] Socket TCP/IP Server Multithread no ESP32 com SDK-IDF C/C++ e FreeRTOS
- 2. [ESP32 SDK-IDF] Socket TCP/IP Client no ESP32 com SDK-IDF C/C++ (Conexão Socket Client)
- 3. [ESP32 SDK-IDF] Conexão Socket HTTP (POST) com ESP32 e SDK-IDF C/C++
- 4. [ESP32 SDK-IDF] Conexão Socket HTTP (GET) com ESP32 e SDK-IDF C/C++
- 5. [ESP32 SDK-IDF] Projeto WebSocket HTTP (GET e POST) com ESP32 e SDK-IDF C/C++
- 6. [ESP32 SDK-IDF] Certificado TLS/SSL no Projeto WebSocket HTTP (GET e POST) com ESP32 e SDK-IDF C/C++
- 7. [ESP32 SDK-IDF] Projeto Multi-Socket Client HTTP com ESP32 e IDF C/C++ e FreeRTOS
- 1. [ESP32 SDK-IDF] Conexão Segura MQTT via TLS/SSL aplicado no ESP32 com IDF C/C++ e FreeRTOS
- 2. [ESP32 SDK-IDF] [P2] Conexão Segura MQTT via TLS/SSL aplicado no ESP32 com IDF C/C++ e FreeRTOS
- 1. [ESP32 SDK-IDF] Projeto IoT com MQTT aplicado no ESP32 com IDF C/C++ e FreeRTOS
- 2. [ESP32 SDK-IDF] Projeto IOT com MQTT e ESP32 – Acionamento remoto pela internet
- 3. [ESP32 SDK-IDF] WiFimanager: Configuração do SSID e PASSWORD do ESP32 via IDF C/C++ e FreeRTOS
- 4. [ESP32 SDK-IDF] Projeto Completo: MQTT e WiFimanager integrado no ESP32 via IDF C/C++ e FreeRTOS
- 5. [ESP32 SDK-IDF] Trabalhando com Memória não Volátil interna do ESP32 com SDK-IDF C/C++ e FreeRTOS
- 6. [ESP32 SDK-IDF] Configuração da UART do ESP32 no SDK-IDF com FreeRTOS
- 7. [ESP32 SDK-IDF] Manipulando Eventos da UART do ESP32 no SDK-IDF
- 8. [ESP32 SDK-IDF] Programa Multithread de transmissão e recepção de dados via UART no ESP32
- 1. [ESP32 SDK-IDF] Introdução a tecnologia Bluetooth no ESP32 com SDK-IDF (perfil SPP)
- 2. [ESP32 SDK-IDF] Troca de dados via Bluetooth SPP do ESP32 e App Android (Terminal Bluetooth)
- 3. [ESP32 SDK-IDF] Projeto Conversor Serial<>Bluetooth Completo com ESP32 e App Android (Terminal Bluetooth)
- 1. [ESP32 SDK-IDF] Projeto-1: Comunicação Entre dois ESP32 via Socket TCP – Modo Server (operando na rede como cliente)
- 2. [ESP32 SDK-IDF] Projeto-1: Comunicação Entre dois ESP32 via Socket TCP – Modo Client (operando na rede como cliente)
- 3. [ESP32 SDK-IDF] Projeto-2: Comunicação Entre dois ESP32 via Socket TCP – Modo Server (operando na rede como Access Point)
Cursos Relacionados
Conheça outros cursos que oferecemos para complementar seus estudos.











