Incluir variable dentro de un texto

Buenos días.

Antes que nada, decir que no se si el titulo es técnicamente correcto, es la mejor forma que encontré de describir el problema que estoy teniendo.

Les cuento, estoy haciendo un proyecto con NODEMCU y FIREBASE junto con una APP. Leyendo mucho durante este fin de semana, encontré la manera de hacer que cada NODEMCU, en caso de conectar varios a la misma base de datos tenga su propia identidad, y es con la direccion MAC de cada uno de ellos. De esta manera, puedo guardar datos en la misma base de datos de varios equipos sin que se pisen.

Con el programa que pude armar de distintos tutoriales que he visto, ya todo funciona bien, escribo y tomo datos de la base de datos, con la direccion MAC de cada NODEMCU.

Ahora empieza el problema:
Por ejemplo, para escribir una temperatura en la base de datos utilizo este comando:

Firebase.setInt(“DATOS/EC:FA:BC:5F:86:C9/APP/temp”, tempint);

Entonces, con esa linea, escribo en la base de datos la variable “temp” asignandole un “int” que en este caso es “tempint”. Es la temperatura que me toma un DS18B20.

La direccion de MAC la obtengo con las siguientes lineas:

byte mac[6];
String macStr = “”;

macStr = obtenerMac();

//FUNCION PARA OBTENER MAC
String obtenerMac()
{
// Obtenemos la MAC del dispositivo
WiFi.macAddress(mac);

// Convertimos la MAC a String
String keyMac = “”;
for (int i = 0; i < 6; i++)
{
String pos = String((uint8_t)mac*, HEX);*
_ if (mac <= 0xF)_
* pos = “0” + pos;*
* pos.toUpperCase();*
* keyMac += pos;*
* if (i < 5)*
* keyMac += “:”;*
* }*
* // Devolvemos la MAC en String*
* return keyMac;*
}
[/quote]
Entonces, cuando arranca el NODEMCU, obtene la direccion de MAC del equipo.
Finalmente, luego de explicar un poco, mi problema es:
Como puedo hacer para, que en la linea donde envío la información a la base de datos, esa dirección de MAC varie automaticamente segun la direccion que tome al inicio?
> Firebase.setInt(“DATOS/EC:FA:BC:5F:86:C9/APP/temp”, tempint);
Es decir, no tener que tiperala manualmente como lo hice yo ahora, sino que me tome automáticamente la variable “macStr”, y me quede metida dentro de toda esa dirección entre “”.
De esta manera, al iniciar, cada equipo enviara la informacion a la base de datos con su dirección MAC.
Deberia quedarme algo asi:
Firebase.setInt(“DATOS/ VARIABLE DIRECCION MAC /APP/temp”)
No se si fui claro, intente explicarlo de la mejor manera. Si necesitan otro tipo de informacion puedo brindárselas sin problemas.
Desde ya muchísimas gracias!!!
Saludos.

hay que mirar en las referencias del lenguaje en este mismo web,veras que en los ejemplos de como declarar Strings hay opciones para concatenar un String existente junto con texto fijo: String() - Arduino Reference

Estuviste muy cerca de resolverlo
Si con esto

String macStr = "";
macStr = obtenerMac();

ya tienes tu mac en un String.
Lo que te falta es CONCATENAR la información, algo que con String es muy facil.
imagina tener

Esto funciona

String macStr = "EC:FA:BC:5F:86:C9";

String dato = "DATOS/"+macStr+"/APP/temp";

String suma;

void setup() {
    Serial.begin(9600);
    Serial.println(dato);
}

void loop() {}

Hola Jose, Hola Surbyte.

He podido resolverlo gracias a sus respuestas!
Muchísimas gracias por su ayuda!

Saludos a todos!