Здравствуйте, подключил esp8266 v7 к arduino. AT команды отправляю, все нормально. Теперь хочу сделать get запрос на сайт для сбора данных. Уже научился подключаться к сайту, но создавать и отправлять get запрос не получается. Очень нужна ваша помочь!
Спасибо большое, за видео. Могли бы Вы помочь найти библиотеку ESP8266WiFi.h? Много библиотек arduino-master, а именно ESP8266WiFi.h найти не могу.
Я, помню, тоже что-то с GET-запросом мучился, получилось что-то вроде (это не скетч, просто Си): Код (Text): const char DEFAULT_SERVER[] = "160.160.153.123"; const char DEFAULT_PORT[] = "8080"; const char DEFAULT_SETTINGS_REQUEST[] = "GET /docs/ HTTP/1.1\r\nHost: 160.160.153.123:8080\r\n\Accept: text/htmlr\nUser-Agent: Mozilla/5.0\r\nConnection: keep-alive\r\n\r\n"; bool ESP_GetSettings() { ESP_Answer_Clear(); printf("AT+CIPSTART=\"TCP\",\"%s\",%s\r\n", DEFAULT_SERVER, DEFAULT_PORT); if (DelayWithExam("CONNECT", 25)) { ESP_Answer_Clear(); printf("AT+CIPSEND=%d\r\n", sizeof(DEFAULT_SETTINGS_REQUEST) - 1); if (DelayWithExam("OK", 10)) { ESP_Answer_Clear(); printf("%s", DEFAULT_SETTINGS_REQUEST); if (DelayWithExam("json", 30)) return true; else return false; } else return false; } else return false; }
Да, в секте Ардуино это делается сложновато... А так это делается у Lua: Код (Lua): http.get("http://httpbin.org/ip", nil, function(code, data) if (code < 0) then print("HTTP request failed") else print(code, data) end end) Или так: Код (C++): do host = "yandex.ru" curl = "GET / HTTP/1.1\r\n\r\n" srv = tls.createConnection() srv:on("receive", function(sck, c) print(c); srv:close(); srv = nil end) srv:on("connection", function(sck, c) sck:send(curl) end) srv:connect(443,host) end