ESP8266 e ESP32
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.
- Pinagem do NodeMCU ESP8266
- Instalação da placa do NodeMCU 1.0 ESP 12E na IDE do Arduino
- IDE -> Arquivo -> Preferências
- URLs Adicionais para Gerenciadores de Placa: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- 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
- ESP8266 NodeMCU Projects, Tutorials and Guides with Arduino IDE: https://randomnerdtutorials.com/projects-esp8266/
- Felipeflop. Qual módulo ESP8266 comprar? https://www.filipeflop.com/blog/qual-modulo-esp8266-comprar/
- 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
- FelipeFlop. Como programar o NodeMCU com IDE Arduino. https://www.filipeflop.com/blog/programar-nodemcu-com-ide-arduino/
- Robocore. Como programar o NodeMCU com Arduino IDE. https://www.robocore.net/tutorials/162
- BR-Arduino.org ESP8266: Instalando o firmware NodeMCU e a linguagem Lua. https://br-arduino.org/2015/08/nodemcu-esp8266.html
- 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
- 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
- Embarcados. Gravando o ESP8266-01 na IDE Arduino. https://www.embarcados.com.br/gravando-o-esp8266-01-na-ide-arduino/
- 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.
- Materiais sobre o ESP201
- 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
- IDE -> Arquivo -> Preferências
- URLs Adicionais para Gerenciadores de Placa: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Ferramentas -> Gerenciadores de Placa -> Instalar ESP32
- 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
- ESP32 Projects, Tutorials and Guides with Arduino IDE: https://randomnerdtutorials.com/projects-esp32/
- Conhecendo o ESP32 - Curto Circuito: https://www.curtocircuito.com.br/blog/conhecendo-esp32
- 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
- Conceitos básicos: https://randomnerdtutorials.com/micropython-programming-basics-esp32-esp8266/
- Pinout: https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
- Interação com pinos GPIO: https://randomnerdtutorials.com/micropython-gpios-esp32-esp8266/
- Entradas e saídas: https://randomnerdtutorials.com/esp32-esp8266-digital-inputs-digital-outputs-micropython/
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
- 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)
- ↑ https://www.esp8266.com
- ↑ https://docs.micropython.org/en/latest/esp32/tutorial/intro.html#
- ↑ https://randomnerdtutorials.com/getting-started-micropython-esp32-esp8266/
- ↑ https://randomnerdtutorials.com/flashing-micropython-firmware-esptool-py-esp32-esp8266/
- ↑ https://randomnerdtutorials.com/micropython-mqtt-esp32-esp8266/