top of page
Writer's pictureCoding Phoenix

Implementing an HTTP PUT Request with ESP32 Using Arduino

The ESP32 microcontroller, coupled with Arduino, offers a versatile platform for IoT projects. Leveraging its capabilities to execute HTTP PUT requests enables you to update or modify data on remote servers or APIs. In this tutorial, we'll walk through the steps to perform an HTTP PUT request using an ESP32 board.


Prerequisites

Before starting, ensure you have the following:

  1. ESP32 Board: Such as the ESP32 Dev Module or a compatible board.

  2. Arduino IDE: Download and install the latest version.

  3. WiFi Connection: Access to a Wi-Fi network.

Setting Up the Arduino IDE

  1. Install ESP32 Board: Go to File > Preferences in Arduino IDE, paste the following URL in the "Additional Boards Manager URLs" field: https://dl.espressif.com/dl/package_esp32_index.json

  2. Install ESP32 Board Package: Navigate to Tools > Board > Boards Manager, search for "esp32," and install the package.

Writing the Code

#include <WiFi.h>
#include <HTTPClient.h>

const char* ssid = "YourNetworkSSID";
const char* password = "YourNetworkPassword";

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;
    
    // Your target URL for the PUT request
    http.begin("https://your-api-endpoint.com/put");
    http.addHeader("Content-Type", "application/json"); // Adjust content type if necessary
    
    // Your PUT data
    String putData = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; // Customize this as per your data
    
    int httpCode = http.PUT(putData);
    
    if (httpCode > 0) {
      String payload = http.getString();
      Serial.println(httpCode);
      Serial.println(payload);
    } else {
      Serial.println("Error on HTTP request");
    }
    
    http.end();
    
    delay(5000); // Wait for 5 seconds before the next request
  }
}

How the Code Works

  • WiFi Connection: Initializes the Wi-Fi connection using your network SSID and password.

  • HTTPClient Library: Includes necessary libraries for handling HTTP requests.

  • PUT Request: Utilizes http.PUT() method to send an HTTP PUT request to the specified URL with the provided data.

  • Handling Response: Checks the HTTP response code and retrieves the response payload if the request was successful.

Uploading and Testing

  1. Upload Code: Connect your ESP32 board to your computer, select the appropriate board and port in Arduino IDE, then upload the code.

  2. Monitor Serial Output: Open the Serial Monitor (Tools > Serial Monitor) to view the output. You should see the HTTP response code and any response data received from the server.

Conclusion

By following this guide, you've learned how to execute an HTTP PUT request using an ESP32 board and Arduino. This capability empowers your ESP32 projects to update or modify data on remote servers or APIs, facilitating seamless integration with online services.

Explore diverse data formats and endpoints to adapt this functionality to your specific IoT applications!

22 views0 comments

Recent Posts

See All

Comments


bottom of page