ESP32 com MicroPython: mudanças entre as edições
Linha 1: | Linha 1: | ||
=Programando ESP32 com MicroPython= | =Programando ESP32 com MicroPython= | ||
'''[https://micropython.org/ MicroPython]''' é uma implementação do '''Python 3''' voltada para '''microcontroladores'''. Foi desenvolvido para a placa '''pyboard''', mas pode ser utilizado em outros microcontroladores como o | '''[https://micropython.org/ MicroPython]''' é uma implementação do '''Python 3''' voltada para '''microcontroladores'''. Foi desenvolvido para a placa '''pyboard''', mas pode ser utilizado em outros microcontroladores como o ESP32. <ref>https://docs.micropython.org/en/latest/esp32/tutorial/intro.html#</ref> <ref>https://randomnerdtutorials.com/getting-started-micropython-esp32-esp8266/</ref> | ||
[[Arquivo:pyboard.jpg|200px]] | [[Arquivo:pyboard.jpg|200px]] |
Edição das 13h59min de 24 de fevereiro de 2022
Programando ESP32 com MicroPython
MicroPython é uma implementação do Python 3 voltada para microcontroladores. Foi desenvolvido para a placa pyboard, mas pode ser utilizado em outros microcontroladores como o ESP32. [1] [2]
- 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
- [3]
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
- [4]
- 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"
Referências
- ↑ 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/
Evandro.cantu (discussão) 09h12min de 10 de novembro de 2021 (-03)