繁体   English   中英

动态获取esp32的mac地址并在ethe.net库中使用

[英]Dynamically get mac address of esp32 and use it in ethernet library

谁能告诉我如何从 esp32 动态获取 mac 地址并在 ethe.net 库中使用它。 到目前为止,我已经从 wifi 库中获得了 mac 地址,如下所示:

#include <WiFi.h>
#include <Ethernet.h>
 byte mac[6] = {};    
 void setup(){
   Serial.begin(115200);
   delay(500);
   WiFi.macAddress(mac);
   if (Ethernet.begin(mac) == 0) {
    Serial.println(F("Failed DHCP"));
    }
}

即使我的 esp32 已连接到 inte.net,我总是以“DHCP 失败”告终。 在单独的数组中存储 mac 地址时我遇到的另一个问题是十六进制数“A”没有存储为“0A”。 请帮帮我。

尝试使用以下获取mac地址,

String macAddr = WiFi.macAddress();

或使用这个,

#include <WiFi.h>

String getMacAddress()
{
   uint8_t baseMac[6];

   // Get MAC address for WiFi station
   esp_read_mac(baseMac, ESP_MAC_WIFI_STA);

   char baseMacChr[18] = {0};
   sprintf(baseMacChr, "%02X:%02X:%02X:%02X:%02X:%02X", baseMac[0], baseMac[1], baseMac[2], baseMac[3], baseMac[4], baseMac[5]);

   String macAddress = String(baseMacChr);

   Serial.print("MAC Address :: ");
   Serial.println(macAddress);

   return String(baseMacChr);
}

我将它用于 ESP32-S CAM,效果很好。

获取 ESP32 Mac 地址的最快方法是:

String wifiMacString = WiFi.macAddress();

我将它与 ethe.net 库一起使用:

esp_efuse_mac_get_default(baseMac);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM