Instala la imagen MicroPython de LoBo (Boris Lovosevic) en la ESP32:
Baja y descompre la imagen de LoBoris. Arranca cmd
y ejecuta los siguientes comandos:
pip install esptool
cd Desktop
# suponiendo que lo hayas descomprimido en el escritoriodir
# “dir” en Windows es lo mismo que “ls” en Linuxcd MicroPython_LoBo_esp32_all
cd esp32_all
esptool.py --port COM3 erase_flash
# Bórrala antes por seguridadesptool.py --chip esp32 --port COM3 --baud 460800 --before default_reset --after no_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader/bootloader.bin 0xf000 phy_init_data.bin 0x10000 MicroPython.bin 0x8000 partitions_mpy.bin
Probado en ESP32 y ESP32-S.
Puedes programar con Thonny o con uPyCraft. Micropython tiene dos archivos principales:
boot.py
, que se ejecuta una vez, al encender el micro.main.py
, el superbucle.Prueba comandos en la CLI de Python, el “Python REPL”: https://docs.micropython.org/en/latest/reference/repl.html
Ejemplo boot.py
con servidores Telnet y FTP:
# This file is executed on every boot (including wake-boot from deepsleep)
import sys
sys.path[1] = '/flash/lib'
import machine
import network
import time
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('TELO4', 'blablabla')
while not nic.isconnected():
machine.idle() # save power while waiting
ip = nic.ifconfig()[0]
print('\nConectado a Wi-Fi en', ip)
time.sleep_ms(100)
user = "user"
pwd = "pwd"
network.telnet.start(user=user, password=pwd, timeout=300)
while not network.telnet.status():
print("...espera")
print('Servidor Telnet activado')
rtc = machine.RTC()
time.sleep_ms(100)
rtc.ntp_sync(server= "time.euro.apple.com", tz="CET-1CEST", update_period=3600)
time.sleep_ms(100)
print("Cliente NTP -> Son las ", rtc.now()[3], ":", rtc.now()[4], ". Hoy es el dia ",\
rtc.now()[2], " del mes ",rtc.now()[1], " de ", rtc.now()[0], sep="")
network.ftp.start(user='user', password='pwd', buffsize=1024, timeout=300)
print('Servidor FTP activado')
Ahora ya puedes acceder a tu ESP32 enteramente mediante Wi-Fi:
Ya estás listo para crear tus primeros programas. ¿Para qué los voy a escribir yo, si ya lo han hecho Rui y Sara Santos?
https://randomnerdtutorials.com/micropython-gpios-esp32-esp8266/
https://randomnerdtutorials.com/esp32-esp8266-digital-inputs-digital-outputs-micropython/
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/
https://randomnerdtutorials.com/esp32-esp8266-pwm-micropython/