wifi-nmcli.sh

Arduino Portenta X8 · Fichier : wifi-nmcli.sh · Langage : Bash · Usage : Connecter la X8 au Wi-Fi avec NetworkManager

La radio Wi-Fi de la X8 se gère comme sur tout Linux moderne : nmcli scanne, connecte et mémorise le profil pour le boot. La carte rejoint le réseau sans brancher quoi que ce soit.

Matériel requis

Une Arduino Portenta X8 (module ST STM32MP1 : quad Cortex-A7 Linux + double cœur Cortex-M4 temps réel, 8 Go eMMC, 2 Go LPDDR4, Wi-Fi/BT embarqués, option LTE). Aucun : Wi-Fi 2,4/5 GHz embarqué (et Bluetooth, option cellulaire).

Câblage

Rien à câbler. En boîtier métallique, prévoir l'antenne externe du connecteur U.FL.

Fonctionnement

nmcli pilote NetworkManager : rescan, association WPA2 avec profil persistant, puis affichage de l'IP obtenue par DHCP.

Exécution

Côté Linux : accès SSH (USB-C routed ou réseau) sur l'image Portenta Linux, scripts bash/Python. Côté temps réel : Arduino IDE avec le core « Arduino Mbed OS Portenta X8 Boards », cœur M7 applicatif, flash via mboot depuis Linux.

Variantes

Ajouter un ping de garde en systemd (Restart sur échec réseau), ou exposer un service Docker dès la connexion faite.

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.

← Retour à la fiche