цифровая электроника
вычислительная техника
встраиваемые системы

 


Как получить MAC-адрес ESP32 / ESP8266 и изменить его

Автор: Mike(admin) от 31-01-2020, 05:55

В этом руководстве показано, как получить MAC-адрес ESP32 или ESP8266 с помощью Arduino IDE. Мы также покажем, как изменить MAC-адрес вашей микросхемы.


Как получить MAC-адрес ESP32 / ESP8266 и изменить его

MAC-адрес означает адрес управления доступом к среде и является уникальным идентификатором оборудования, который идентифицирует каждое устройство в сети. MAC-адреса состоят из шести групп из двух шестнадцатеричных цифр, разделенных двоеточиями, например: 30:AE:A4:07:0D:64.


MAC-адреса назначаются производителями, но вы также можете назначить свой MAC-адрес своей плате. Однако каждый раз, когда плата сбрасывается, она возвращается к своему первоначальному MAC-адресу. Таким образом, вам нужно включить код для установки собственного MAC-адреса в каждой программе.


Чтобы получить MAC-адрес своей платы, просто загрузите следующий код в ESP32 или ESP8266. Код совместим с обеими микросхемами.



#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(){

}

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Нажмите на плате кнопку RESET или кнопку EN. MAC-адрес должен быть выведен в последовательном мониторе, как показано на следующем изображении.


Как получить MAC-адрес ESP32 / ESP8266 и изменить его

Теперь вы знаете, как получить MAC-адрес платы ESP32 или ESP8266. Но в некоторых приложениях может быть полезно дать вашим платам собственный MAC-адрес. Однако, как объяснялось ранее, это действие полностью не перезаписывает MAC-адрес, установленный производителем. Таким образом, каждый раз, когда вы сбрасываете плату или загружаете новый код, она возвращается к своему MAC-адресу по умолчанию.


Следующий код устанавливает пользовательский MAC-адрес для ESP32.



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

uint8_t newMACAddress[] = {0x30, 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(){

}

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Перезагрузите ESP32, и вы должны получить его старый и новый MAC-адрес.


Как получить MAC-адрес ESP32 / ESP8266 и изменить его

Следующий код устанавливает пользовательский MAC-адрес для ESP8266.



#include <ESP8266WiFi.h>

uint8_t newMACAddress[] = {0x30, 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());

  // Для режима точки доступа (AP)
  //wifi_set_macaddr(SOFTAP_IF, &newMACAddress[0]);
  // Для режима станции
  wifi_set_macaddr(STATION_IF, &newMACAddress[0]);
  
  Serial.print("[NEW] ESP8266 Board MAC Address:  ");
  Serial.println(WiFi.macAddress());
}
 
void loop(){

}

После загрузки кода откройте последовательный монитор со скоростью 115200 бод. Перезагрузите ESP8266, и вы должны получить его старый и новый MAC-адрес.


Как получить MAC-адрес ESP32 / ESP8266 и изменить его

В этом кратком руководстве мы показали, как получить MAC-адрес производителя ESP32 и ESP8266 с помощью Arduino IDE. Вы также узнали, как установить собственный MAC-адрес для ваших микросхем.




© digitrode.ru


Теги: ESP32, ESP8266





Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий