ESP8266 Arduino: методы и примеры кода для Wi-Fi, HTTP-запросов и веб-сервера

Вот ссылка на репозиторий ESP8266 Arduino: https://github.com/esp8266/Arduino

Теперь давайте рассмотрим некоторые методы на примерах кода для работы с ESP8266 с использованием платформы Arduino:

Метод 1: подключение к Wi-Fi
Чтобы подключить ESP8266 к сети Wi-Fi, вы можете использовать следующий код:

#include <ESP8266WiFi.h>
const char* ssid = "YourSSID";
const char* password = "YourPassword";
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi!");
}
void loop() {
  // Your code here
}

Метод 2: отправка HTTP-запросов GET
Вы можете использовать ESP8266 для отправки HTTP-запросов GET на сервер. Вот пример:

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "YourSSID";
const char* password = "YourPassword";
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi!");
}
void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    http.begin("http://example.com/api/data");
    int httpCode = http.GET();
    if (httpCode > 0) {
      String payload = http.getString();
      Serial.println(payload);
    }
    http.end();
    delay(5000);
  }
}

Метод 3: создание веб-сервера
Вы можете превратить ESP8266 в веб-сервер. Вот пример:

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* ssid = "YourSSID";
const char* password = "YourPassword";
ESP8266WebServer server(80);
void handleRoot() {
  server.send(200, "text/plain", "Hello from ESP8266!");
}
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi!");
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Web server started.");
}
void loop() {
  server.handleClient();
}