O que é ESP32

Introdução à placa de desenvolvimento ESP32

O ESP32 é uma série de microcontroladores System on a Chip (SoC) de baixo custo e baixo consumo de energia desenvolvidos pela Espressif que incluem recursos sem fio Wi-Fi e Bluetooth e processador dual-core. Portanto, se você conhece o ESP8266, o ESP32 é seu sucessor, carregado com muitos recursos novos.

 

ESP32

Este guia contém todas as informações que você precisa para começar a usar o ESP32. Então, deverá aprender o que é um ESP32, como selecionar uma placa ESP32, como fazer seu primeiro programa funcionar e muito mais/

Apresentando o ESP32

O ESP32 é uma série de microcontroladores de chip desenvolvidos pela Espressif.

ESP32 Expressif

Os ESP32 são tão populares principalmente por causa dos seguintes recursos:

  • Baixo custo : você pode adquirir um ESP32 a partir de US$ 6, o que o torna facilmente acessível ao público em geral;
  • Baixo consumo de energia : o ESP32 consome muito pouca energia em comparação com outros microcontroladores e suporta estados de modo de baixo consumo de energia, como suspensão profunda , para economizar energia;
  • Recursos de Wi-Fi : o ESP32 pode se conectar facilmente a uma rede Wi-Fi para se conectar à Internet (modo de estação) ou criar sua própria rede sem fio Wi-Fi ( modo de ponto de acesso ) para que outros dispositivos possam se conectar a ela. Isso é essencial para projetos de IoT e automação residencial. Você pode ter vários dispositivos se comunicando entre si usando seus recursos de Wi-Fi.
  • Bluetooth : o ESP32 suporta Bluetooth clássico e Bluetooth Low Energy (BLE) , o que é útil para uma ampla variedade de aplicações de IoT;
  • Dual-core : a maioria dos ESP32 são dual-core — eles vêm com 2 microprocessadores Xtensa LX6 de 32 bits: core 0 e core 1.
  • Interface de entrada/saída periférica  — o ESP32 suporta uma ampla variedade de periféricos de entrada (leitura de dados do mundo externo) e saída (para enviar comandos/sinais para o mundo externo), como toque capacitivo , ADCs , DACs, UART, SPI , I2C , PWM e muito mais.
  • Compatível com a “linguagem de programação” Arduino  : aqueles que já estão familiarizados com a programação da placa Arduino ficarão felizes em saber que podem programar o ESP32 no estilo Arduino.
  • Compatível com MicroPython : você pode programar o ESP32 com o firmware MicroPython, que é uma reimplementação do Python 3 voltada para microcontroladores e sistemas embarcados.

Especificações do ESP32

Se você quiser obter informações um pouco mais técnicas e específicas, pode dar uma olhada nas seguintes especificações detalhadas do ESP32 (fonte: http://esp32.net/) — para mais detalhes, consulte a folha de dados) :


ESP32-ESP-Wroom

  • Conectividade sem fio WiFi :  taxa de dados de 150,0 Mbps com HT40
    • Bluetooth:  BLE (Bluetooth Low Energy)  e  Bluetooth Clássico
    • Processador:  Microprocessador Tensilica Xtensa Dual-Core LX6 de 32 bits, rodando a 160 ou 240 MHz
  • Memória :
    • ROM:  448 KB (para inicialização e funções principais)
    • SRAM:  520 KB (para dados e instruções)
    • RTC fast SRAM: 8 KB (para armazenamento de dados e CPU principal durante a inicialização RTC do modo de hibernação)
    • RTC Low SRAM: 8 KB (para acesso do coprocessador durante o modo de hibernação)
    • eFuse : 1 Kbit (dos quais 256 bits são usados ​​para o sistema (endereço MAC e configuração do chip) e os 768 bits restantes são reservados para aplicativos do cliente, incluindo Flash-Encryption e Chip-ID)
    • Flash incorporado : flash conectado internamente via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 e SD_DATA_1 no ESP32-D2WD e ESP32-PICO-D4.
      • 0 MiB (chips ESP32-D0WDQ6, ESP32-D0WD e ESP32-S0WD)
      • 2 MiB (chip ESP32-D2WD)
      • 4 MiB (módulo SiP ESP32-PICO-D4)
  • Baixo consumo de energia:  garante que você ainda possa usar conversões ADC, por exemplo, durante  o sono profundo .
  • Entrada/Saída Periférica:
    • Interface periférica com DMA que inclui  toque capacitivo
    • ADCs (Conversor analógico-digital)
    • DACs (Conversor Digital para Analógico)
    • I²C (Circuito Inter-Integrado)
    • UART (Receptor/Transmissor Assíncrono Universal)
    • SPI (Interface Periférica Serial)
    • I²S (Som Interchip Integrado)
    • RMII (Interface Independente de Mídia Reduzida)
    • PWM (Modulação por Largura de Pulso)
  • Segurança:  Aceleradores de hardware para AES e SSL/TLS

Principais diferenças entre ESP32 e ESP8266

Anteriormente, mencionamos que o ESP32 é o sucessor do ESP8266. Então, Quais são as principais diferenças entre as placas ESP32 e ESP8266?

O ESP32 adiciona um  núcleo de CPU extra ,  Wi-Fi mais rápido , mais GPIOs e suporta Bluetooth 4.2 e Bluetooth low energy . Além disso, o ESP32 vem com  pinos sensíveis ao toque  que podem ser usados ​​para  despertar o ESP32 do sono profundo e  sensor de efeito hall integrado .

Ambas as placas são baratas, mas a ESP32 custa um pouco mais. Enquanto a ESP32, pode custar em torno de $6 a $12, a ESP8266 pode custar $4 a $6 (mas isso realmente depende de onde você as compra e qual modelo você está comprando).

Clica nos links abaixo para conferir os preços reais no aliexpress

Então, em resumo:

  • O ESP32 é mais rápido que o ESP8266;
  • O ESP32 vem com mais GPIOs com múltiplas funções;
  • O ESP32 suporta medições analógicas em 18 canais (pinos habilitados para analógico) em vez de apenas um pino ADC de 10 bits no ESP8266;
  • O ESP32 suporta Bluetooth, enquanto o ESP8266 não;
  • O ESP32 é dual-core (a maioria dos modelos) e o ESP8266 é single-core;
  • O ESP32 é um pouco mais caro que o ESP8266.

Para uma análise mais detalhada das diferenças entre essas placas, recomendamos a leitura do seguinte artigo: ESP32 vs ESP8266 – Prós e Contras.

Placas de desenvolvimento ESP32

Placas de desenvolvimento ESP32

Essas placas de desenvolvimento vêm com todos os circuitos necessários para alimentar e programar o chip, conectá-lo ao seu computador, pinos para conectar periféricos, LEDs de energia e controle integrados, uma antena para sinal wi-fi e outros recursos úteis. Outros até vêm com hardware extra, como sensores ou módulos específicos, displays ou uma câmera no caso do ESP32-CAM.

Como escolher uma placa de desenvolvimento?

Ao procurar por uma placa de desenvolvimento ESP32, há vários aspectos que você precisa levar em conta:

  • Interface USB-para-UART e circuito regulador de voltagem . A maioria das placas de desenvolvimento com todos os recursos tem esses dois recursos. Isso é importante para conectar facilmente o ESP32 ao seu computador para carregar o código e aplicar energia.
  • Botões BOOT e RESET/EN para colocar a placa em modo flashing ou resetar (reiniciar) a placa. Algumas placas não têm o botão BOOT. Normalmente, essas placas entram em modo flashing automaticamente.
  • Configuração de pinos e número de pinos. Para usar corretamente o ESP em seus projetos, você precisa ter acesso à pinagem da placa (como um mapa que mostra qual pino corresponde a qual GPIO e seus recursos). Portanto, certifique-se de ter acesso à pinagem da placa que você está adquirindo. Caso contrário, você pode acabar usando o ESP32 incorretamente.
  • Conector de antena . A maioria das placas vem com uma antena onboard para sinal Wi-Fi. Algumas placas vêm com um conector de antena para conectar opcionalmente uma antena externa. Adicionar uma antena externa aumenta o alcance do seu Wi-Fi.
  • Conector de bateria . Se você quiser alimentar seu ESP32 usando baterias, há placas de desenvolvimento que vêm com conectores para baterias LiPo — isso pode ser mais prático. Você também pode alimentar um ESP “normal” com baterias por meio dos pinos de energia.
  • Recursos extras de hardware . Existem placas de desenvolvimento com recursos extras de hardware. Por exemplo, algumas podem vir com um display OLED integrado, um módulo LoRa, um módulo SIM800 (para GSM e GPRS), um suporte de bateria, uma câmera ou outros.

Qual é a melhor placa de desenvolvimento para iniciantes?

Para iniciantes, recomendamos uma placa ESP32 com uma vasta seleção de GPIOs disponíveis e sem nenhum recurso extra de hardware. Porém, é importante que ela venha com regulador de tensão e entrada USB para alimentação e upload de código.

Na maioria dos nossos projetos ESP32, usamos a placa ESP32 DEVKIT DOIT , e é essa que recomendamos para iniciantes. Existem diferentes versões dessa placa com um número diferente de pinos disponíveis (30, 36 e 38) — todas as placas funcionam de forma semelhante.

ESP32 DEVKIT DOIT

Especificações – DEVKIT V1 DOIT

A tabela a seguir mostra um resumo dos recursos e especificações da placa DEVKIT V1 DOIT:

Número de núcleos 2 (núcleo duplo)
Wi-fi 2,4 GHz até 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) e Bluetooth legado
Arquitetura 32 bits
Frequência do relógio Até 240 MHz
BATER 512 KB
Alfinetes 30, 36 ou 38 (dependendo do modelo)
Periféricos Toque capacitivo, ADC (conversor analógico para digital), DAC (conversor digital para analógico), I2C (circuito interintegrado), UART (receptor/transmissor assíncrono universal), CAN 2.0 (rede de área do controlador), SPI (interface serial periférica), I2S (som integrado Inter-IC), RMII (interface reduzida independente de mídia), PWM (modulação por largura de pulso) e muito mais.
Botões embutidos Botões RESET e BOOT
LEDs embutidos LED azul integrado conectado ao GPIO2; LED vermelho integrado que mostra que a placa está sendo alimentada
Ponte USB para UART CP2102

 

Esta placa em particular vem com 36 pinos, 18 em cada lado. O número de GPIOs disponíveis depende do modelo da sua placa.

DEVKIT

Ele vem com uma interface microUSB/Type-C que você pode usar para conectar a placa ao seu computador para carregar código ou aplicar energia.

Ele usa o chip CP2102 (USB para UART) para se comunicar com seu computador por meio de uma porta COM usando uma interface serial. Outro chip popular é o CH340. Verifique qual é o chip conversor de USB para UART em sua placa porque você precisará instalar os drivers necessários para que seu computador possa se comunicar com a placa.

Esta placa também vem com um botão RESET (pode ser rotulado EN) para reiniciar a placa e um botão BOOT para colocar a placa em modo piscante (disponível para receber código). Observe que algumas placas podem não ter um botão BOOT.

Ele também vem com um LED azul embutido que é conectado internamente ao GPIO 2. Este LED é útil para depuração para dar algum tipo de saída física visual. Há também um LED vermelho que acende quando a placa estiver ligada.

DEVKIT

Guia de Pinagem de GPIOs

O chip vem com 48 pinos com múltiplas funções. Nem todos os pinos são expostos em todas as placas de desenvolvimento ESP32, e alguns pinos não devem ser usados. A placa ESP32 DEVKIT V1 DOIT geralmente vem com 36 GPIOs expostos que você pode usar para conectar periféricos.

Pinos de alimentação

Geralmente, todas as placas vêm com pinos de alimentação: 3V3, GND e VIN. Você pode usar esses pinos para alimentar a placa (se não estiver fornecendo energia pela porta USB) ou para obter energia para outros periféricos (se estiver alimentando a placa usando a porta USB).

Pinos de entrada e saída de uso geral (GPIOS)

Quase todos os GPIOs têm um número atribuído e é assim que você deve se referir a eles: pelo número.

Com o ESP32 você pode decidir quais pinos são UART, I2C ou SPI – você só precisa definir isso no código. Portanto, isso é possível devido ao recurso de multiplexação do chip que permite atribuir múltiplas funções ao mesmo pino.

Se você não defini-los no código, os pinos serão configurados por padrão, como mostrado na figura abaixo (a localização do pino pode mudar dependendo do fabricante). Além disso, há pinos com recursos específicos que os tornam adequados ou não para um projeto em particular.

DEVKIT-Pinout.O posicionamento dos GPIOs pode ser diferente dependendo do modelo da sua placa. No entanto, geralmente, cada GPIO específico funciona da mesma forma, independentemente da placa de desenvolvimento que você está usando (com algumas exceções). Por exemplo, independentemente da placa, geralmente GPIO5 é sempre o pino VSPI CS0, GPIO 23 sempre corresponde a VSPI MOSI para comunicação SPI, etc.

 

2 Comments

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *