ESP8266 Python: Programación de ESP8266 con Python
El ESP8266 es un microcontrolador Wi-Fi de bajo costo y alto rendimiento. Es una plataforma popular para la creación de proyectos de Internet de las Cosas (IoT).
MicroPython es una implementación de Python para sistemas embebidos. Es una versión reducida de Python 3, diseñada para ser eficiente en recursos.
En este tutorial, aprenderemos a programar el ESP8266 con MicroPython.
Requisitos
- Un ESP8266
- Un cable microUSB
- Un ordenador con Python 3 instalado
- La herramienta esptool
Instalación de MicroPython
Para instalar MicroPython en el ESP8266, necesitamos descargar el firmware y la herramienta esptool.
El firmware se puede descargar desde la página web de MicroPython. Elija el firmware para su modelo de ESP8266.
La herramienta esptool se puede descargar desde GitHub.
Una vez que tenga el firmware y la herramienta esptool, siga estos pasos para instalar MicroPython:
- Conecte el ESP8266 a su ordenador con el cable microUSB.
- Abra una terminal y vaya a la carpeta donde descargó el firmware.
- Ejecute el siguiente comando para poner el ESP8266 en modo de descarga:
esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 firmware.bin
Reemplace /dev/ttyUSB0
con el nombre del puerto USB de su ESP8266.
- El firmware se instalará en el ESP8266.
Comunicación con el ESP8266
Una vez que MicroPython esté instalado en el ESP8266, podemos comunicarnos con él usando la consola REPL.
Para abrir la consola REPL, siga estos pasos:
- Conecte el ESP8266 a su ordenador con el cable microUSB.
- Abra una terminal y vaya a la carpeta donde descargó el firmware.
- Ejecute el siguiente comando para iniciar la consola REPL:
ampy --port /dev/ttyUSB0 --baud 115200
Reemplace /dev/ttyUSB0
con el nombre del puerto USB de su ESP8266.
La consola REPL es una interfaz de línea de comandos que le permite ejecutar código Python en el ESP8266.
Ejemplos de código
Aquí hay algunos ejemplos de código que puede usar para comenzar a programar el ESP8266 con MicroPython:
Blinking LED
Este código hace que un LED parpadee:
import machine
led = machine.Pin(2, machine.Pin.OUT)
while True:
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Conectando a Wi-Fi
Este código conecta el ESP8266 a una red Wi-Fi:
import network
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect("SSID", "password")
while not wifi.isconnected():
pass
print("Conectado a la red Wi-Fi")
Enviando datos a un servidor web
Este código envía datos a un servidor web:
import urequests
url = "http://www.example.com/"
data = {"key": "value"}
response = urequests.post(url, json=data)
if response.status_code == 200:
print("Los datos se enviaron correctamente")
else:
print("Error al enviar los datos")
Conclusiones
MicroPython es una herramienta poderosa para programar el ESP8266. Con MicroPython, puede crear proyectos de IoT interesantes y útiles.
Para obtener más información sobre MicroPython, consulte la documentación oficial: https://docs.micropython.org/en/latest/