Início Rápido¶
Este guia orienta você na sua primeira requisição HTTP usando o ESP32-HTTP-Client em menos de 2 minutos.
Passo 1: Incluir a biblioteca¶
Passo 2: Conectar ao WiFi¶
Passo 3: Criar o cliente¶
// Passe a URL base do seu servidor (com o protocolo)
ESP32HTTPClient client("https://jsonplaceholder.typicode.com");
Passo 4: Fazer uma requisição¶
int userId = 0;
char title[64];
bool completed;
// GET https://jsonplaceholder.typicode.com/todos/1
// Resposta: { "userId": 1, "id": 1, "title": "...", "completed": false }
client.get("/todos/1")
.getBody("userId", &userId)
.getBody("title", title, sizeof(title))
.getBody("completed", &completed);
Código Completo (Sketch)¶
#include <Arduino.h>
#include <WiFi.h>
#include "ESP32HTTPClient.h"
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
ESP32HTTPClient client("https://jsonplaceholder.typicode.com");
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConectado!");
}
void loop() {
int userId = 0;
char title[64];
bool completed;
client.get("/todos/1")
.getBody("userId", &userId)
.getBody("title", title, sizeof(title))
.getBody("completed", &completed);
if (client.getStatusCode() == 200) {
Serial.printf("ID do Usuário: %d\n", userId);
Serial.printf("Título : %s\n", title);
Serial.printf("Concluído : %s\n", completed ? "sim" : "não");
} else {
Serial.printf("Erro HTTP: %d\n", client.getStatusCode());
}
delay(10000);
}
O que acabou de acontecer?¶
- Você criou um
ESP32HTTPClientapontando para uma URL base. - Você chamou
.get("/todos/1")para iniciar a construção de uma requisição GET. - Você encadeou chamadas
.getBody()para declarar onde cada campo JSON deve ser armazenado. - Quando o encadeamento saiu de escopo, a biblioteca enviou automaticamente a requisição, analisou o fluxo de dados e escreveu os valores diretamente em suas variáveis.
Sem strings intermediárias
O corpo da resposta nunca é armazenado por inteiro na memória. A biblioteca analisa o fluxo JSON byte a byte à medida que chega pela rede, gravando cada valor correspondente diretamente na variável alvo.