27 - PRÁCTICAS - ESP32 en MicroPython

Volver al curso

Instala la imagen MicroPython de LoBo (Boris Lovosevic) en la ESP32:

Instalación

Baja y descompre la imagen de LoBoris. Arranca cmd y ejecuta los siguientes comandos:

Probado en ESP32 y ESP32-S.

Uso

Thonny IDE. Fíjate que a la izquierda ves el contenido de la flash, y debajo la CLI del Python REPL.
Thonny IDE. Fíjate que a la izquierda ves el contenido de la flash, y debajo la CLI del Python REPL.

Puedes programar con Thonny o con uPyCraft. Micropython tiene dos archivos principales:

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?

27.1 Leer entradas digitales

https://randomnerdtutorials.com/micropython-gpios-esp32-esp8266/

27.2 Controlar salidas digitales

https://randomnerdtutorials.com/esp32-esp8266-digital-inputs-digital-outputs-micropython/

27.3 Leer entradas analógicas

https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/

27.4 Generar señales PWM

https://randomnerdtutorials.com/esp32-esp8266-pwm-micropython/


Volver al curso