¿Alguna vez has querido convertir tu ESP32/ESP8266 en un punto de acceso para crear una red Wi-Fi personalizada? Con MicroPython, ahora es más fácil que nunca. En este artículo, exploraremos cómo configurar tu placa ESP32/ESP8266 como un punto de acceso (AP) utilizando MicroPython. ¡Sigue leyendo para descubrir cómo hacerlo!
Aprenda cómo configurar sus placas ESP32 o ESP8266 como punto de acceso (AP) utilizando el firmware MicroPython. Esto significa que puedes conectarte a tus placas ESP directamente a través de WiFi sin un enrutador WiFi.
Utilice el siguiente fragmento de código para configurar su ESP32 o ESP8266 como punto de acceso usando MicroPython:
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password)
requisitos
Para seguir este tutorial, debe tener instalado el firmware MicroPython en sus placas ESP32 o ESP8266. También necesitarás un IDE para escribir el código y subirlo a tu placa. Recomendamos utilizar Thonny IDE o uPyCraft IDE:
- IDE de Thonny:
- Instalación y primeros pasos con Thonny IDE
- Actualización del firmware MicroPython usando esptool.py
- IDE de UpyCraft:
- Comenzando con uPyCraft IDE
- Instale uPyCraft IDE (Windows, Mac OS X, Linux)
- Flashear/cargar firmware MicroPython a ESP32 y ESP8266
Obtenga más información sobre MicroPython: Programación de MicroPython con ESP32 y ESP8266 eBook
Estación ESP32/ESP8266 y punto de acceso
En la mayoría de nuestros proyectos de servidores web que utilizan MicroPython, conectamos el ESP32 o ESP8266 a un enrutador inalámbrico. En esta configuración podremos acceder a la placa ESP a través de la red local.
En este escenario, el enrutador actúa como punto de acceso y las placas ESP se configuran como una estación. Por lo tanto, debe estar conectado a su enrutador (red local) para controlar el ESP32 o ESP8266.
En algunos casos, esta puede no ser la mejor configuración (si no tienes un enrutador cerca). Sin embargo, si configura las placas ESP como punto de acceso (punto de acceso), puede conectarse a ellas utilizando cualquier dispositivo con capacidad Wi-Fi sin tener que conectarse a su enrutador.
Cuando configura ESP32 o ESP8266 como punto de acceso, básicamente crea su propia red WiFi y los dispositivos (estaciones) WiFi cercanos (como su teléfono inteligente o su computadora) pueden conectarse a ella.
En este tutorial le mostraremos cómo configurar ESP32 y ESP8266 como punto de acceso en sus proyectos de servidor web. De esta forma no es necesario estar conectado a un enrutador para controlarlos.
Debido a que el ESP ya no se conecta a una red cableada (como su enrutador), se le llama AP suave (Punto de acceso suave).
Esto significa que intentar cargar bibliotecas o utilizar firmware desde Internet no funcionará. Tampoco funcionará si intenta realizar solicitudes HTTP a servicios en Internet, como por ejemplo: B. publicar valores de sensores en la nube.
Punto de acceso (AP) MicroPython ESP32/ESP8266 para servidores web
Para fines de demostración, crearemos un servidor web simple «¡Hola mundo!». Para obtener más información sobre cómo crear un servidor web usando ESP32 o ESP8266, puede leer el siguiente tutorial:
- Servidor web ESP32/ESP8266 MicroPython: salidas de control
Copie el siguiente código en su arranque.py Archiva y súbelo a tu tablero.
# Complete project details at https://RandomNerdTutorials.com
try:
import usocket as socket
except:
import socket
import network
import esp
esp.osdebug(None)
import gc
gc.collect()
ssid = 'MicroPython-AP'
password = '123456789'
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password)
while ap.active() == False:
pass
print('Connection successful')
print(ap.ifconfig())
def web_page():
html = """<html><head><meta name="viewport" content="width=device-width, initial-scale=1"></head>
<body><h1>Hello, World!</h1></body></html>"""
return html
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)
while True:
conn, addr = s.accept()
print('Got a connection from %s' % str(addr))
request = conn.recv(1024)
print('Content = %s' % str(request))
response = web_page()
conn.send(response)
conn.close()
Personaliza el SSID y la contraseña
Debe configurar un nombre SSID y una contraseña para su punto de acceso. En este ejemplo configuramos el nombre SSID AP MicroPythonpero puedes cambiar el nombre por el que quieras. La contraseña es 123456789Pero también puedes cambiarlo.
ssid = 'MicroPython-AP'
password = '123456789'
Configurar un punto de acceso con MicroPython
Luego cree un punto de acceso usando la siguiente línea de código:
ap = network.WLAN(network.AP_IF)
Activar el punto de acceso:
ap.active(True)
Configura el punto de acceso con el SSID y contraseña que definiste anteriormente:
ap.config(essid=ssid, password=password)
Las siguientes líneas imprimen la dirección IP del punto de acceso.
print('Connection successful')
print(ap.ifconfig())
Por defecto la dirección IP es 192.168.4.1
Ahora se crea el punto de acceso.
Servidor de socket
Para fines de demostración, creemos un servidor de socket que muestre el mensaje «¡Hola mundo!»
def web_page():
html = """<html><head><meta name="viewport" content="width=device-width, initial-scale=1"</head><body><h1>Hello, World!</h1></body></html>"""
return html
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)
while True:
conn, addr = s.accept()
print('Got a connection from %s' % str(addr))
request = conn.recv(1024)
print('Content = %s' % str(request))
response = web_page()
conn.send(response)
conn.close()
Conexión al punto de acceso (AP)
Después de cargar el código como arranque.py a su placa ESP32 o ESP8266, abra la configuración de Wi-Fi en su teléfono inteligente y toque AP MicroPython Red:
Ingrese la contraseña que estableció anteriormente.
Abra su navegador web e ingrese la dirección IP http://192.168.4.1. La página del servidor web debería cargarse:
Deberías ver un mensaje similar en el shell:
Envolver
En este tutorial, aprendió cómo configurar sus placas EPS32 o ESP8266 como un punto de acceso suave (AP suave) usando MicroPython. Si desea aprender a hacer lo mismo con Arduino IDE, consulte las guías a continuación:
- Punto de acceso (AP) ESP32 para servidor web con Arduino IDE
- Punto de acceso (AP) ESP8266 NodeMCU para servidor web con Arduino IDE
Obtenga más información sobre MicroPython con nuestros recursos:
- MicroPython con ESP32 y ESP8266: Interactuando con GPIO
- Servidor web ESP32/ESP8266 MicroPython: salidas de control
- MicroPython: introducción a MQTT en ESP32/ESP8266
- Programación MicroPython con ESP32 y ESP8266 (libro electrónico)
Gracias por leer.
Configuración de ESP32 o ESP8266 como Punto de Acceso (AP) con MicroPython
En este tutorial aprenderás cómo configurar tus placas ESP32 o ESP8266 como Punto de Acceso (AP) utilizando el firmware de MicroPython. Esto te permitirá conectar directamente tus placas ESP a través de Wi-Fi sin necesidad de un router inalámbrico.
Snippet para configurar tu ESP32 o ESP8266 como un punto de acceso usando MicroPython:
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password)
Prerrequisitos
Para seguir este tutorial necesitas tener instalado el firmware de MicroPython en tus placas ESP32 o ESP8266. También necesitarás un IDE para escribir y cargar el código en tu placa. Te recomendamos usar Thonny IDE o uPyCraft IDE.
- Thonny IDE:
- Instalación y puesta en marcha de Thonny IDE
- Flasheo del firmware de MicroPython con esptool.py
- uPyCraft IDE:
- Puesta en marcha de uPyCraft IDE
- Instalación de uPyCraft IDE (Windows, Mac OS X, Linux)
- Flasheo/carga del firmware de MicroPython en ESP32 y ESP8266
Para obtener más información sobre MicroPython:MicroPython Programming with ESP32 and ESP8266 eBook