Bu yazıda NodeMCU ve ESP32 kartlarının Wi-Fi MAC adresini Serial monitör üzerinden nasıl öğrenebileceğinizi gösteriyoruz. MAC adresi, cihazın ağ donanımını tanımlar ve ESP-NOW gibi uygulamalar için gereklidir.
MAC Nedir?
MAC (Media Access Control), ağdaki cihazların donanım adresini tanımlar. Tıpkı araç plakası gibi her cihazın kendine özel bir MAC adresi vardır ve bu adres karışmaları engeller. Vikipedi tanımına göre MAC adresi, bir bilgisayar ağındaki cihazın ağ donanımını tanımaya yarar. 48 bitlik bir adres olduğu için 2⁴⁸ = 281,474,976,710,656 farklı ağ kartını tanımlamak için kullanılabilir.
MAC Adresi Öğrenme
NodeMCU ve ESP32 kartları internete bağlanabildikleri için her birinin kendine özel bir MAC adresi vardır. Bu MAC adresini öğrenmek için aşağıdaki kod Serial monitöre adresi yazdırır.
Kod
/* ****** ESP modüllerinin MAC adresi öğrenme ********
MAC adresi öğrenme programı:
• Bu program ESP-NOW özelliklerini kullanmak için
MAC adresinin öğrenilmesi gerekliliğinden ortaya çıkmıştır.
• Cihazların MAC adresleri Serial monitöre yansıtılacak,
her bir cihazın MAC adresi farklıdır ve bu yüzden
her cihazın MAC adresini not almanız önerilir.
by Ali Birkan BAYRAM
*/
//━━━━━━━━━ Nodemcu için gerekli kütüphaneler ━━━━━━━━━━━━━━
#ifdef ESP32 // Eğer mikrodenetleyicimiz ESP32 ise
#include <WiFi.h>
#else // Eğer mikrodenetleyicimiz ESP8266 ise
#include <ESP8266WiFi.h>
#endif
//━━━ void setup() fonksiyonu ile kurulum yapılıyor ━━━━━━
void setup() {
Serial.begin(115200); // Serial ekran hızı: 115200 baud
Serial.println(); // Serial ekranını yukarıdaki hıza ayarla.
Serial.print("ESP modülünün MAC adresi: ");
Serial.println(WiFi.macAddress());
delay(3000); // 3 saniyelik bir gecikme ekliyoruz bilerek
Serial.println("MAC adresinizi öğrenmek istiyorsanız lütfen \"m\" veya \"M\" tuşuna basınız.");
// Serial ekranına Wi-Fi MAC adresiniz çıktı, lütfen bir
// köşeye not alın, daha sonra lazım olacaktır.
}
// Herhangi bir şekilde void loop fonksiyonunun dolu olma
// zorunluluğu yoktur. Bu yüzden boş olarak bıraktık.
void loop() {
if (Serial.available()) { // Kullanıcı seri bilgi gönderdiğinde çalışır.
char temp = Serial.read(); // temp değişkenine gelen bilgiyi yaz
if (temp == 'm' || temp == 'M') { // Eğer m veya M gönderilmişse MAC adresini göster.
Serial.print("ESP modülünün MAC adresi: ");
Serial.println(WiFi.macAddress());
}
Serial.println("MAC adresinizi öğrenmek istiyorsanız lütfen \"m\" veya \"M\" tuşuna basınız.");
delay(1000);
}
}