Obtenez l’adresse MAC ESP32/ESP8266 et modifiez-la (Arduino IDE)

Obtenez l'adresse MAC ESP32/ESP8266 et modifiez-la (Arduino IDE)

Ce guide montre comment obtenir l’adresse MAC des cartes ESP32 ou ESP8266 à l’aide de l’IDE Arduino. Nous montrons également comment changer l’adresse MAC de votre carte.

Obtenez l'adresse MAC ESP32 ou ESP8266 et modifiez-la (Arduino IDE)

Qu’est-ce qu’une adresse MAC ?

L’adresse MAC signifie Mmédias UNEaccès CAdresse de contrôle et il s’agit d’un identifiant matériel unique qui identifie chaque périphérique sur un réseau.

Les adresses MAC sont composées de six groupes de deux chiffres hexadécimaux, séparés par des deux-points, par exemple : 30:AE:A4:07:0D:64.

Les adresses MAC sont attribuées par les fabricants, mais vous pouvez également attribuer une adresse MAC personnalisée à votre carte. Cependant, chaque fois que la carte se réinitialise, elle reviendra à son adresse MAC d’origine. Vous devez donc inclure le code pour définir une adresse MAC personnalisée dans chaque croquis.

Obtenir l’adresse MAC ESP32 ou ESP8266

Pour obtenir l’adresse MAC de votre carte, téléchargez simplement le code suivant sur l’ESP32 ou l’ESP8266. Le code est compatible avec les deux cartes.

// Complete Instructions to Get and Change ESP MAC Address: https://Raspberryme.com/get-change-esp32-esp8266-mac-address-arduino/

#ifdef ESP32
  #include <WiFi.h>
#else
  #include <ESP8266WiFi.h>
#endif

void setup(){
  Serial.begin(115200);
  Serial.println();
  Serial.print("ESP Board MAC Address:  ");
  Serial.println(WiFi.macAddress());
}
 
void loop(){

}

Afficher le code brut

Manifestation

Après avoir téléchargé le code, ouvrez le moniteur série à un débit en bauds de 115200. Appuyez sur le bouton RESET ou EN intégré.

L’adresse MAC doit être imprimée dans le moniteur série comme indiqué dans la figure suivante.

Obtenir l'adresse physique ESP32 ou ESP8266 MAC à l'aide de l'IDE Arduino

C’est ça! Maintenant, vous savez comment obtenir l’adresse MAC de votre carte ESP32 ou ESP8266.

Définir une adresse MAC personnalisée pour ESP32 et ESP8266

Dans certaines applications, il peut être utile de donner à vos cartes une adresse MAC personnalisée. Cependant, comme expliqué précédemment, cela n’écrase pas l’adresse MAC définie par le fabricant. Ainsi, chaque fois que vous réinitialisez la carte ou téléchargez un nouveau code, elle reviendra à son adresse MAC par défaut.

Modifier l’adresse MAC ESP32 (IDE Arduino)

Le code suivant définit une adresse MAC personnalisée pour la carte ESP32.

// Complete Instructions: https://Raspberryme.com/get-change-esp32-esp8266-mac-address-arduino/

#include <WiFi.h>
#include <esp_wifi.h>

// Set your new MAC Address
uint8_t newMACAddress[] = {0x32, 0xAE, 0xA4, 0x07, 0x0D, 0x66};

void setup(){
  Serial.begin(115200);
  Serial.println();
  
  WiFi.mode(WIFI_STA);
  
  Serial.print("[OLD] ESP32 Board MAC Address:  ");
  Serial.println(WiFi.macAddress());
  
  // ESP32 Board add-on before version < 1.0.5
  //esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]);
  
  // ESP32 Board add-on after version > 1.0.5
  esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]);
  
  Serial.print("[NEW] ESP32 Board MAC Address:  ");
  Serial.println(WiFi.macAddress());
}
 
void loop(){

}

Afficher le code brut

Vous pouvez définir une adresse MAC personnalisée dans la ligne suivante :

uint8_t newMACAddress[] = {0x32, 0xAE, 0xA4, 0x07, 0x0D, 0x66};

Après avoir téléchargé le code, ouvrez le moniteur série à un débit en bauds de 115200. Redémarrez l’ESP32 et vous devriez obtenir son ancienne et sa nouvelle adresse MAC.

Modifier et définir l'adresse MAC ESP32 avec Arduino IDE

Modifier l’adresse MAC ESP8266 (IDE Arduino)

Le code suivant définit une adresse MAC personnalisée pour la carte ESP8266.

// Complete Instructions: https://Raspberryme.com/get-change-esp32-esp8266-mac-address-arduino/

#include <ESP8266WiFi.h>

// Set your new MAC Address
uint8_t newMACAddress[] = {0x32, 0xAE, 0xA4, 0x07, 0x0D, 0x66};

void setup(){
  Serial.begin(115200);
  Serial.println();
  
  WiFi.mode(WIFI_STA);
  
  Serial.print("[OLD] ESP8266 Board MAC Address:  ");
  Serial.println(WiFi.macAddress());

  // For Soft Access Point (AP) Mode
  //wifi_set_macaddr(SOFTAP_IF, &newMACAddress[0]);
  // For Station Mode
  wifi_set_macaddr(STATION_IF, &newMACAddress[0]);
  
  Serial.print("[NEW] ESP8266 Board MAC Address:  ");
  Serial.println(WiFi.macAddress());
}
 
void loop(){

}

Afficher le code brut

Définissez votre adresse MAC personnalisée sur la ligne suivante :

uint8_t newMACAddress[] = {0x32, 0xAE, 0xA4, 0x07, 0x0D, 0x66};

Après avoir téléchargé le code, ouvrez le moniteur série à un débit en bauds de 115200. Redémarrez l’ESP8266 et vous devriez obtenir son ancienne et sa nouvelle adresse MAC.

Modifier et définir l'adresse MAC ESP8266 avec l'IDE Arduino

Conclusion

Dans ce guide rapide, nous vous avons montré comment obtenir l’adresse MAC de votre fabricant ESP32 et ESP8266 avec Arduino IDE. Vous avez également appris à définir une adresse MAC personnalisée pour vos cartes.

En savoir plus sur les cartes ESP32 et ESP8266 :

Merci d’avoir lu.