Tener en cuenta que la tarjeta ESP32 puede comunicarse a cientos de metros de distancia, eso junto que el codigo python es el que esta relacionado con la mayoria de las aplicaciones y plataformas que estan corriendo por internet, las posibilidades son muy grandes, para crear e inventar funcionalidades nuevas.
Aqui os dejo los codigos que utilizo en el video, asi como los enlaces a paginas para descargar los recursos que necesitamos.
Codigo main.py, en la placa para comunicarse por webrepl:
import network
import webrepl
ssid = "ESP32.5"
password = "po12345678"
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password, authmode=network.AUTH_WPA2_PSK)
while not ap.active():
pass
print("Access Point is active. SSID:", ssid, "Password:", password)
print("IP address:", ap.ifconfig()[0])
webrepl.start()
webrepl.start(password='mypass')
Este código en MicroPython configura un dispositivo (por ejemplo, ESP32) como un punto de acceso Wi-Fi utilizando el módulo network y habilita el WebREPL para permitir la comunicación remota a través de un navegador web.
- import network: Importa el módulo network para trabajar con redes Wi-Fi.
- import webrepl: Importa el módulo webrepl para utilizar el WebREPL (Python Remote Read-Eval-Print Loop) en el dispositivo.
- ssid = «ESP32.5»: Define la variable ssid con el valor «ESP32.5», que representa el nombre de la red Wi-Fi (SSID) del punto de acceso.
- password = «po12345678»: Define la variable password con el valor «po12345678», que representa la contraseña de la red Wi-Fi del punto de acceso.
- ap = network.WLAN(network.AP_IF): Crea un objeto ap utilizando la clase WLAN del módulo network. El argumento network.AP_IF indica que el dispositivo funcionará como un punto de acceso Wi-Fi.
- ap.active(True): Activa el objeto ap para que el dispositivo funcione como un punto de acceso Wi-Fi.
- ap.config(essid=ssid, password=password, authmode=network.AUTH_WPA2_PSK): Configura el objeto ap con el SSID y la contraseña definidos previamente, y establece el modo de autenticación en WPA2-PSK.
- while not ap.active(): pass: Espera hasta que el punto de acceso esté activo.
- print(«Access Point is active. SSID:», ssid, «Password:», password): Imprime en la consola que el punto de acceso está activo, mostrando el SSID y la contraseña.
- print(«IP address:», ap.ifconfig()[0]): Imprime la dirección IP del punto de acceso utilizando el método ifconfig() del objeto ap.
- webrepl.start(): Inicia el WebREPL en el dispositivo.
- webrepl.start(password=’mypass’): Inicia el WebREPL nuevamente, pero esta vez establece la contraseña como «mypass» para acceder al WebREPL a través de un navegador web.
Una vez que se ejecute este código, el dispositivo funcionará como un punto de acceso Wi-Fi con el SSID y la contraseña especificados. Además, el WebREPL estará disponible para la comunicación remota utilizando la contraseña «mypass».
El siguiente código pertenece al archivo webperl_cfg.py, a pesar de contener solo esta linea es necesario instalarlo en la placa para trabajar con esta plataforma:
PASS = 'mypass'
Enlaces a las pagina necesarias comentadas en el video:
Herramienta necesaria para trabajar con la extensión Pymakr de VSCode, se llama NodeJS:
https://nodejs.org/en/download
Página oficial de python para descargarse la última version de este código de programación interpretado:
https://www.python.org/downloads/
Página para descargar el firmware que debes descargarte en la placa ESP32 para que pueda interpretar los archivos micropython que le subas y poder ejecutarlos:
https://micropython.org/download/esp32/
En esta otra página puedes encontrar cualquier otro firmware en el caso de que utilices una placa diferente:
https://micropython.org/download/#esp8266
En esta página podrás descargarte el software que necesitas para trabajar en modo local con la plataforma WebRepl:
git clone https://github.com/micropython/webrepl.git
El siguiente código es para encender un led y apagarlo, ejecutandolo como si del loop en la estructura arduino se tratara:
import machine
import time
# Replace the pin number with the GPIO pin connected to the LED on your board.
# For example, on an ESP8266 NodeMCU, you can use pin 14 for the built-in LED.
led_pin = 14
# Configure the LED pin as an output pin
led = machine.Pin(led_pin, machine.Pin.OUT)
# Define a delay time in seconds (0.5 seconds in this example)
delay_time = 0.5
while True:
# Turn the LED on
led.on()
time.sleep(delay_time)
# Turn the LED off
led.off()
time.sleep(delay_time)
Este código es para controlar un LED conectado a un microcontrolador, como por ejemplo un ESP8266 NodeMCU. Utiliza dos módulos de Python, «machine» y «time», para manipular los pines del microcontrolador y controlar el tiempo de espera.
- import machine: Importa el módulo «machine» para interactuar con los pines del microcontrolador.
- import time: Importa el módulo «time» para controlar los tiempos de espera en el programa.
- led_pin = 14: Define la variable «led_pin» con el valor 14, que representa el número de pin GPIO al que está conectado el LED. En este caso, el LED está conectado al pin 2 del microcontrolador.
- led = machine.Pin(led_pin, machine.Pin.OUT): Crea un objeto «led» utilizando la clase «Pin» del módulo «machine». El primer argumento es el número de pin y el segundo argumento define el modo del pin, en este caso, salida (machine.Pin.OUT).
- delay_time = 0.5: Define una variable «delay_time» que representa el tiempo de espera en segundos. Aquí, el tiempo de espera es de 0.5 segundos.
- while True:: Este bucle infinito se ejecutará continuamente.
- led.on(): Enciende el LED conectando el pin a tierra (GND).
- time.sleep(delay_time): Pausa la ejecución del programa durante el tiempo especificado en la variable «delay_time» (0.5 segundos).
- led.off(): Apaga el LED desconectando el pin de tierra (GND).
- time.sleep(delay_time): Pausa la ejecución del programa nuevamente durante el tiempo especificado en la variable «delay_time» (0.5 segundos).
El programa hará que el LED parpadee de forma indefinida con un intervalo de 0.5 segundos entre encendido y apagado.
Deja una respuesta Cancelar la respuesta