ESP8266 no enviará ni recibirá devoluciones ocupadas. .

2

Estoy intentando hacer un controlador de temperatura de fermentación con el ESP8266 enviando datos hacia y desde mi servidor web local. Estoy probando el esp con el monitor serie arudino y una placa ftdi. Tengo mi tiempo de espera en la configuración de Apache a 300 y no sé por qué recibo el código de error 408. No puedo encontrar dónde o cómo establecer los encabezados de solicitud que menciona en el registro de errores. Por favor, ayúdenme a pasar muchos días en este proyecto sin retorno hasta ahora.

Aquí está la salida para esp y el registro del servidor web

ESP8266:

AT+CIPSTART="TCP","192.168.2.14",80

CONNECT

OK
AT+CIPSEND=44


OK
> GET /fermControl/update.php?temp=62 HTTP/1.1 \r\n

busy s...

Recv 44 bytes

SEND OK
AT+CIPCLOSE

CLOSED

OK

Apache Access.log:

192.168.2.176 - - [23/Jun/2015:14:51:38 -0700] "-" 408 0 "-" "-"
192.168.2.176 - - [23/Jun/2015:14:52:04 -0700] "-" 408 0 "-" "-"

Apache Error.log

[Tue Jun 23 14:32:54 2015] [info] [client 192.168.2.176] Request header read timeout
[Tue Jun 23 14:36:43 2015] [info] [client 192.168.2.176] Request header read timeout
[Tue Jun 23 14:38:37 2015] [info] [client 192.168.2.176] Request header read timeout
[Tue Jun 23 14:51:38 2015] [info] [client 192.168.2.176] Request header read timeout
[Tue Jun 23 14:52:04 2015] [info] [client 192.168.2.176] Request header read timeout
    
pregunta Cjueden

1 respuesta

4

Lo que está sucediendo es que no está enviando lo que cree que es, específicamente que no está enviando correctamente el nuevo servicio de devolución de retorno y las nuevas líneas.

Lo que estás enviando es:

GET /fermControl/update.php?temp=62 HTTP/1.1 \r\n

Además de que hay un espacio innecesario entre el combo HTTP / 1.1 y el combo de retorno / nueva línea, la forma en que lo ingresas es literal y esos caracteres no lo son.

Su terminal serial debe enviar un combo de retorno / nueva línea cuando presiona enter, ya que es cuando el ESP8266 sabe que ha terminado de recibir un comando que, desde su registro, definitivamente lo es.

El mensaje anterior también tiene 49 bytes, ya que no es 44 como usted especificó, que ni siquiera incluye el combo de retorno / nueva línea. Su servidor está a la espera de una solicitud HTTP completa que incluya dos pares de nuevas líneas de transporte de retorno que nunca envía, por lo que nunca obtiene el error 408. Esta es la razón por la que ve la respuesta busys... del ESP8266, ya que está enviando más caracteres de los que espera y le dice que está ocupado.

Desea enviar AT+CIPSEND=48 y desea enviar este mensaje:

GET /fermControl/update.php?temp=62 HTTP/1.1

Luego pulsa enter dos veces. Esto debe enviar la solicitud como se desee.

    
respondido por el Dom

Lea otras preguntas en las etiquetas