
Formação em Internet das Coisas com ESP32 e FreeRTOS
Devo programar o ESP32 com o Core Arduino ou pelo SDK-IDF Nativo? Esta aula apresenta alguns pontos importantes sobre o SDK IDF Espressif frente o uso do Core Arduino para o ESP32.
Aula1| Aula2 | Aula3 | Aula4 | Aula5 | Aula6 | Aula 7
Quer Receber Aulas sobre o ESP32?
Faça seu cadastro e receba em seu email aulas deste curso.
Somos 100% contra Spam
ESP32 com SDK-IDF (Programação Nativa em C/C++) com FreeRTOS.
32 Aulas em Vídeo | 795 minutos de Aulas | 28 laboratórios Práticos C/C++

Este curso online é 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.
Este curso é composto 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.

Quer Receber Aulas sobre o ESP32?
Faça seu cadastro e receba em seu email aulas deste curso.
Somos 100% contra Spam
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 projetos de acesso a região de memória não volátil do ESP32 e 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.
ESP32 com SDK-IDF (Programação Nativa em C/C++) com FreeRTOS.
Confira o Conteúdo Programático!

Unit 1 [ESP32 SDK-IDF] Instalação do SDK-IDF C/C++ do ESP32 no Windows.
Unit 2 [ESP32 SDK-IDF] P1 Programando as GPIO's do ESP32 com SDK-IDF (Programação Nativa em C/C++).
Unit 3 [ESP32 SDK-IDF] P2 Programando as GPIO's do ESP32 com SDK-IDF (Entrada e Saída).
Unit 4 [ESP32 SDK-IDF] Trabalhando com Descritor das GPIOs do ESP32 com SDK-IDF.
Unit 5 [ESP32 SDK-IDF] Descritor de entrada e saída do ESP32 com SDK-IDF.
Unit 6 [ESP32 SDK-IDF] Interrupções das GPIO's do ESP32 com SDK-IDF e FreeRTOS.
Unit 7 [ESP32 SDK-IDF] Tratando os eventos das Interrupções das GPIOs do ESP32 com SDK-IDF.
Unit 8 [ESP32 SDK-IDF] Introdução ao WiFi do ESP32 com SDK-IDF C/C++ (Callback).
Unit 9 [ESP32 SDK-IDF] Configuração do WiFi com IP fixo no ESP32 com SDK-IDF C/C++.
Unit 10 [ESP32 SDK-IDF] Configurando o WiFi por meio de componentes do ESP32 com SDK-IDF C/C++.
Unit 11 [ESP32 SDK-IDF] Modo de infraestrutura com WiFi do ESP32 com SDK-IDF C/C++.
Unit 12 [ESP32 SDK-IDF] Função de Callback - modo Ap - Programando o WiFi do ESP32 com SDK-IDF C/C++.
Unit 13 [ESP32 SDK-IDF] Socket TCP/IP Server Multithread no ESP32 com SDK-IDF C/C++ e FreeRTOS.
Unit 14 [ESP32 SDK-IDF] Socket TCP/IP Client no ESP32 com SDK-IDF C/C++ (Conexão Socket Client).
Unit 15 [ESP32 SDK-IDF] Conexão Socket HTTP (POST) com ESP32 e SDK-IDF C/C++.
Unit 16 [ESP32 SDK-IDF] Conexão Socket HTTP (GET) com ESP32 e SDK-IDF C/C++.
Unit 17 [ESP32 SDK-IDF] Projeto WebSocket HTTP (GET e POST) com ESP32 e SDK-IDF C/C++.
Unit 18 [ESP32 SDK-IDF] Certificado TLS/SSL no Projeto WebSocket HTTP (GET e POST) com ESP32 e SDK-IDF C/C++.
Unit 19 [ESP32 SDK-IDF] Projeto Multi-Socket Client HTTP com ESP32 e IDF C/C++ e FreeRTOS.
Unit 20 [ESP32 SDK-IDF] Conexão Segura MQTT via TLS/SLL aplicado no ESP32 com IDF C/C++ e FreeRTOS.
Unit 21 [ESP32 SDK-IDF] [P2] Conexão Segura MQTT via TLS/SLL aplicado no ESP32 com IDF C/C++ e FreeRTOS.
Unit 22 [ESP32 SDK-IDF] Projeto IOT com MQTT aplicado no ESP32 com IDF C/C++ e FreeRTOS.
Unit 23 [ESP32 SDK-IDF] Projeto IOT com MQTT e ESP32 - Acionamento remoto pela internet.
Unit 24 [ESP32 SDK-IDF] WiFimanager: Configuração do SSID e PASSWORD do ESP32 via IDF C/C++ e FreeRTOS (modo WiFi SoftAp).
Unit 25 [ESP32 SDK-IDF] Projeto Completo: MQTT e WiFimanager integrado no ESP32 via IDF C/C++ e FreeRTOS.
Unit 26 [ESP32 SDK-IDF] Trabalhando com Memória não Volátil interna do ESP32 com SDK-IDF C/C++ e FreeRTOS.
Unit 27 [ESP32 SDK-IDF] Configuração da UART do ESP32 no SDK-IDF com FreeRTOS.
Unit 28 [ESP32 SDK-IDF] Manipulando Eventos da UART do ESP32 no SDK-IDF.
Unit 29 [ESP32 SDK-IDF] Programa Multithread de transmissão e recepção de dados via UART no ESP32.
Unit 30 [ESP32 SDK-IDF] Introdução a tecnologia Bluetooth no ESP32 com SDK-IDF (perfil SPP)
Unit 31 [ESP32 SDK-IDF] Troca de dados via Bluetooth SPP do ESP32 e App Android (Terminal Bluetooth).
Unit 32 [ESP32 SDK-IDF] Projeto Conversor Serial<>Bluetooth Completo com ESP32 e App Android (Terminal Bluetooth).
Como funciona a Formação IoT?
Curso Online no Formato EAD com Aulas 100% em vídeo aulas em português.
Pré-requisitos:
Conhecimentos sobre Linguagem C e de Microcontroladores no geral.
Público Alvo:
Alunos, professores e profissionais da área eletrônica e programação.
Professor do Curso:
Fernando Simplicio.
Deixe seus comentários sobre esta aula.
www.microgenios.com.br | www.geniot.io | (11) 5084-4518