Configuration du réseau Wifi
Les modules ESP sont équipés en standard de Wifi. La configuration des paramètres wifi se fait à l'aide de commandes Python. On peut soit les taper à la volée dans la console REPL, soit les charger automatiquement au démarrage de la carte.
Configuration via la commande interactive REPL
Connectez vous en mode console au REPL de MicroPython (sous Linux, vous taperez screen /dev/ttyUSB0 115200
comme vu précédemment). Une fois que vous avez le prompt(>>>), tapez les lignes suivantes, elles vous connecteront au réseau wifi. Remplacez bien sûr "MON_SSID" et "MON_PASSWD" par le nom de votre wifi et le mot de passe correspondant.
Conservez ces lignes dans un bloc-note, elles pourront resservir plus tard...
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('MON_SSID', 'MON_PASSWD')
print('network config:', wlan.ifconfig())
Si vous faîtes un copier coller, faîtes le ligne par ligne afin de laisser le temps à chaque commande de se terminer. Si vous allez trop vite, la procédure peut échouer.
Si tout s'est bien passé, vous devriez obtenir à la fin une ligne du type
network config: ('192.168.1.234', '255.255.255.0', '192.168.1.1', '192.168.1.10')
Félicitations, votre carte est connectée en Wifi à votre réseau. Dans l'exemple précédent, l'adresse IP de la carte est le 192.168.1.234. Un ping confirmera qu'elle répond bien.
Remarque :
Pour le moment, notre configuration sera conservée lors d'un soft-reset (CTRL-D) mais pas lors d'un hard-reset (bouton reset de la carte ou débranchement de la prise USB).
Configurer le Wifi au démarrage de la carte (optionnel)
Modification du boot.py
Pour que le Wifi s'active au reboot, il faut faire la configuration réseau dans le fichier boot.py qui se charge automatiquement au démarrage de la carte.
Un fichier boot.py existe déjà sur la carte dès l'installation de MicroPython. Ajoutez-y les lignes suivantes en complétant le nom et le mot de passe de votre Wifi.
import network
import time
# Connexion au Wifi
WIFI_SSID = 'MON_WIFI'
WIFI_PASSWORD = 'MON_PASSWD'
# Desactive le reseau Wifi interne a la carte
ap_if = network.WLAN(network.AP_IF)
ap_if.active(False)
# connection de la carte au reseau Wifi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
time.sleep(3)
print('connexion au reseau...')
wlan.connect(WIFI_SSID, WIFI_PASSWORD)
time.sleep(1)
# 20 Tentatives de connexions au Wifi
MAX_ATTEMPTS = 20
attempt_count = 0
while not wlan.isconnected() and attempt_count < MAX_ATTEMPTS:
attempt_count += 1
time.sleep(1)
wlan.connect(WIFI_SSID, WIFI_PASSWORD)
if attempt_count == MAX_ATTEMPTS:
print('impossible de rejoindre le reseau Wifi')
sys.exit()
print('config reseau:', wlan.ifconfig())
Complément : Comment modifier le boot.py ?
Pour modifier le boot.py, il faut disposer d'un environnement de développement. Il y en a 3 principaux disponibles : webrepl, uPyCraft ou Mu. Si vous ne savez utiliser aucun des 3 pour le moment, vous pouvez remettre cette configuration à plus tard, voire l'ignorer car il est toujours possible de réaliser la connexion au wifi au début de vos programmes comme on le verra dans nos exemples de mini-projets.