Fórum

arrow_back

Problema resposta JSON faz o esp reiniciar - curso: FreeRTOS arduino core

DANIEL VINICIUS BELUSSO

30/01/2023 11:04:22

Bom dia!

Estou com um problema quando envio algo por json e recebo sua resposta de volta, parece que no meio da manipulação desta resposta algo ocorre e faz com que o esp de reboot, tentei aumentar o tamanho da steck mas continuou.
Ao decodificar a resposta, consigo ver metade da mensagem até que o esp32 de reboot, segue alguns prints:

- Reboot:

Estou meio perdido com o que pode ser.

FERNANDO SIMPLICIO DE SOUSA

01/02/2023 11:05:57

Olá. A função c_str() é complicado de se trabalhar visto que, para converter um objeto String para um vetor String em C, este último tem que possuir o terminador NULL  no final. Logo, é provavel que esteja sendo realocado em memória todos os bytes recebido via HTTP para um novo buffer interno criado por c_str(). 

É dai que vem o problema. Strings pequenas podem ser recebidas sem problema, porém,  Strings longas já teremos problemas. 

A forma mais fácil de resolver isso é imprimir diretamente o objeto String sem converte-lo para vetor String em C. Portanto, é só fazer isso e pronto.

              if( httpCode == HTTP_CODE_OK ) 
              { 
                  String payload = http.getString();
  				
                  /**
                   * Imprime pela Serial os bytes (JSON) que foram recebidos do servidor;
                   */
                  Serial.println( payload );
              }


Este site usa cookies para melhorar sua experiência. Política de Privacidade