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.

1
import network
2
import time
3
4
# Connexion au Wifi
5
WIFI_SSID = 'MON_WIFI'
6
WIFI_PASSWORD = 'MON_PASSWD'
7
8
# Desactive le reseau Wifi interne a la carte
9
ap_if = network.WLAN(network.AP_IF)
10
ap_if.active(False)
11
12
# connection de la carte au reseau Wifi
13
wlan = network.WLAN(network.STA_IF)
14
wlan.active(True)
15
time.sleep(3)
16
print('connexion au reseau...')
17
wlan.connect(WIFI_SSID, WIFI_PASSWORD)
18
time.sleep(1)
19
# 20 Tentatives de connexions au Wifi
20
MAX_ATTEMPTS = 20
21
attempt_count = 0
22
while not wlan.isconnected() and attempt_count < MAX_ATTEMPTS:
23
    attempt_count += 1
24
    time.sleep(1)
25
    wlan.connect(WIFI_SSID, WIFI_PASSWORD)
26
27
if attempt_count == MAX_ATTEMPTS:
28
    print('impossible de rejoindre le reseau Wifi')
29
    sys.exit()
30
print('config reseau:', wlan.ifconfig())
31

ComplémentComment 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.