Unir la idMac de una ESP8266WIFI

Buenas a todos, me encuentro actualmente en los momentos finales de un proyecto estudiantil, y tengo problemas para poder utilizar la idMac de una placa ESP8266Wifi.

Por medio de las librerias, puedo extraer su id, que me da como resultado un byte cargado con 6 registros.

El problema que tengo es para unir esos 6 campos en una variable de tipo char o String.

Me gustaria que quedara algo similar a "6A:3B:5T:6H:9P:3R", por ejemplo.

Lo que busco, es alguna forma de unir todo eso en una única variable, o pasar cada uno de los 6 registros de la mac a una variable de tipo char o String.
Cualquiera de las 2 cosas me sirve, aunque lo mejor sería lo primero.

Desde ya, gracias a todos por leer :smiley:

Tu tienes los 6 bytes, entonces al momento de imprimirlos imprimelos como quieras.
Vas barriendo el vector que lo contiene y agregas un : para que aparezca a tu gusto.

El problema que tengo, es que quiero pasar esos 6 bytes a char o String, ya sea de byte por byte o todos en una única variable

Hablemos en espaÑol del foro Arduino en Español, o sea, coloca el código.

Asi veo como luce el idMac.

Bueno, el codigo es un poco largo, pero te explico un poco mejor la situación.
Yo tengo un sensor dht11, el cual utilizo para extraer la temperatura y la humedad, para luego subirlos a una base de datos.
Todo funciona, desde la conexión a la base de datos, hasta la propia consulta.
El problema que tengo, es que no puedo colocar el idMac en la consulta, y si intento colocar al menos el primer valor, sale otro que nada tiene que ver.

Probé colocando "idMac= (mac[5],HEX);" simplemente para ver luego si lo copiaba, pero no.

Quisiera saber una forma de pasar ese byte a char y así poder usarlo en la consulta, o si conoces la forma de sin tener que pasarlo a otro tipo de dato y colocarlo directamente en el sprintf

El codigo entero es este:
#include <ESP8266WiFi.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
#include <WiFiClient.h>
#include <DHTesp.h>

#include <DHT.h>
#include <DHT_U.h>

// Definimos el pin digital donde se conecta el sensor
#define DHTPIN 14
// Dependiendo del tipo de sensor
#define DHTTYPE DHT11
// Inicializamos el sensor DHT11
DHT dht(DHTPIN, DHTTYPE);

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Dirección MAC de Ethernet

IPAddress server_addr(192,168,43,42); // IP del servidor MySQL
char user[] = "intento"; // nombre de usuario MySQL
char pass[] = "usuario"; // password del usuario MySQL

#ifndef STASSID
#define STASSID "Wifi"
#define STAPSK "lordpipo777"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

WiFiClient client; // Use this for WiFi instead of EthernetClient
MySQL_Connection conn((Client *)&client);

float temp,hum;
String idMac;
byte mac[6];

void setup() {
Serial.begin(115200);

//Comenzamos el sensor DHT
dht.begin();

Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); //Inicia la conexión con la red o router

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());

WiFi.macAddress(mac);
Serial.print("MAC: ");
Serial.print(mac[5],HEX);
Serial.print(":");
Serial.print(mac[4],HEX);
Serial.print(":");
Serial.print(mac[3],HEX);
Serial.print(":");
Serial.print(mac[2],HEX);
Serial.print(":");
Serial.print(mac[1],HEX);
Serial.print(":");
Serial.println(mac[0],HEX);

Serial.println("Connecting to BD...");
while (conn.connect(server_addr, 3306, user, pass) !=true) {
delay(200); //Se conecta al servidor MyQL por el puerto 3306 mediante el usuario indicado
Serial.print(".");

}
Serial.println("");
Serial.println("Connected to SQL Server!");

}

//char INSERT_SQL[] = "INSERT INTO arduino.alerta (temperatura,humedad) VALUES (t,h)";
//char INSERT_SQL[] = "INSERT INTO arduino.alerta (temperatura,humedad) VALUES (temp,hum)";

char INSERT[] = "INSERT INTO arduino.alerta (mac,temperatura,humedad) VALUES ('%S','%f','%f')";
char CONSULTA[500];

void loop() {

// Esperamos 5 segundos entre medidas
delay(5000);

// Leemos la humedad relativa
hum = dht.readHumidity();
// Leemos la temperatura
temp = dht.readTemperature();

idMac= (mac[5],HEX);

// Comprobamos si ha habido algún error en la lectura
if (isnan(hum) || isnan(temp)) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}

Serial.print("Humedad: ");
Serial.print(hum);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" *C ");

delay(2000);

Serial.println("");
Serial.println("Recording data.");

sprintf(CONSULTA,INSERT,idMac,temp,hum);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(CONSULTA);
delete cur_mem;
}

Por favor, lee las normas del foro y edita tu código!!