ESP8266 e ESP32

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

ESP8266

O ESP8266 é um microcontrolador que possui uma interface WiFi, com suporte as redes 802.11 b/g/n, pilha TCP/IP integrada, CPU 32 bits e interfaces serial e SPI.

Um versão mais moderna é o ESP32, que além do módulo de comunicação WiFi, possui processador Dual Core, Bluetooth e vários sensores embutidos.

Prototipagem
Para prototipagem com o ESP8266 é necessário realizar conexões com hardware, uma vez que o espaçamento de sua pinagem não é compatível com o padrão utilizado em matrizes de contato.
A comunicação com o módulo deve ser realizada via interface serial através dos pinos RX e TX. Caso seja necessário comunicação com módulos que trabalhem com níveis lógicos de 0V e 5V, como o Arduíno ou portas USB, é necessário utilizar adaptadores de tensão.
Projeto ESP8266 no GitHub
https://github.com/esp8266/Arduino
Random Nerd Tutorials
Getting Started with ESP8266 WiFi: https://randomnerdtutorials.com/projects-esp8266/

Módulo Wemos D1 Mini Pro Wifi ESP8266

O módulo Wemos D1 Mini Pro é uma placa indicada para utilização em projetos de Internet das Coisas que conta com o microcontrolador ESP8266, com 16MB de memória flash e interface WiFi.

Características:

  • 9 pinos digitais de entrada/saída digitais (com PWM) (níveis lógicos 0V e 3,3V)
  • 2 pinos TX/RX para comunicação serial
  • 1 pino de entrada analógico (máximo 3.2V)
  • pinos I2C e one-wire
  • Conector micro-USB para alimentação e comunicação serial com computador

Pinagem:

[1]

Laboratórios com Wemos D1 ESP8266

  • [[ESP8266 Wemos D1 Mini Pro: Laboratorios

|ESP8266 Wemos D1 Mini Pro: Laboratórios]]

Módulo Node MCU baseado no ESP8266

O Módulo Node MCU é uma placa de prototipagem com um ESP8266 embutido. Este módulo apresenta pinagem compatível com matrizes de contado facilitando a prototipagem, interface USB e adaptador para permitir a comunicação serial com o módulo e regulador de tensão de 3,3V que permite obter alimentação para a placa diretamente de conectores USB.

150 pc

Pinagem do NodeMCU ESP8266

[1]

Instalação da placa do NodeMCU 1.0 ESP 12E na IDE do Arduino
  1. IDE -> Arquivo -> Preferências
  2. URLs Adicionais para Gerenciadores de Placa: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Ferramentas -> Gerenciadores de Placa -> Instalar ESP8266
  • Atenção para a velocidade da upload em Upload Speed, o ESP8266 12E funciona melhor com a velocidade de 115200.
  • Ao iniciar a serial no setup, deve-se ater também para a velocidade ser a mesma da opção de Upload para o correto funcionamento.

Materiais sobre ESP8266 e NodeMCU

  1. ESP8266 NodeMCU Projects, Tutorials and Guides with Arduino IDE: https://randomnerdtutorials.com/projects-esp8266/
  2. Laboratório de Garagem. Programando o módulo ESP8266 pela IDE do Arduino: http://labdegaragem.com/profiles/blogs/tutorial-esp8266-programando-com-a-ide-do-arduino
  3. FelipeFlop. Como programar o NodeMCU com IDE Arduino. https://www.filipeflop.com/blog/programar-nodemcu-com-ide-arduino/
  4. Robocore. Como programar o NodeMCU com Arduino IDE. https://www.robocore.net/tutorials/162

ESP32

O ESP8266 é um microcontrolador que possui processador Dual Core, interface WiFi, Bluetooth e vários sensores embutidos..

Modulo ESP32

[2]

Projeto ESP32 no GitHub
https://github.com/espressif/arduino-esp32
Random Nerd Tutorials
Getting Started with the ESP32: https://randomnerdtutorials.com/getting-started-with-esp32/
Instalação da placa do ESP32 com a IDE do Arduino
  1. IDE -> Arquivo -> Preferências
  2. URLs Adicionais para Gerenciadores de Placa: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. Ferramentas -> Gerenciadores de Placa -> Instalar ESP32
  4. Selecionar placa ESP32 Dev Module

ESP32: Exemplos

Wifi
Exemplo pronto da biblioteca padrão do Arduino: Arquivo -> Exemplos -> Wifi -> SimpleWifiServer:
  • Configurar apenas ssid e passwd da rede Wifi;
  • Identificar via terminal serial o endereço IP recebido pelo ESP32;
  • Será possível controlar led (gpio 5, ou outro) via nagerador Web.
Bluetooth
Exemplo pronto da biblioteca padrão do Arduino: Arquivo -> Exemplos -> BluetoothSerial -> SerialToSerialBT:
Exemplo de interação bluetooth entre ESP32 e Android Serial Bluetooth Terminal.
  • Carregar código no ESP32;
  • Instalar aplicativo Serial Bluetooth Terminal no Android;
  • Parear o ESP32 com o Android;
  • Trocar mensagens seriais entre o terminal do ESP32 e o aplicativo Serial Bluetooth Terminal
Bluetooth Low Energy - BLE
Ver detalhes do BLE: https://randomnerdtutorials.com/esp32-bluetooth-low-energy-ble-arduino-ide/.
Biblioteca: https://github.com/nkolban/ESP32_BLE_Arduino
  • Exemplo pronto Arquivo -> Exemplos -> ESP BLE Arduino -> BLEserver;
  • Instalar aplicativo BLE Terminal no Android;
  • Conectar ao dispositivo.

Materiais sobre o ESP32 NodeMCU

  1. ESP32 Projects, Tutorials and Guides with Arduino IDE: https://randomnerdtutorials.com/projects-esp32/
  2. Conhecendo o ESP32 - Curto Circuito: https://www.curtocircuito.com.br/blog/conhecendo-esp32
  3. ESP32 conectando-se a uma rede WiFi: https://www.usinainfo.com.br/blog/esp32-wifi-comunicacao-com-a-internet/

Programando ESP32 com MicroPython

MicroPython é uma implementação do Python 3 targeted para microcontroladores. Foi desenvolvido para a placa pyboard, mas pode ser utilizado em outros microcontroladores como o ESP8266 e ESP32. [3] [4]

Instalação do MicroPython

Instalação no Ubuntu 20.04:

sudo apt update
sudo apt install python3 python3-pip python3-tk
sudo apt install micropython
Instalação da IDE Thonny
sudo pip3 install thonny

MicroPython no ESP32

Usar o MicroPython é uma excelente maneira de tirar o máximo proveito da placa ESP32.

Instalação do firmware no ESP32
[5]

Download firmware para ESP32 no site: https://micropython.org/download/esp32/.

Instalar esptool:

pip install esptool

Verificar a porta USB que a placa está conectada. Pode ser verificado com a IDE do Arduíno.

Apagar o firmware anterior:

esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
Pressionar o botão boot/flash antes de executar o comando.

Instalar novo firmware:

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-idf4-20200902-v1.13.bin

Programando ESP32 com Thonny

Setar no Thonny a placa ESP32 em uso:

Ferramentas -> Opções -> Interpretador -> MicroPython (ESP32)
Teste
Acender/apagar led da placa
>>> from machine import Pin
>>> Pin(2, Pin.OUT).value(1)
>>> Pin(2, Pin.OUT).value(0)
Blink
Piscar led
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
  led.value(not led.value())
  sleep(0.5)
Guia de programação MicroPython para ESP32

MQTT ESP32 com MicroPython

Tutorial
[6]
Este tutorial mostra a interação entre dois ESP32.
Entretanto, pode-se utilizar apenas um ESP32 e utilizar os clientes mosquitto_pub e mosquitto_sub para interagir com o ESP32.

1) Carregar a biblioteca umqttsimple.py e salvar no dispositivo:

https://raw.githubusercontent.com/RuiSantosdotme/ESP-MicroPython/master/code/MQTT/umqttsimple.py

2) Carregar boot.py e ajustar os parâmetros de configuração do Wifi e broker e em seguida salvar no dispositivo.

3) Carregar main.py e executar.

ESP32:

  • Publica: tópico: "hello"
  • Subscreve: tópico: "notification"

Mosquitto Client:

  • Publica: tópico: "notification"
  • Subscreve: tópico: "hello"

Heltec ESP32 Wifi Lora

Materiais sobre Heltec ESP32

  1. How to use the Heltec OLED display on the ESP32: https://www.sabulo.com/sb/esp32-development-board/how-to-use-the-heltec-oled-display-on-the-esp32/

Evandro.cantu (discussão) 17h42min de 8 de novembro de 2021 (-03)