[ESP8266] [ESP32] Mengganti MAC Address

Alamat MAC (MAC Address) adalah singkatan dari Media Access Control dan ini adalah pengidentifikasi unik perangkat keras yang mengidentifikasi setiap perangkat di jaringan.

Alamat MAC terdiri dari enam kelompok dua digit heksadesimal, dipisahkan oleh titik dua, misalnya:DE:AD:BE:EF:FE:ED.
Alamat MAC diberikan oleh pabrikan, tetapi Anda juga dapat memberikan Alamat MAC khusus ke papan Anda. Namun, setiap kali modul direset, itu akan kembali ke Alamat MAC aslinya. Jadi, Anda perlu memasukkan kode untuk mengatur Alamat MAC khusus di setiap script anda.

Untuk mengganti MAC Address ESP32:

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

// Buat MAC Address Baru
uint8_t newMACAddress[] = {0x08, 0x52, 0x34, 0x56, 0x78, 0x90};

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 version < 1.0.5
  //esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]);
  // ESP32 Board add-on 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()
{

}

Untuk mengganti MAC Address ESP8266:

#include <ESP8266WiFi.h>

// Buat MAC Address Baru
uint8_t newMACAddress[] = {0x08, 0x52, 0x34, 0x56, 0x78, 0x90};

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

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

}