Tengo mi ESP-01 conectado a un convertidor de USB a TTL y envío comandos AT a través de la Terminal (por bray).
Lo que quiero hacer es poner el esp-01 en modo cliente, luego conectarme a pushbox y finalmente enviar una solicitud GET con mi ID de dispositivo (API) a pushbox. Luego, se enviará una notificación a mi Android a través de mi cuenta de newtifry.
He probado los escenarios de pushbox desde mi PC y recibo notificaciones de newtifry en mi Android como se esperaba. También cuando escribo la URL con mi ID de dispositivo ( enlace ) en la barra de direcciones, funciona bien.
PERO cuando intento hacer lo mismo con esp-01, cuando envío la solicitud de obtención, recibo una solicitud incorrecta 400 (Su navegador envió una solicitud no válida). Cambié el formato de solicitud GET varias veces, pero sucede lo mismo.
Creo que la solicitud GET que envío está incompleta de alguna manera, pero no puedo averiguar qué falta.
Nota: el terminal no reconoce \ ry \ n como caracteres de un solo byte (por lo que \ r \ n = 4 bytes === > uno para cada carácter \ r \ n). Así que la cadena de URL que envío es el número de caracteres de URL + 4 bytes para cada \ r \ n en la cadena. Por ejemplo, si la cadena de URL tiene 88 caracteres (bytes) de largo con \ r \ n \ r \ n al final, agrego 8 caracteres.
A continuación, muestro la secuencia exacta de comandos que envío cada vez y también las diferentes versiones de la solicitud GET que he intentado enviar hasta el momento sin éxito.
AT + CWMODE = 1 AT + CWJAP="SSID", "pswd" AT + CIPSTART="TCP", "api.pushingbox.com", 80 AT + CIPMODE = 0 AT + CIPSEND = número de caracteres de la solicitud GET (bytes)
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.1 \ r \ nHost: api.pushingbox.com \ r \ n \ r \ n
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.1 \ r \ nHost: api.pushingbox.com \ r \ nConnection: close \ r \ n \ r \ n
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.1 \ r \ nHost: api.pushingbox.com \ r \ nUser-Agent: ESP8266 \ r \ n \ r \ n
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.1 \ r \ nHost: api.pushingbox.com \ r \ nUser-Agent: ESP8266 \ r \ nConnection: close \ r \ n \ r \ n
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.1 \ r \ nHost: api.pushingbox.com \ r \ nUser-Agent: ESP8266 \ r \ nContent-Type: text / html \ r \ nConnection: close \ r \ n \ r \ n
GET / pushingbox? devid = xxxxxxxxxxxxxxxx HTTP / 1.0 \ r \ n \ r \ n