AT + CIPSEND problema con ESP8266

-1

Aquí estoy enfrentando un problema con la Programación del CLIENTE ESP8266. El problema es con el comando AT + CIPSEND. Este comando funciona varias veces, pero después de algunos ciclos, espera demasiado "SEND OK". He probado el código con un retraso de casi 1 segundo después de enviar cada comando a ESP a través del controlador.

Si RESTAURO el microcontrolador, recibí "ENVIAR OK" en el terminal de ESP8266.

¿Alguien puede arrojar una luz sobre este problema? Entonces, comente sus opiniones.

    
pregunta isoln

1 respuesta

1

Me parece que el problema está en tu código.

El AT + CIPSEND requiere que envíe el número de bytes que está enviando antes de enviar la solicitud real. Así que si tuvieras que enviar el mensaje:

GET / HTTP/1.1\r\n\r\n

Necesitarías ejecutar el comando AT AT+CIPSEND=18 . Simplemente simulemos que para este mensaje, en cambio, envió AT+CIPSEND=22 y la solicitud anterior al ESP8266 esperará a que envíe los últimos 4 bytes, se rompa el enlace o se cierre el servidor. La única forma de recibir un envío es si envías todos los bytes. Las otras dos opciones son errores que no resultarán en que obtenga un ENVIAR ACEPTAR desde el ESP8266.

También hay que recordar que el ESP8266 es de entrada manual, por lo que esperará hasta que el usuario termine de ingresar o se produzca un error, así que esperar más no es una solución.

Con esta lógica, el restablecimiento de su mirco probablemente envía otro comando o crea un ruido para finalizar el AT + CIPSEND, lo que provoca que el ENVIAR sea OK.

    
respondido por el Dom

Lea otras preguntas en las etiquetas