wifi-station.sh

Raspberry Pi Compute Module 3 (CM3 / CM3L) · Fichier : wifi-station.sh · Langage : Bash · Usage : Connecter la carte au Wi-Fi en ligne de commande (NetworkManager)

NetworkManager est l'outil standard des distributions carte modernes : deux commandes suffisent à rejoindre un point d'accès WPA2 et vérifier l'IP obtenue. Le script liste aussi les réseaux visibles avec leur sécurité.

Matériel requis

Un Compute Module 3/3 Lite (BCM2837) sur Compute Module IO Board v3, alimentée en 5 V, avec Raspberry Pi OS (Bullseye) sur la carte SD ou l'eMMC. Aucun : la radio est embarquée sur la carte.

Branchement

Aucun câblage. Antenne : utiliser la carte dans son boîtier ou l'antenne externe si le signal est faible.

Fonctionnement

nmcli détecte l'interface sans fil, déclenche un rescan, connecte avec les identifiants puis affiche l'état des connexions actives et l'adresse IPv4. Sous Bullseye : sudo apt install python3-gpiozero puis python3 votre_script.py. Les broches suivent la numérotation BCM (GPIO17, GPIO18…) reprise par l'IO Board.

Pour aller plus loin

Créer un profil hors-ligne (nmcli connection add ... wifi-sec.pri-key ...), ou enchaîner avec le serveur web pour vérifier la connexion à distance.

wifi-station.sh

#!/bin/bash
# Connexion Wi-Fi station via nmcli (NetworkManager, standard des OS carte).
# Usage : ./wifi-station.sh "MonSSID" "cle-de-securite"

set -e
SSID="${1:?Usage: $0 SSID CLE}"
CLE="${2:?Usage: $0 SSID CLE}"

echo "== Interfaces reseau =="
ip -brief link

DEV=$(nmcli -t -f DEVICE,TYPE device | awk -F: '$2=="wifi"{print $1; exit}')
[ -n "$DEV" ] || { echo "aucune interface wifi trouvee"; exit 1; }

echo "== Scan (peut etre vide en mode AP masque) =="
sudo nmcli device wifi rescan 2>/dev/null || true
nmcli -f SSID,SIGNAL,SECURITY device wifi list | head -15

echo "== Connexion a "$SSID" via $DEV =="
nmcli device wifi connect "$SSID" password "$CLE" ifname "$DEV"

echo "== Etat =="
nmcli -f NAME,DEVICE,STATE connection show --active
ip -4 -brief addr show "$DEV"

← Retour à la fiche