wifi-nmcli.sh
La radio Wi-Fi de la X8 se gestiona como en cualquier Linux moderno: nmcli escanea, conecta y guarda el perfil para el arranque. La placa se une a la red sin conectar nada.
Hardware
Un Arduino Portenta X8 (módulo ST STM32MP1: quad Cortex-A7 Linux + doble núcleo Cortex-M4 de tiempo real, 8 GB eMMC, 2 GB LPDDR4, Wi-Fi/BT integrados, opción LTE). Ninguno: Wi-Fi 2,4/5 GHz integrado (y Bluetooth, opción celular).
Cableado
Nada que cablear. En caja metálica, prever la antena externa del conector U.FL.
Funcionamiento
nmcli controla NetworkManager: rescan, asociación WPA2 con perfil persistente y muestra de la IP obtenida por DHCP.
Ejecución
Lado Linux: acceso SSH (USB-C routed o red) sobre la imagen Portenta Linux, scripts bash/Python. Lado tiempo real: Arduino IDE con el core « Arduino Mbed OS Portenta X8 Boards », núcleo M7 de aplicación, grabado vía mboot desde Linux.
Variantes
Añadir un ping de guarda en systemd (Restart si falla la red), o exponer un servicio Docker nada más conectarse.
wifi-nmcli.sh
#!/bin/bash
# Connexion Wi-Fi de la X8 (radio embarquee) via nmcli.
# Usage : ./wifi-nmcli.sh "SSID" "cle"
set -e
SSID="${1:?Usage: $0 SSID CLE}"
CLE="${2:?Usage: $0 SSID CLE}"
DEV=$(nmcli -t -f DEVICE,TYPE device | awk -F: '$2=="wifi"{print $1; exit}')
[ -n "$DEV" ] || { echo "aucune interface wifi (radio eteinte ?)"; exit 1; }
sudo nmcli radio wifi on
sudo nmcli device wifi rescan || true
nmcli -f SSID,SIGNAL device wifi list | head -12
nmcli device wifi connect "$SSID" password "$CLE" ifname "$DEV"
nmcli -f NAME,DEVICE,STATE connection show --active
ip -4 -brief addr show "$DEV"
# La X8 garde le profil : la connexion se refait au boot.