Mendapatkan MAC Address Pada ESP32 Menggunakan Arduino IDE
Setiap perangkat elektronik yang terhubung ke dalam sebuah jaringan memerlukan sebuah identitas unik yang membedakan satu perangkat keras dengan perangkat keras lainnya. Identitas tersebut bernama MAC Address yang merupakan singkatan dari Media Access Controll Address.
Jadi, baik komputer notebook, tablet, Mobile phone, hingga perangkat IoT seperti ESP8266 dan ESP32 memiliki apa yang disebut MAC Address ini. MAC Address terdiri dari 12 angka heksadesimal yang masing – masing dua angka dipisahkan oleh tanda titik dua ( :
) . MAC Address ini merupakan bawaan pabrik, meskipun seorang pengguna dapat mengubah MAC Address, namun setiap perangkat tersebut mengalami reset, ia akan kembali menjadi MAC Address semula.
Pada tulisan ini, akan diulas mengenai bagaimana mengetahui MAC Address dari perangkat ESP32 yang sedang digunakan, sekaligus mengubahnya menjadi MAC Address yang lain. Karena pada tutorial ini digunakan Arduino IDE, maka diasumsikan pembaca telah mengikuti artikel mengenai bagaimana mensetup environment Arduino IDE untuk ESP32. Jika belum, pembaca dapat merujuk terlebih dahulu beberapa artikel berikut
- Prasyarat Perangkat Keras
Pembaca diasumsikan sudah memiliki board development ESP32. Board yang serupa yang digunakan penulis dapat dibeli dengan mengakses halaman pembelian TOKO BEY melalui tautan ini. atau tautan ini
- Prasyarat Perangkat Lunak
Pastikan pada komputer yang digunakan telah terinstal Arduino IDE dan juga driver chip usb to serial CP2102 sebagaimana pernah dibahas dalam artikel dalam tautan ini
- Program Arduino
Upload program berikut ke dalam ESP32 yang telah dihubungkan dengan port USB komputer yang digunakan.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <WiFi.h> | |
void setup() { | |
// put your setup code here, to run once: | |
Serial.begin(115200); | |
Serial.println(); | |
Serial.print("ESP Board MAC Address: "); | |
Serial.println(WiFi.macAddress()); | |
} | |
void loop() { | |
// put your main code here, to run repeatedly: | |
} |
Setelah dijalankan, buka Serial Monitor lalu tekan Reset dan jika program berjalan dengan benar maka Serial Monitor akan menampilkan sebagai berikut
Di beberapa Aplikasi, terkadang sangat bermanfaat untuk mengubah MAC Address, meskipun sebagaimana telah dijelaskan, bahwa MAC Address custom akan hilang saat perangkat mengalami reset, sehingga penting untuk menaruh program pengubah MAC Address ini di bagian setup program Arduino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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()); | |
esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]); | |
Serial.print("[NEW] ESP32 Board MAC Address: "); | |
Serial.println(WiFi.macAddress()); | |
} | |
void loop(){ | |
} |
Perhatikan pada baris ke 5 adalah MAC Address custom ditulis dengan heksadesimal. Upload program tersebut ke dalam ESP32, lalu perhatikan pada serial Monitor. Kini, MAC Address ESP32 telah berubah sebagaimana yang diinginkan.