toughc5-wifi6-scan-connect.ino

M5Stack ToughC5 Weatherproof IoT Dev Kit (ESP32-C5) · File : toughc5-wifi6-scan-connect.ino · Language : Arduino C++ · Use case : Scanner et se connecter à un réseau Wi-Fi 6 (5 GHz) pour une transmission de données rapide.

Wi-Fi 6 connection on the 5 GHz band with status displayed on the touchscreen.

The ESP32-C5 module supports Wi-Fi 6. The WiFi.setBandMode API forces 5 GHz band usage if available. Check your access point compatibility. The screen displays detected networks before connection.

toughc5-wifi6-scan-connect.ino

#include <M5ToughC5.h>
#include <WiFi.h>

const char* ssid = "Your_WiFi_6_SSID";
const char* password = "Your_WiFi_6_PASSWORD";

void setup() {
  M5.begin();
  M5.Display.init();
  M5.Display.setTextColor(WHITE);
  M5.Display.drawString("Scanning WiFi...", 10, 10);

  WiFi.mode(WIFI_STA);
  WiFi.setBandMode(WIFI_BAND_5G); // Force 5GHz pour Wi-Fi 6
  
  int n = WiFi.scanNetworks();
  M5.Display.clear();
  M5.Display.drawString("Networks Found:", 10, 10);
  for (int i = 0; i < n; ++i) {
    if (i < 5) { // Affiche les 5 premiers
      M5.Display.printf("%d: %s (%d)\n", i+1, WiFi.SSID(i).c_str(), WiFi.RSSI(i));
    }
  }
  
  M5.Display.drawString("Connecting...", 10, 130);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  M5.Display.clear();
  M5.Display.setTextColor(GREEN);
  M5.Display.drawString("Connected!", 10, 10);
  M5.Display.setTextColor(WHITE);
  M5.Display.printf("IP: %s\n", WiFi.localIP().toString().c_str());
  M5.Display.printf("RSSI: %d dBm\n", WiFi.RSSI());
}

void loop() {
  // Task network
  delay(1000);
}

← Back to the board