[英]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.