[SOLUCIONADO] ESP8266 caracteres entraños en print SPIFFS

Hola a todos, estoy usando una Wemos D1 mini v1 (ESP8266) que funciona perfectamente con todo.
Tengo programado watchdog, FTP, servidor UDP, servidor WEB, etc.
Está conectada por puerto serie (no pines estándard) a un inversor de energía fotovoltaica donde recopila información y genera un CSV en el SPIFFS.

El problema que tengo que la escritura es así:

                      sprintln("Fichero "+String(buf_fecha));
                      ficheroVatios = SPIFFS.open(String(buf_fecha)+".csv", "a"); //escribir en el fichero
                      if(ficheroVatios)
                      {
                          sprintf(buf_fecha, "%04d-%02d-%02d %02d:%02d:00", ultAno, ultMes, ultDia,ultHora,ultMinuto);
                          ficheroVatios.print(buf_fecha);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosIndice+1);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosAcumuladosHoraEntrada);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosAcumuladosHoraSalida);
                          ficheroVatios.print(";\n");
                          ficheroVatios.close();
                      }
                      sprint(String(buf_fecha)+" se han grabado obtenido de "+String(vatiosIndice)+" muestras.");

Y funciona bien excepto la línea

ficheroVatios.print(";\n");

que me realiza esta salida en el .CSV:


2021-11-01 11:00:00;870;0.14;0.1ÿÿÿ2021-11-01 12:00:00;868;0.00;0.0ÿÿÿ2021-11-01 13:00:00;871;0.00;0.00;
2021-11-01 14:00:00;871;0.00;0.00;
2021-11-01 15:00:00;869;0.00;0.0ÿÿÿ2021-11-01 16:00:00;873;0.00;0.00;
2021-11-01 17:00:00;866;0.26;0.2ÿÿÿ2021-11-01 18:00:00;873;0.00;0.00;
2021-11-01 19:00:00;875;0.00;0.00;
2021-11-01 20:00:00;845;0.00;0.0ÿÿÿ2021-11-01 21:00:00;840;80.52;80.52;

donde se ve que a veces imprime bien el ; e intro pero otras aparecen tres Y
He probado cambiar la línea por println(";"); y en esos casos me imprime bien el punto y coma pero dos Y seguidas:

2021-10-28 23:00:00;866;32.61;32.61;
2021-10-29 00:00:00;869;0.45;0.45;
2021-10-29 01:00:00;874;0.12;0.12;
2021-10-29 02:00:00;869;1644.20;1644.20;ÿÿ2021-10-29 03:00:00;873;2.31;2.31;
2021-10-29 04:00:00;849;0.00;0.00;

Estoy usando Arduino IDE 1.8.16 y la bibliotecas actualizadas a última versión.

He buscado por internet pero no he encontrado un problema similar a éste.

¿alguien tiene idea de qué puede estar pasando?
Lo curioso que a veces funciona bien y otras no.
Salduos.

Prueba con un pequeño delay antes de cerrar el fichero.

El tamaño del buf_fecha?

Moderador:
Temas de ESP8266 y demás cuestiones NO Arduino Board va en microcontroladores.
Movido.

Gracias a los dos:
buf_fecha está sobredimensionado:

char buf_fecha[64]; //guardar fecha AAAA-MM-DDTHH:MM:SS.000T

Saludosl

Si no te molesta porque no subes todo el código asi podemos probarlo y verlo por nuestra cuenta y encontrar una posible solución.
Tal como lo presentas no se ve error de procedimiento. Yo lo hubiera hecho del mismo modo.
Probaste la sugerencia de @PeterKantTropus ?

Hola, si probé añadir estas líneas de código sin éxito:

                      if(ficheroVatios)
                      {
                          sprintf(buf_fecha, "%04d-%02d-%02d %02d:%02d:00", ultAno, ultMes, ultDia,ultHora,ultMinuto);
                          ficheroVatios.print(buf_fecha);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosIndice+1);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosAcumuladosHoraEntrada);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosAcumuladosHoraSalida);
                          ficheroVatios.print(";\n");
//lineas añadidas:
                          ficheroVatios.flush();
                          yield();
                          delay(10);
//fin lineas añadidas.
                          ficheroVatios.close();
                      }

Será la conversión de

vatiosAcumuladosHoraSalida

que son vars del tipo Double?

El proyecto es dependiete de resultados que lee de un puerto serie de un inversor solar, sin el inversor no funcionaría nada
Os lo subo de todas formas?

¿Como obtienes vatiosAcumuladosHoraSalida ? el carácter unicode ÿ corresponde al numero 0X00FF (255) típica salida de error. Modifica el código para que vatiosAcumuladosHoraSalida lo guarde primero en el archivo.

InverterRecArduino.zip (61.9 KB)

Subo el proyecto completo dado que utiliza algunos ficheros (html, .h,...)

variosAcumuladosHoraSalida es un tipo 'double' que se obtiene de media aritmética de sumar otros valores.
En el fuente en el apartado loop() está el sumatorio del mismo.
Saludos.

Gracias PeterKantTropus,
Lo curioso es que saca 3 caractere s ÿ si se imprime print(";\n") o dos si se imprime solo un println(";").
Supongo que será porque imprime CR+LFdespués del ";"? pero tenía entendido que print(";\n") deberían ser 2 caraceres, el punto-y-coma y el CR. ¿no?
No entiendo lo que dices de modificar el código para que vatiosAcumuladosHoraSalida lo guarde primero en el archivo.
Saludos.

Creo que se refiere a que cambies el orden en que guardas los datos

ficheroVatios.print(vatiosAcumuladosHoraSalida);
ficheroVatios.print(";");
ficheroVatios.print(vatiosAcumuladosHoraEntrada);
ficheroVatios.print(";\n");

para ver si el error está relacionado con la variable.

Saludos

Ambas variables son del tipo 'double'
He realizado la prueba de convertir las variables doubles a char antes de hacer el print y me sigue saliendo el mismo resultado erróneo:

                          sprintf(buf_fecha, "%04d-%02d-%02d %02d:%02d:00", ultAno, ultMes, ultDia,ultHora,ultMinuto);
                          ficheroVatios.print(buf_fecha);
                          ficheroVatios.print(";");
                          ficheroVatios.print(vatiosIndice+1);
                          ficheroVatios.print(";");
                          
                          dtostrf(vatiosAcumuladosHoraEntrada,5,2,charTempDouble);
                          //ficheroVatios.print(vatiosAcumuladosHoraEntrada);
                          ficheroVatios.print(charTempDouble);
                          ficheroVatios.print(";");
                          dtostrf(vatiosAcumuladosHoraSalida,5,2,charTempDouble);
                          //ficheroVatios.print(vatiosAcumuladosHoraSalida);
                          ficheroVatios.print(charTempDouble);
                          
                          ficheroVatios.print(";\n");
                          ficheroVatios.flush();
                          yield();
                          delay(10);
                          ficheroVatios.close();

Perdón por mi pedido puntual pero puedes simplificar el código al problema.
Algo que solo guarde datos en el SPIFFS y luego podamos leerlos para ver como lo hace.

Claro: InverterRecArduino_r2.zip (62.0 KB)
He realizado dos modificaciones: crear una directiva para que simule la respuesta del inversor:

#define EMULACIONINVERSOR
....
                 else //no cambió la hora, hacer qpigs
                 {
                   sprintln("Hacer QPIGS...");
                   #ifdef EMULACIONINVERSOR
                       ultQPIGS = "(233.9 49.9 233.9 49.9 2099 2099 041 365 01.00 000 000 0043 09.0 174.6 00.00 00000 00010000 00 00 01580 01____";
                   #else
                       puertoSerieInversor.flush();
                       puertoSerieInversor.print(QPIGS);
                       ultQPIGS = puertoSerieInversor.readStringUntil('\X0D');
                   #endif
                   if (ultQPIGS.length()>60) //asegurarse que viene contenido QPIGS
                   if (ultQPIGS.startsWith("(")) //asegurarse que comienza con apertura de paréntesis

Y además he cambiado para que se guarde cada minuto:

            else  //comprobar que se pueda generar una nueva entrada 
            {
                 //if (ultHora!=hour(tstamp)) //ha cambiado la hora? grabar nuevo fichero SPIFFS
                 if (ultMinuto!=minute(tstamp)) //ha cambiado de minuto? grabar nuevo fichero SPIFFS
                 { 
                      sprintln("La hora ha cambiado, procesar la hora...");

Gracias

Hola,
Antetodo agradeceros la ayuda prestada.
Creo que he dado con una solución, si bien no sé porqué fallaba.
He cambiado la línea:

        //ficheroVatios.print(";\n");
        ficheroVatios.print((char)13);

Y ahora parece que está realizando bien la salida, es decir no imprimir "\n" sino un char 0x0d

Como se observa aquí, los que no acaban en punto y coma (:wink: son los que está imprimiendo así.

2021-11-03 15:30:00;1;519,00;2099,00;
2021-11-03 15:30:00;3;519,00;2099,00;
2021-11-03 15:30:00;2;519,00;2099,00;
2021-11-03 15:30:00;3;519,00;2099,00;
2021-11-03 15:30:00;3;519,00;2099,00;
2021-11-03 15:31:00;3;519,00;2099,00;
2021-11-03 15:31:00;1;519,00;2099,00;
2021-11-03 15:31:00;3;519,00;2099,00ÿÿ2021-11-03 15:31:00;3;519,00;2099,00;
2021-11-03 15:31:00;3;519,00;2099,00ÿÿ2021-11-03 15:32:00;1;519,00;2099,00;
2021-11-03 15:32:00;2;519,00;2099,00ÿÿ2021-11-03 15:32:00;3;519,00;2099,00;
2021-11-03 15:32:00;2;519,00;2099,00;
2021-11-03 15:32:00;3;519,00;2099,00;
2021-11-03 15:32:00;3;519,00;2099,00;
2021-11-03 15:33:00;3;519,00;2099,00;
2021-11-03 15:33:00;2;519,00;2099,00;
2021-11-03 15:33:00;2;519,00;2099,00;
2021-11-03 15:33:00;3;519,00;2099,00;
2021-11-03 15:34:00;3;519,00;2099,00ÿÿ2021-11-03 15:34:00;2;519,00;2099,00;
2021-11-03 15:34:00;3;519,00;2099,00ÿÿ2021-11-03 15:34:00;2;519,00;2099,00;
2021-11-03 15:34:00;3;519,00;2099,00ÿÿ2021-11-03 15:34:00;3;519,00;2099,00;
2021-11-03 15:35:00;3;519,00;2099,00;
2021-11-03 15:35:00;2;519,00;2099,00;
2021-11-03 15:35:00;2;519,00;2099,00;
2021-11-03 15:35:00;3;519,00;2099,00;
2021-11-03 15:35:00;2;519,00;2099,00;
2021-11-03 15:36:00;3;519,00;2099,00;
2021-11-03 15:36:00;3;519,00;2099,00;
2021-11-03 15:36:00;2;519,00;2099,00;
2021-11-03 15:36:00;2;519,00;2099,00;
2021-11-03 15:36:00;3;519,00;2099,00ÿÿ2021-11-03 15:36:00;3;519,00;2099,00;
2021-11-03 15:37:00;3;519,00;2099,00ÿÿ2021-11-03 15:37:00;2;519,00;2099,00;
2021-11-03 15:37:00;2;519,00;2099,00;
2021-11-03 15:37:00;2;519,00;2099,00;
2021-11-03 15:37:00;2;519,00;2099,00;
2021-11-03 15:38:00;3;519,00;2099,00;
2021-11-03 15:38:00;3;519,00;2099,00;
2021-11-03 15:38:00;2;519,00;2099,00;
2021-11-03 15:38:00;2;519,00;2099,00;
2021-11-03 15:38:00;3;519,00;2099,00;
2021-11-03 15:38:00;3;519,00;2099,00;
2021-11-03 15:39:00;3;519,00;2099,00ÿÿ2021-11-03 15:39:00;3;519,00;2099,00;
2021-11-03 15:39:00;1;519,00;2099,00ÿÿ2021-11-03 15:39:00;3;519,00;2099,00;
2021-11-03 15:39:00;2;519,00;2099,00;
2021-11-03 15:40:00;3;519,00;2099,00;
2021-11-03 15:40:00;3;519,00;2099,00;
2021-11-03 15:40:00;2;519,00;2099,00;
2021-11-03 15:40:00;2;519,00;2099,00;
2021-11-03 15:40:00;3;519,00;2099,00;
2021-11-03 15:40:00;3;519,00;2099,00;
2021-11-03 15:41:00;3;519,00;2099,00;
2021-11-03 15:41:00;3;519,00;2099,00;
2021-11-03 15:41:00;2;519,00;2099,00ÿÿ2021-11-03 15:41:00;3;519,00;2099,00;
2021-11-03 15:42:00;3;519,00;2099,00ÿÿ2021-11-03 15:42:00;3;519,00;2099,00;
2021-11-03 15:42:00;2;519,00;2099,00ÿÿ2021-11-03 15:42:00;2;519,00;2099,00;
2021-11-03 15:42:00;3;519,00;2099,00;
2021-11-03 15:42:00;3;519,00;2099,00;
2021-11-03 15:43:00;3;519,00;2099,00;
2021-11-03 15:43:00;3;519,00;2099,00;
2021-11-03 15:43:00;2;519,00;2099,00;
2021-11-03 15:43:00;3;519,00;2099,00;
2021-11-03 15:43:00;2;519,00;2099,00;
2021-11-03 15:44:00;3;519,00;2099,00ÿÿ2021-11-03 15:44:00;3;519,00;2099,00;
2021-11-03 15:44:00;2;519,00;2099,00ÿÿ2021-11-03 15:44:00;2;519,00;2099,00;
2021-11-03 15:44:00;3;519,00;2099,00ÿÿ2021-11-03 15:44:00;3;519,00;2099,00;
2021-11-03 15:45:00;2;519,00;2099,00;
2021-11-03 15:45:00;3;519,00;2099,00;
2021-11-03 15:45:00;1;519,00;2099,00;
2021-11-03 15:45:00;3;519,00;2099,00;
2021-11-03 15:45:00;3;519,00;2099,00;
2021-11-03 15:46:00;3;519,00;2099,00;
2021-11-03 15:46:00;3;519,00;2099,00;
2021-11-03 15:46:00;2;519,00;2099,00ÿÿ2021-11-03 15:46:00;2;519,00;2099,00;
2021-11-03 15:46:00;3;519,00;2099,00ÿÿ2021-11-03 15:47:00;1;519,00;2099,00;
2021-11-03 15:47:00;3;519,00;2099,00ÿÿ2021-11-03 15:47:00;3;519,00;2099,00;
2021-11-03 15:47:00;1;519,00;2099,00;
2021-11-03 15:47:00;3;519,00;2099,00;
2021-11-03 15:47:00;3;519,00;2099,00;
2021-11-03 15:48:00;3;519,00;2099,00;
2021-11-03 15:48:00;3;519,00;2099,00;
2021-11-03 15:48:00;2;519,00;2099,00;
2021-11-03 15:48:00;2;519,00;2099,00;
2021-11-03 15:49:00;3;519,00;2099,00ÿÿ2021-11-03 15:49:00;3;519,00;2099,00;
2021-11-03 15:49:00;3;519,00;2099,00ÿÿ2021-11-03 15:49:00;1;519,00;2099,00;
2021-11-03 15:49:00;3;519,00;2099,00ÿÿ2021-11-03 15:49:00;3;519,00;2099,00;
2021-11-03 15:50:00;3;519,00;2099,00;
2021-11-03 15:50:00;3;519,00;2099,00;
2021-11-03 15:50:00;2;519,00;2099,00;
2021-11-03 15:50:00;2;519,00;2099,00;
2021-11-03 15:50:00;3;519,00;2099,00;
2021-11-03 15:51:00;2;519,00;2099,00;
2021-11-03 15:51:00;3;519,00;2099,00;
2021-11-03 15:51:00;3;519,00;2099,00ÿÿ2021-11-03 15:51:00;2;519,00;2099,00;
2021-11-03 15:51:00;2;519,00;2099,00ÿÿ2021-11-03 15:51:00;3;519,00;2099,00;
2021-11-03 15:52:00;3;519,00;2099,00ÿÿ2021-11-03 15:52:00;3;519,00;2099,00;
2021-11-03 15:52:00;3;519,00;2099,00;
2021-11-03 15:52:00;1;519,00;2099,00;
2021-11-03 15:52:00;3;519,00;2099,00;
2021-11-03 15:53:00;3;519,00;2099,00;
2021-11-03 15:53:00;3;519,00;2099,00;
2021-11-03 15:53:00;3;519,00;2099,00;
2021-11-03 15:53:00;1;519,00;2099,00;
2021-11-03 15:53:00;3;519,00;2099,00ÿÿ2021-11-03 15:53:00;3;519,00;2099,00;
2021-11-03 15:54:00;3;519,00;2099,00ÿÿ2021-11-03 15:54:00;2;519,00;2099,00;
2021-11-03 15:54:00;2;519,00;2099,00ÿÿ2021-11-03 15:54:00;3;519,00;2099,00;
2021-11-03 15:55:00;3;519,00;2099,00;
2021-11-03 15:55:00;3;519,00;2099,00;
2021-11-03 15:55:00;3;519,00;2099,00;
2021-11-03 15:55:00;1;519,00;2099,00;
2021-11-03 15:56:00;3;519,00;2099,00
2021-11-03 15:56:00;3;519,00;2099,00
2021-11-03 15:56:00;2;519,00;2099,00
2021-11-03 15:56:00;2;519,00;2099,00
2021-11-03 15:56:00;3;519,00;2099,00
2021-11-03 15:57:00;2;519,00;2099,00
2021-11-03 15:57:00;3;519,00;2099,00
2021-11-03 15:57:00;3;519,00;2099,00
2021-11-03 15:57:00;2;519,00;2099,00
2021-11-03 15:57:00;2;519,00;2099,00
2021-11-03 15:58:00;1;519,00;2099,00
2021-11-03 15:58:00;3;519,00;2099,00
2021-11-03 15:58:00;3;519,00;2099,00
2021-11-03 15:58:00;2;519,00;2099,00
2021-11-03 15:58:00;2;519,00;2099,00
2021-11-03 15:58:00;3;519,00;2099,00
2021-11-03 15:59:00;3;519,00;2099,00
2021-11-03 15:59:00;3;519,00;2099,00
2021-11-03 15:59:00;2;519,00;2099,00
2021-11-03 15:59:00;2;519,00;2099,00
2021-11-03 16:00:00;3;519,00;2099,00
2021-11-03 16:00:00;3;519,00;2099,00
2021-11-03 16:00:00;3;519,00;2099,00
2021-11-03 16:00:00;2;519,00;2099,00
2021-11-03 16:00:00;3;519,00;2099,00
2021-11-03 16:00:00;2;519,00;2099,00
2021-11-03 16:01:00;3;519,00;2099,00
2021-11-03 16:01:00;2;519,00;2099,00
2021-11-03 16:01:00;3;519,00;2099,00
2021-11-03 16:01:00;3;519,00;2099,00
2021-11-03 16:02:00;2;519,00;2099,00
2021-11-03 16:02:00;3;519,00;2099,00
2021-11-03 16:02:00;3;519,00;2099,00
2021-11-03 16:02:00;2;519,00;2099,00
2021-11-03 16:02:00;3;519,00;2099,00
2021-11-03 16:02:00;3;519,00;2099,00
2021-11-03 16:03:00;3;519,00;2099,00
2021-11-03 16:03:00;2;519,00;2099,00
2021-11-03 16:03:00;3;519,00;2099,00
2021-11-03 16:03:00;3;519,00;2099,00
2021-11-03 16:03:00;2;519,00;2099,00
2021-11-03 16:04:00;3;519,00;2099,00
2021-11-03 16:04:00;3;519,00;2099,00
2021-11-03 16:04:00;3;519,00;2099,00
2021-11-03 16:04:00;3;519,00;2099,00
2021-11-03 16:04:00;2;519,00;2099,00
2021-11-03 16:04:00;3;519,00;2099,00
2021-11-03 16:05:00;3;519,00;2099,00
2021-11-03 16:05:00;3;519,00;2099,00
2021-11-03 16:05:00;2;519,00;2099,00
2021-11-03 16:05:00;2;519,00;2099,00
2021-11-03 16:05:00;2;519,00;2099,00
2021-11-03 16:06:00;3;519,00;2099,00
2021-11-03 16:06:00;3;519,00;2099,00
2021-11-03 16:06:00;3;519,00;2099,00
2021-11-03 16:06:00;2;519,00;2099,00
2021-11-03 16:06:00;3;519,00;2099,00
2021-11-03 16:06:00;3;519,00;2099,00
2021-11-03 16:07:00;3;519,00;2099,00
2021-11-03 16:07:00;3;519,00;2099,00
2021-11-03 16:07:00;1;519,00;2099,00
2021-11-03 16:07:00;3;519,00;2099,00
2021-11-03 16:07:00;3;519,00;2099,00
2021-11-03 16:08:00;2;519,00;2099,00
2021-11-03 16:08:00;3;519,00;2099,00
2021-11-03 16:08:00;3;519,00;2099,00
2021-11-03 16:08:00;3;519,00;2099,00
2021-11-03 16:08:00;3;519,00;2099,00
2021-11-03 16:08:00;2;519,00;2099,00
2021-11-03 16:09:00;3;519,00;2099,00
2021-11-03 16:09:00;3;519,00;2099,00
2021-11-03 16:09:00;3;519,00;2099,00
2021-11-03 16:09:00;3;519,00;2099,00
2021-11-03 16:10:00;3;519,00;2099,00
2021-11-03 16:10:00;2;519,00;2099,00
2021-11-03 16:10:00;3;519,00;2099,00
2021-11-03 16:10:00;3;519,00;2099,00
2021-11-03 16:10:00;3;519,00;2099,00
2021-11-03 16:10:00;2;519,00;2099,00
2021-11-03 16:11:00;3;519,00;2099,00
2021-11-03 16:11:00;2;519,00;2099,00
2021-11-03 16:11:00;3;519,00;2099,00
2021-11-03 16:11:00;3;519,00;2099,00
2021-11-03 16:11:00;3;519,00;2099,00
2021-11-03 16:12:00;2;519,00;2099,00
2021-11-03 16:12:00;3;519,00;2099,00
2021-11-03 16:12:00;3;519,00;2099,00
2021-11-03 16:12:00;3;519,00;2099,00
2021-11-03 16:12:00;3;519,00;2099,00
2021-11-03 16:12:00;2;519,00;2099,00
2021-11-03 16:13:00;1;519,00;2099,00
2021-11-03 16:13:00;3;519,00;2099,00
2021-11-03 16:13:00;2;519,00;2099,00
2021-11-03 16:13:00;3;519,00;2099,00
2021-11-03 16:13:00;3;519,00;2099,00

Entiendo que es un workarround pero al menos ya puedo seguir desarrollando sin este problema.
Aunque me sigue preocupando que un simple print "\n" falle intermitentemente.
Saludos y gracias nuevamente.

Creo que para enviar "\n" deberías probar usar write() en lugar de print(), claro que no podrías enviar ";\n"

Saludos

De mas está decir esto porque programas muy bien, y lo que te ha ocurrido nos pasa a todos.
Pero el camino siempre es simplificar y llevar las cosas a algo que permita concentrarnos solo en el problema.
Para mi funciona, aunque no siempre doy con la solución.
Igualmente luego veré que ocurre con el código simple que has planteado.

¿Probaste esto?

Gatul, antes hacía println(";"); con mismo error intermitente pero solo guardaba dos ÿÿ en vez de 3 como pasa con print(";\n");
Uso print dado que enviar con write caracter a caracter no me parece elegante existiendo el print
Tiene toda la pinta de existir un bug en la libreria spiffs
Probada la recomendación de cambiar el orden de las variables double sigue saliendo el mismo problema, aunque no entiendo que pudiera venir de eso dado que ambas variables (tipo double) las guarda perfectamente.

2021-11-03 18:42:00;7;2099,00;519,00;
2021-11-03 18:43:00;22;2099,00;519,00;
2021-11-03 18:44:00;9;2099,00;519,00ÿÿÿ2021-11-03 18:45:00;22;2099,00;519,00;
2021-11-03 18:46:00;11;2099,00;519,00;
2021-11-03 18:47:00;22;2099,00;519,00;
2021-11-03 18:48:00;12;2099,00;519,00;

Saludos.

Gracias Surbyte, dado que el final de este proyecto es ser público intento utilizar sentencias fácilmente asimilables y entendibles.
Aún no está terminado el proyecto pero me encontré con éste problema y despues de darle 20 vueltas y buscan problemas similares no encontré el porqué.
Saludos.

La salida que estas postendo ¿Como la obtienes? es decir ¿Como la descargas del esp8266?