Note
Bonjour, bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino & ESP32 sur Facebook ! Explorez en profondeur le Raspberry Pi, l’Arduino et l’ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Avant-premières exclusives : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus exclusifs.
Réductions spéciales : Profitez de remises exclusives sur nos nouveaux produits.
Promotions festives et cadeaux : Participez à des concours et promotions spéciales.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
1. Accès au Réseau
Le Raspberry Pi Pico W est très similaire au Raspberry Pi Pico, avec les mêmes GPIO, port microUSB et dimensions. La seule différence est l’ajout de la puce Wi-Fi CYW43439 2,4 GHz d’Infineon. Voyons maintenant comment il se connecte à notre réseau Wi-Fi.
Composants requis
Pour ce projet, nous aurons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
DANS CE KIT |
LIEN |
|---|---|---|
Kepler Kit |
450+ |
Vous pouvez également les acheter séparément via les liens ci-dessous.
SN |
COMPOSANT |
QUANTITÉ |
LIEN |
|---|---|---|---|
1 |
1 |
||
2 |
Câble Micro USB |
1 |
1. Connexion à Internet
Avec seulement cinq lignes de MicroPython, notre Raspberry Pi Pico W se connecte joyeusement à Internet.
Ces 5 lignes de code peuvent être exécutées directement depuis le Shell, en appuyant sur Enter après les avoir tapées.
Ou référez-vous à la méthode suivante et créez un nouveau fichier .py pour les exécuter.
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
print(wlan.isconnected())
Créez un nouveau script en cliquant sur le bouton New dans Thonny, copiez et collez le code ci-dessus, en changeant
SSIDetPASSWORDpar les vôtres.
Pour exécuter le script, cliquez sur le bouton Run current script ou appuyez sur F5. Si la connexion est réussie,
trues’affichera.Note
Assurez-vous que le Raspberry Pi Pico W est connecté à l’ordinateur via un câble USB, puis cliquez en bas à droite pour sélectionner MicroPython (Raspberry Pi Pico).COMXxx comme interpréteur.
2. Gestion des délais et affichage de l’IP
En tenant compte de certaines conditions réseau médiocres, ajoutons une gestion de délai au code.
Si la connexion est réussie, l’IP du Pico W s’affichera après avoir copié et exécuté le script.
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
# Attendre la connexion ou l'échec
wait = 10
while wait > 0:
if wlan.status() < 0 or wlan.status() >= 3:
break
wait -= 1
print('waiting for connection...')
time.sleep(1)
# Gérer l'erreur de connexion
if wlan.status() != 3:
raise RuntimeError('wifi connection failed')
else:
print('connected')
print('IP: ', wlan.ifconfig()[0])
Fonction
wlan.status(): Renvoie le statut actuel de la connexion sans fil, la valeur retournée est indiquée dans le tableau ci-dessous.Statut
Valeur
Description
STAT_IDLE
0
pas de connexion et aucune activité,
STAT_CONNECTING
1
connexion en cours,
STAT_WRONG_PASSWORD
-3
échec en raison d’un mot de passe incorrect,
STAT_NO_AP_FOUND
-2
échec car aucun point d’accès n’a répondu,
STAT_CONNECT_FAIL
-1
échec pour d’autres raisons,
STAT_GOT_IP
3
connexion réussie.
Fonction
wlan.ifconfig(): Obtient les adresses IP, les masques de sous-réseau, les passerelles et les serveurs DNS. Cette méthode retourne un tuple contenant ces informations. Dans ce cas, nous n’affichons que l’adresse IP.
3. Enregistrer les informations privées dans secrets.py
Lorsque vous partagez votre projet Pico W, vous ne voulez probablement pas que d’autres voient votre mot de passe Wi-Fi ou votre clé API.
Pour une meilleure sécurité, nous pouvons créer un fichier secrets.py pour stocker vos informations privées.
Copiez le code suivant dans un nouveau fichier script sur Thonny. N’oubliez pas de changer
SSIDetPASSWORDpar les vôtres.secrets = { 'ssid': 'SSID', 'password': 'PASSWORD', }
Choisissez Raspberry Pi Pico dans la fenêtre qui apparaît lorsque vous cliquez sur le bouton Save ou appuyez sur
Ctrl+S.
Nommez le fichier
secrets.py.
Vous verrez maintenant ce script dans votre Raspberry Pi Pico W.
Dans d’autres scripts, vous pouvez l’appeler comme suit. Si vous l’exécutez, vous verrez une connexion Wi-Fi réussie. Le fichier
secrets.pyest importé en tant que bibliothèque, vous n’avez donc pas à vous soucier de la fuite d’informations.import network import time from secrets import secrets wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(secrets['ssid'], secrets['password']) # Attendre la connexion ou l'échec wait = 10 while wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break wait -= 1 print('waiting for connection...') time.sleep(1) # Gérer l'erreur de connexion if wlan.status() != 3: raise RuntimeError('wifi connection failed') else: print('connected') print('IP: ', wlan.ifconfig()[0])
4. Connectez-vous à Internet via do_connect.py
Étant donné que chacun de nos prochains projets nécessitera une connexion réseau, pourquoi ne pas créer un nouveau fichier do_connect.py et y écrire les fonctions pertinentes pour les réutiliser, ce qui simplifiera considérablement le code des projets complexes.
Copiez le code suivant dans un nouveau fichier script et enregistrez-le dans le Raspberry Pi Pico sous le nom
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) # Attendre la connexion ou l'échec wait = 10 while wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break wait -= 1 print('waiting for connection...') time.sleep(1) # Gérer l'erreur de connexion if wlan.status() != 3: raise RuntimeError('wifi connection failed') else: print('connected') ip=wlan.ifconfig()[0] print('network config: ', ip) return ip
En l’appelant dans d’autres scripts de la manière suivante, le Raspberry Pi Pico W se connectera au réseau.
from do_connect import * do_connect()