🛠 Se connecter au Wi-Fi avec le module Murata 1DX (station WPA2)
Objectifs
Premier pas réseau de la Portenta H7 : rejoindre un point d'accès en mode station. Le module radio embarqué est un Murata 1DX : Wi-Fi 802.11n jusqu'à 65 Mbps (capable double bande, modes AP, STA et AP+STA simultanés) + Bluetooth 5.1 (Classic et Low Energy). Tu vas utiliser la bibliothèque WiFi du core Mbed, la bonne pratique des identifiants dans l'onglet Secrets, et apprendre le piège officiel de reconnexion après perte de l'AP.
Matériel
- 1 × Arduino Portenta H7 + câble USB-C data
- Un point d'accès Wi-Fi WPA2 (le module est 802.11n ; vérifie que ton SSID est bien diffusé sur une bande supportée)
- Arduino IDE 2.x avec le core « Arduino Mbed OS Portenta Boards »
- Console série 115200 bauds
Code complet
// wifi_station.ino — connexion station sur Murata 1DX
#include <WiFi.h>
#include "arduino_secrets.h" // onglet Secrets de l'IDE
char ssid[] = SECRET_SSID; // ne mets JAMAIS le mot de passe en dur
char pass[] = SECRET_PASS;
int status = WL_IDLE_STATUS;
void setup {
Serial.begin(115200);
while (!Serial) {}
if (WiFi.status == WL_NO_MODULE) {
Serial.println("Module Murata 1DX non detecte !");
while (true) {}
}
while (status != WL_CONNECTED) {
Serial.print("Connexion a "); Serial.println(ssid);
status = WiFi.begin(ssid, pass); // WPA2
delay(3000);
}
Serial.print("IP obtenue : ");
Serial.println(WiFi.localIP);
}
void loop {
if (WiFi.status != WL_CONNECTED) {
// Piege documente (ArduinoCore-mbed#382) : après perte de l'AP,
// WiFi.begin seul ne recolle pas -> il faut WiFi.end avant.
WiFi.end;
delay(1000);
status = WiFi.begin(ssid, pass);
}
delay(2000);
}
Vérification attendue
La console affiche Connexion a <ssid> puis l'adresse IP obtenue par DHCP ; tu peux pinger la carte depuis un PC du même réseau. Le module Murata 1DX accepte aussi le mode point d'accès (et même AP+STA simultanés) — le tuto officiel wifi-access-point sur docs.arduino.cc explore cette voie.
Erreurs fréquentes
WL_NO_MODULEau démarrage : le module radio est peut-être « mort » suite à une mise à jour corrompue — la récupération officielle consiste à faire tourner le sketch FlashFormat pour restaurer le firmware Wi-Fi (documentée dans la FAQ du core Zephyr).- Reconnexion impossible après une coupure d'AP : bug classique documenté de l'issue ArduinoCore-mbed#382 — sans
WiFi.endavant le nouveauWiFi.begin, la carte ne recolle jamais au réseau restauré. - Mots de passe en dur dans le croquis que tu partages sur Git : utilise l'onglet Secrets (
arduino_secrets.h), jamais de secret dans le code versionné. - Confondre le Murata 1DX (Wi-Fi + BT) avec l'Ethernet : la carte a aussi un PHY Ethernet 10/100 sur les connecteurs 80 broches — deux chemins réseau distincts.
- Boucle de reconnexion sans temporisation : tu bourrines le module radio ; garde un
delayentre deux tentatives. - >
Autres tutoriels pour cette carte
- Premier programme : installer le core et faire clignoter la LED (M7 à 480 MHz !)
- Apprivoiser les connecteurs 80 broches : bouton, LED et entrée analogique
- Dual-core M7 ↔ M4 : appels de fonctions distants avec la bibliothèque RPC
- Client HTTPS/TLS : interroger une API sécurisée via le Murata 1DX
- Serveur web sur le port Ethernet 10/100 embarqué
- MicroPython + machine vision : le firmware OpenMV sur un cœur, C++ sur l'autre
Exemples de code pour cette carte
clignotante.inoArduinobouton-poussoir.inoArduinopwm-respiration.inoArduinoentree-analogique.inoArduinomulti-uart.inoArduinocapteur-i2c-bmp280.inoArduino