#include "WiFi.h"
String mac_address; // Variavel a qual será atribuida o MAC Address do CHIP
uint8_t mac_addr_hex[6];
String alvo[][2] = { // Tabela com a relação MAC Address e Alvo
{"FF:FF:FF:FF:FF:FF", "BC"}, // Broadcast
{"64:E8:33:88:B7:80", "A1"}, // Alvo 1
{"E0:5A:1B:C7:F4:E0", "A2"}, // Alvo 2
{"FF:FF:FF:FF:FF:A3", "A3"}, // Alvo 3 *
{"FF:FF:FF:FF:FF:A4", "A4"}, // Alvo 4 *
{"64:E8:33:88:AA:E0", "A5"}, // Alvo 5
{"64:E8:33:88:53:54", "A6"}, // Alvo 6
{"FF:FF:FF:FF:FF:A7", "A7"}, // Alvo 7 *
{"FF:FF:FF:FF:FF:A8", "A8"}, // Alvo 8 *
{"FF:FF:FF:FF:FF:A9", "A9"}, // Alvo 9 *
{"FF:FF:FF:FF:FF:10", "A10"}, // Alvo 10 *
{"24:0A:C4:00:01:10", "Teste"}, // Mac deste chip
};
void setup(){
Serial.begin(115200);
WiFi.mode(WIFI_MODE_STA);
mac_address = WiFi.macAddress(); // Atribui o valor do MAC_ADDRESS à variável
delay(100);
Serial.print("MAC Adress: ");
Serial.println(mac_address);
// Converte de (mac_address) "64:E8:33:88:B7:80" para mac_addr_hex[i] {0x64, 0xE8, 0x33, 0x88, 0xB7, 0x80}
for(int i=0; i<6; i++){
char charBuf[3];
mac_address.substring(3*i, 3*i+2).toCharArray (charBuf, 3);
mac_addr_hex[i] = strtol(charBuf, 0, 16);
}
// Imprime o Mac Address no formato:
Serial.printf("mac_addr_hex[]: {0x%.2X, 0x%.2X, 0x%.2X, 0x%.2X, 0x%.2X, 0x%.2X}\n",mac_addr_hex[0], mac_addr_hex[1], mac_addr_hex[2], mac_addr_hex[3], mac_addr_hex[4], mac_addr_hex[5]);
Serial.println();
for(int i=0; i<12; i++){
if (mac_address == alvo[i][0]){
Serial.print("O Mac "); Serial.print(mac_address);
Serial.printf(" é o elemento alvo[%u][0]\n", i);
}
}
}
void loop(){
/*
for(int i=0; i<6; i++){
Serial.print("mac_addr_hex["); Serial.print(i); Serial.print("]: ");
Serial.println(mac_addr_hex[i], HEX);
}
for(int i=0; i<10; i++){
if (mac_address == alvo[i][0]){
Serial.println(alvo[i][1]);
} else{Serial.println("Não encontrado");}
}
*/
}