Formação em Internet das Coisas com ESP32 e FreeRTOS

Nesta aula você vai aprender a como instalar em seu computador as ferramentas e bibliotecas SDK-IDF necessária para programar o ESP32 em C/C++ de forma nativa.

Aula1| Aula2 | Aula3 | Aula4 | Aula5 | Aula6 | Aula 7

Quero Receber + Aulas por Email

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++

esp32_banner_2

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.

code


Quero Receber + Aulas por Email

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!

arrow

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.