Cardena decaracteres
Publicado por Javi (5 intervenciones) el 08/11/2019 08:22:19
Hola.
Estoy trabajando con arduino y firebase.
A través de una app envio datos a firebase y a su vez los leo desde un esp8266.
El problema viene que los datos de la app los envia con la siguiente forma:
Como veis lleva caracteres a tratar por lo que le paso los siguientes "filtros" una vez deserializado el json:
El resultado en pantalla es el siguiente:
l dato Json: {"estado":"\"T\"","parada":"n","tiempo":"\"2\"","zona":"\"1\""}
T
2
2
1
n
0
ongitud de vtiempo:
empo de riego:
Como veis las dos ultimas lineas estan truncadas por la izquierda y no presentan el valor de las variables y en cambio en el DEBUG si lo hace.
Alguien puede indicarme que estoy haciendo mal en la conversion?.
Necesito convertir la variable tiempo a milisegundos para hacer un delay() en funcion de ese valor.
Gracias.
Javier
Estoy trabajando con arduino y firebase.
A través de una app envio datos a firebase y a su vez los leo desde un esp8266.
El problema viene que los datos de la app los envia con la siguiente forma:
1
dato Json: {"estado":"\"T\"","parada":"s","tiempo":"\"2\"","zona":"\"1\""}
Como veis lleva caracteres a tratar por lo que le paso los siguientes "filtros" una vez deserializado el json:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String vestado = doc["estado"];
vestado.replace("\"","");
String vtiempo = doc["tiempo"];
vtiempo.replace("\"","");
String vzona = doc["zona"];
vzona.replace("\"","");
String vparada = doc["parada"];
vparada.replace("\"","");
Serial.println(vestado);
Serial.println(vtiempo);
Serial.println(vtiempo.toInt());
Serial.println(vzona);
Serial.println(vparada);
long int rtiempo = vtiempo.toFloat(); //* 60000;
DEBUG (rtiempo);
Serial.println("Longitud de vtiempo: "+vtiempo.length());
Serial.println("Tiempo de riego: "+rtiempo);
l dato Json: {"estado":"\"T\"","parada":"n","tiempo":"\"2\"","zona":"\"1\""}
T
2
2
1
n
0
ongitud de vtiempo:
empo de riego:
Como veis las dos ultimas lineas estan truncadas por la izquierda y no presentan el valor de las variables y en cambio en el DEBUG si lo hace.
Alguien puede indicarme que estoy haciendo mal en la conversion?.
Necesito convertir la variable tiempo a milisegundos para hacer un delay() en funcion de ese valor.
Gracias.
Javier
Valora esta pregunta


0