ESP8266 e ESP32: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 197: Linha 197:
----
----


[[Categoria:Arduíno]] [[Categoria:Eletrônica]] [[Categoria:IoT]]
[[Categoria:Arduíno]] [[Categoria:IoT]]

Edição das 13h37min de 18 de outubro de 2021

ESP8266

O ESP8266 é um microcontrolador que possui uma interface WiFi, com suporte as redes 802.11 b/g/n.

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

Características do ESP8266

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
ESP8266 Arduino core
https://arduino-esp8266.readthedocs.io/en/latest/reference.html

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.

200 pc

Pinagem do NodeMCU ESP8266


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. Felipeflop. Qual módulo ESP8266 comprar? https://www.filipeflop.com/blog/qual-modulo-esp8266-comprar/
  3. 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
  4. FelipeFlop. Como programar o NodeMCU com IDE Arduino. https://www.filipeflop.com/blog/programar-nodemcu-com-ide-arduino/
  5. Robocore. Como programar o NodeMCU com Arduino IDE. https://www.robocore.net/tutorials/162
  6. BR-Arduino.org ESP8266: Instalando o firmware NodeMCU e a linguagem Lua. https://br-arduino.org/2015/08/nodemcu-esp8266.html
  7. Fernando Tecnologia. NodeMCU ESP8266: Detalhes e Pinagem. https://www.fernandok.com/2018/05/nodemcu-esp8266-detalhes-e-pinagem.html

Módulo WiFi ESP01

O módulo ESP01, baseado no microcontrolador ESP8266, possui tamanho reduzido e 8 pinos e pode ser utilizado como ponte para comunicação serial via rede WiFi.

Materiais sobre o ESP01
  1. BR-Arduino.org. ESP8266 do jeito simples: conexão ao Arduino, acesso à rede WiFi e resposta a ping. https://br-arduino.org/2015/05/esp8266-arduino-facil.html
  2. Embarcados. Gravando o ESP8266-01 na IDE Arduino. https://www.embarcados.com.br/gravando-o-esp8266-01-na-ide-arduino/
  3. Embarcados. Apresentando o módulo ESP8266. https://www.embarcados.com.br/modulo-esp8266/

Módulo ESP201

O módulo ESP 201 é uma placa de desenvolvimento baseada no ESP8266 com WiFi e UART.

[1]

Materiais sobre o ESP201
  1. Instructables. Programming ESP8266- ESP-201 Stand Alone With Arduino IDE. https://www.instructables.com/id/Programming-ESP8266-ESP-201-stand-alone-with-Ardui/

ESP32

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

Modulo ESP32

Projeto ESP32 no GitHub
https://github.com/espressif/arduino-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. [2] [3]

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
[4]

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
[5]
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) 15h25min de 20 de outubro de 2020 (-03)