ESP8266 с Arduino Uno - Проблема с AT+CIPSEND

Странный факт, с которым мы сталкиваемся, заключается в том, что команда AT теперь принимает предоставленный URL-адрес и параметры (ранее мы сталкивались с "Error: 400 Bad Request"), но URL-адрес не попадает даже после включения \n в команду. На данный момент мы не знаем, как ПОПАСТЬ по URL-адресу, поскольку именно API собирается увеличить счетчик в базе данных, чего не происходит даже после успешного выполнения команды.

AT+CIPSTART="TCP","www.mydomain.com",80

**CONNECT**
**OK**

AT+CIPSEND=115

OK

GET /api/mywebapi.php?param1=01\r\nHTTP/1.1\r\nHost:mydomain.com

**busy s...**

**Recv 115 bytes**

**SEND OK**
**CLOSED**

** Обозначает вывод команд AT.

, 👍0

Обсуждение

Я только играл с этим способом работы с ESP очень коротко, но я заметил, что ваш "CIPSEND" ожидает 115 байт, и вы отправляете гораздо меньше (60 по моему счету). Вероятно, не связано, но будьте осторожны с вашими \r и \n - я думаю, что он отправит фактические \ и r, а не ввод строки., @Mark Smith


1 ответ


0

Ваш ВЫВОД неверен. У вас есть CRLF между GET и HTTP. Это должно быть просто пространство.

GET /blah/blah/blah HTTP/1.1\r\nHost: BlahBlah.com\r\n\r\n

Конечно, \r\n не должны быть этими конкретными отдельными символами, но коды ASCII 13 и 10 соответственно, поэтому лучше печатать каждую строку с помощью Serial.println() вместо вставки \r\n.

,