wifi-nmcli.sh

Arduino Portenta X8 · Archivo : wifi-nmcli.sh · Lenguaje : Bash · Uso : Connecter la X8 au Wi-Fi avec NetworkManager

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.

← Volver a la ficha