wifi-station.sh

Raspberry Pi Zero 2 W (2021) — Ficha de placa · Archivo : wifi-station.sh · Lenguaje : Bash · Uso : Connecter la carte au Wi-Fi en ligne de commande (NetworkManager)

NetworkManager es la herramienta estándar de las distribuciones modernas de placas: dos comandos bastan para unirse a un punto de acceso WPA2 y comprobar la IP obtenida. El script también lista las redes visibles con su seguridad.

Hardware

Un Raspberry Pi Zero 2 W (SoC RP3A0 de seis núcleos, 512 MB) con Raspberry Pi OS de 64 bits, con Wi-Fi de 2,4 GHz y Bluetooth. Ninguno: la radio va integrada en la placa.

Cableado

Sin cableado. Antena: usar la placa en su carcasa o la antena externa si la señal es débil.

Funcionamiento

nmcli detecta la interfaz inalámbrica, lanza un rescan, conecta con las credenciales y muestra el estado de las conexiones activas y la dirección IPv4.

Ejecución

Copia el script (scp), chmod +x y ejecuta. En Raspberry Pi OS reciente: el acceso GPIO funciona sin sudo (grupo gpio).

Variantes

Crear un perfil sin conexión (nmcli connection add ... wifi-sec.pri-key ...), o encadenar con el servidor web para comprobar la conexión a distancia.

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"

← Volver a la ficha