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.
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(){
}
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.
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(){
}
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 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(){
}
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.
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.