MicroPython: Punto de acceso (AP) ESP32/ESP8266

¿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.

MicroPython: Punto de acceso (AP) ESP32/ESP8266

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.

MicroPython: Punto de acceso (AP) ESP32/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.

MicroPython: Punto de acceso (AP) ESP32/ESP8266

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()

Ver código sin formato

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:

MicroPython: Punto de acceso (AP) ESP32/ESP8266

Ingrese la contraseña que estableció anteriormente.

MicroPython: Punto de acceso (AP) ESP32/ESP8266

Abra su navegador web e ingrese la dirección IP http://192.168.4.1. La página del servidor web debería cargarse:

MicroPython: Punto de acceso (AP) ESP32/ESP8266

Deberías ver un mensaje similar en el shell:

MicroPython: Punto de acceso (AP) ESP32/ESP8266

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.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded







MicroPython: Punto de acceso (AP) ESP32/ESP8266

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:
    1. Instalación y puesta en marcha de Thonny IDE
    2. Flasheo del firmware de MicroPython con esptool.py
  • uPyCraft IDE:
    1. Puesta en marcha de uPyCraft IDE
    2. Instalación de uPyCraft IDE (Windows, Mac OS X, Linux)
    3. 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



Deja un comentario