Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
Soporte Experto: Resuelve problemas posventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Previsualizaciones Exclusivas: Obtén acceso anticipado a anuncios de nuevos productos y adelantos exclusivos.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones Festivas y Sorteos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy.
1. Acceso a la Red
Raspberry Pi Pico W es muy similar a Raspberry Pi Pico, con el mismo GPIO, puerto microUSB y tamaño. La única diferencia es la adición del chip Wi-Fi CYW43439 de 2,4 GHz de Infineon. Veamos cómo se conecta a nuestra red Wi-Fi.
Componentes Requeridos
Para este proyecto, necesitamos los siguientes componentes.
Es conveniente adquirir el kit completo, aquí está el enlace:
Nombre |
COMPONENTES DEL KIT |
ENLACE |
|---|---|---|
Kit Kepler |
450+ |
También puedes comprarlos por separado a través de los enlaces a continuación.
N.º |
COMPONENTE |
CANTIDAD |
ENLACE |
|---|---|---|---|
1 |
1 |
||
2 |
Cable Micro USB |
1 |
1. Conexión a Internet
Con solo cinco líneas de código en MicroPython, nuestra Raspberry Pi Pico W puede conectarse a Internet.
Estas 5 líneas de código pueden ejecutarse directamente en la consola, presionando Enter después de escribir cada línea. O sigue el siguiente método y crea un nuevo archivo .py para ejecutarlo.
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
print(wlan.isconnected())
Crea un nuevo script haciendo clic en el botón Nuevo en Thonny y copia el código anterior, cambiando
SSIDyPASSWORDpor los tuyos.
Para ejecutar el script, haz clic en el botón Ejecutar script actual o presiona F5. Si la conexión es exitosa, se imprimirá
true.Nota
Asegúrate de que la Raspberry Pi Pico W esté conectada a la computadora mediante un cable USB y selecciona MicroPython (Raspberry Pi Pico).COMXxx como intérprete en la esquina inferior derecha.
2. Evaluación de Tiempo de Espera y Muestra de IP
Considerando condiciones de red deficientes, añadiremos una evaluación de tiempo de espera al código.
Si la conexión es exitosa, se mostrará la IP de la Pico W después de ejecutar el script.
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
# Espera hasta conectar o fallar
wait = 10
while wait > 0:
if wlan.status() < 0 or wlan.status() >= 3:
break
wait -= 1
print('waiting for connection...')
time.sleep(1)
# Manejo de error de conexión
if wlan.status() != 3:
raise RuntimeError('wifi connection failed')
else:
print('connected')
print('IP: ', wlan.ifconfig()[0])
Función
wlan.status(): Devuelve el estado actual de la conexión inalámbrica, el valor devuelto se muestra en la tabla a continuación.Estado
Valor
Descripción
STAT_IDLE
0
sin conexión ni actividad,
STAT_CONNECTING
1
en progreso de conexión,
STAT_WRONG_PASSWORD
-3
fallo debido a contraseña incorrecta,
STAT_NO_AP_FOUND
-2
fallo porque ningún punto de acceso respondió,
STAT_CONNECT_FAIL
-1
fallo por otros problemas,
STAT_GOT_IP
3
conexión exitosa.
Función
wlan.ifconfig(): Obtiene direcciones IP, máscaras de subred, puertas de enlace y servidores DNS. Esta función devuelve una tupla con esta información; en este caso, imprimimos solo la dirección IP.
3. Guarda la Información Privada en secrets.py
Al compartir tu proyecto con Pico W, probablemente no desees que otros vean tu contraseña Wi-Fi o clave de API. Para mejorar la seguridad, podemos crear un archivo secrets.py y almacenar tu información privada allí.
Copia el siguiente código en un nuevo archivo de script en Thonny. Cambia
SSIDyPASSWORDa tus datos.secrets = { 'ssid': 'SSID', 'password': 'PASSWORD', }
Elige Raspberry Pi Pico en la ventana emergente al hacer clic en el botón Guardar o presiona
Ctrl+S.
Nombra el archivo como
secrets.py.
Ahora puedes ver este script en tu Raspberry Pi Pico W.
En otros scripts, puedes llamarlo de la siguiente manera. Al ejecutarlo, verás una conexión Wi-Fi exitosa. El archivo
secrets.pyse importa como una biblioteca, por lo que no hay riesgo de exponer la información.import network import time from secrets import secrets wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(secrets['ssid'], secrets['password']) # Espera hasta conectar o fallar wait = 10 while wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break wait -= 1 print('waiting for connection...') time.sleep(1) # Manejo de error de conexión if wlan.status() != 3: raise RuntimeError('wifi connection failed') else: print('connected') print('IP: ', wlan.ifconfig()[0])
4. Conexión a Internet con do_connect.py
Dado que en cada proyecto necesitaremos una conexión a la red, ¿por qué no crear un nuevo archivo do_connect.py con funciones relevantes para su reutilización, lo que simplifica el código de proyectos complejos?
Copia el siguiente código en un nuevo archivo de script y guárdalo en la Raspberry Pi Pico como
do_connect.py.import network import time from secrets import * def do_connect(ssid=secrets['ssid'],psk=secrets['password']): wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, psk) # Espera hasta conectar o fallar wait = 10 while wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break wait -= 1 print('waiting for connection...') time.sleep(1) # Manejo de error de conexión if wlan.status() != 3: raise RuntimeError('wifi connection failed') else: print('connected') ip=wlan.ifconfig()[0] print('network config: ', ip) return ip
Llamando a esta función en otros scripts, permitirá que la Raspberry Pi Pico W se conecte a la red.
from do_connect import * do_connect()