Incertidumbre con el comando CIPSEND para actualizar el campo de datos en thingspeak usando esp8266

0

Estoy teniendo un poco de incertidumbre al actualizar los datos en thingspeak usando su API generada o puede ser debido al comando "AT + CIPSEND". A continuación se muestran los pasos que seguí para la primera prueba:

AT+RST


OK
B1���:6�;�;!G��R��A#�
[System Ready, Vendor:www.ai-thinker.com]
AT+CWMODE?

+CWMODE:1

OK
AT+CIPMUX=1


OK
AT+CIPSTART=0,"TCP","api.thingspeak.com",80


OK
Linked
AT+CIPSEND=0,85

> GET https://api.thingspeak.com/update?api_key=1VMOGPWM9SGJXI5C&field1=77


OK
Unlink

He estado siguiendo el tutorial de Kevin Darrah Aquí . Cuando se intentó lo anterior, el campo de datos no se actualiza. Por lo tanto, ¡¡¡la primera prueba falló !!!.

Pero, cuando hice lo siguiente al cambiar la longitud de los bytes asignados al comando CIPSEND con 76, sorprendentemente los datos se actualizaron en thingspeak.

AT+RST


 OK
 �6B�=Cl��1�� �A#�+�A��
 [System Ready, Vendor:www.ai-thinker.com]
 AT+CWMODE?

+CWMODE:1

OK
AT+CIPMUX=1


OK
AT+CIPSTART=4,"TCP","api.thingspeak.com",80


OK
Linked
AT+CIPSEND=4,76

> GET https://api.thingspeak.com/update?api_key=U6PE1HI433A8XPQY&field1=77


SEND OK

+IPD,4,1:1
OK

OK
Unlink

Entonces, ¡la segunda prueba funcionó!

De nuevo, hice una tercera prueba y esta vez cambié la longitud de los bytes asignados al comando CIPSEND a 100 como se muestra a continuación:

 AT+CIPSTART=4,"TCP","api.thingspeak.com",80


 OK
 Linked
 AT+CIPSEND=4,100

> GET https://api.thingspeak.com/update?api_key=U6PE1HI433A8XPQY&field1=46


OK
Unlink

La única diferencia entre los 3 intentos es la longitud de los bytes a enviar, asignados mediante "AT + CIPSEND". Y los datos se publican en thingspeak con éxito solo cuando la longitud de los bytes se asigna como 76 , pero no funcionó cuando se asignaron con 85 y 100. Estoy usando el monitor serial del Arduino IDE para enviar estos comandos con NL y amplificador ; CR habilitado. Mi pregunta es,

¿Por qué funciona cuando a CIPSEND se le asigna un valor de 76 y no para 85 y 100?

    
pregunta PsychedGuy

1 respuesta

0

Al parecer, la longitud de sus datos:

GET https://api.thingspeak.com/update?api_key=U6PE1HI433A8XPQY&field1=46

tiene 72 caracteres, más \r\n\r\n hace exactamente 76 caracteres. Supongo que si especifica una longitud más larga en CIPSEND , está esperando más datos y se está desconectando debido a un tiempo de espera o algo así.

    
respondido por el Álvaro Iradier

Lea otras preguntas en las etiquetas