ESP8266 отправка GET запроса
Добавлено: 15.04.2019{, 10:27}
ESP8266 отправка GET запроса к серверу http://api.openweathermap.org возможна ли встроенными блоками если да поделитесь примером интересует этот пример
// GET запрос к http://api.openweathermap.org
#include <ESP8266WiFi.h>
const char* ssid = "*************";
const char* password = "12345678";
const char* host = "api.openweathermap.org"; // IP адрес сервера 37.139.1.159
void setup() {
Serial.begin(115200);
delay(10);
// в сетапе как обычно подключаемся к сети
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Get(); // при включении выполняем функцию
}
void loop() {
}
void Get() {
// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) { /// подключаемся к серверу
Serial.println("connection failed");
return;
}
/// если подключились, отправляем чего от сервера хотим
// сам GET запрос с ID и ключем
client.println("GET /data/2.5/weather?id=518976&appid=6a4ba421859c9f4166697758b68d889b HTTP/1.1");
// говорим к какому хосту обращаемся (на сервере может быть несколько сайтов)
client.println("Host: api.openweathermap.org");
// говорим что закончили
client.println("Connection: close");
client.println();
delay(1000); // ждем немного
// читаем ответ и отправляем его в Serial
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
}
// GET запрос к http://api.openweathermap.org
#include <ESP8266WiFi.h>
const char* ssid = "*************";
const char* password = "12345678";
const char* host = "api.openweathermap.org"; // IP адрес сервера 37.139.1.159
void setup() {
Serial.begin(115200);
delay(10);
// в сетапе как обычно подключаемся к сети
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Get(); // при включении выполняем функцию
}
void loop() {
}
void Get() {
// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) { /// подключаемся к серверу
Serial.println("connection failed");
return;
}
/// если подключились, отправляем чего от сервера хотим
// сам GET запрос с ID и ключем
client.println("GET /data/2.5/weather?id=518976&appid=6a4ba421859c9f4166697758b68d889b HTTP/1.1");
// говорим к какому хосту обращаемся (на сервере может быть несколько сайтов)
client.println("Host: api.openweathermap.org");
// говорим что закончили
client.println("Connection: close");
client.println();
delay(1000); // ждем немного
// читаем ответ и отправляем его в Serial
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
}