Arduino:
שליחת בקשת HTTP

How to: (איך לעשות:)

הנה קוד פשוט לשליחת בקשת GET:

#include <WiFi.h>

const char* ssid     = "yourSSID";
const char* password = "yourPASSWORD";
const char* serverName = "http://example.com/api";

WiFiClient client;

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  httpGETRequest(serverName);
}

void loop() {
  // Nothing here for this simple example
}

void httpGETRequest(const char* serverName) {
  client.setTimeout(5000);
  if (client.connect(serverName, 80)) {
    client.println("GET /api HTTP/1.1");
    client.println("Host: example.com");
    client.println("Connection: close");
    client.println(); // Important: end the header section with an empty line!

    while (client.connected()) {
      String line = client.readStringUntil('\n');
      if (line == "\r") {
        Serial.println("Headers received, reply:");
        break;
      }
    }
    // Read response
    String response = client.readStringUntil('\n');
    Serial.println(response);
  } else {
    Serial.println("Connection failed.");
  }
}

הקוד מחבר ל-WiFi ושולח בקשת GET. פלט הדוגמה:

Connecting to WiFi...
Connected to WiFi
Headers received, reply:
{"example":"response"}

Deep Dive (נסיון עמוק):

בעבר, שליחת בקשות HTTP מ-Arduino הייתה מורכבת יותר בגלל מגבלות החומרה של הפלטפורמה. כיום, עם התפתחות הטכנולוגיה ומודולים כמו ESP8266 ו-ESP32, התקשורת הפכה לקלה ונגישה יותר. ישנן גם חלופות לבקשות HTTP כגון MQTT, שמתאים לאינטרנט של הדברים (IoT). לבקשת HTTP יתרונות בזכות תקן אינטרנט רחב ותמיכה רחבה ב-APIs.

See Also (ראה גם):