Lập trình ESP32 (6/8): HTTPClient — gọi REST API & JSON cơ bản
GET/POST với HTTPClient, HTTPS với root CA, parse JSON bằng ArduinoJson — đẩy dữ liệu cảm biến.
· 1 min read
Khóa lập trình Arduino ESP32 cơ bản — IoT từ Blink đến SmartNode · Phần 6/8▼
Phần 6/8 (~40 phút) · Phần 5 · Phần 7 — Web server
Cài ArduinoJson (v7).
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
void postTelemetry(float temp, float hum) {
if (WiFi.status() != WL_CONNECTED) return;
HTTPClient http;
http.begin("http://httpbin.org/post"); // thay bằng API của bạn
http.addHeader("Content-Type", "application/json");
JsonDocument doc;
doc["device"] = "smartnode-01";
doc["temp"] = temp;
doc["hum"] = hum;
String body;
serializeJson(doc, body);
int code = http.POST(body);
Serial.printf("HTTP %d\n", code);
http.end();
}
Thay URL bằng webhook Node-RED, Firebase, hoặc API tự host. Giới hạn tần suất: 1 request / 30–60 s để tránh spam.
Câu hỏi thường gặp
ESP32 gọi HTTPS được không?
Có — dùng WiFiClientSecure và setCertificate hoặc (chỉ dev) setInsecure(). Production luôn verify chứng chỉ.
Bài đọc tiếp theo
Lập trình ESP32 (1/8): Giới thiệu board, cài Arduino IDE & Blink LED
Khóa Arduino ESP32 miễn phí — phần 1: chọn board ESP32-WROOM, cài core esp32 trên Arduino IDE 2.x, nạp Blink, hiểu Serial Monitor. Lộ trình: /blog/hoc-lap-trinh-arduino-esp32-tu-dau
Đọc tiếp →Lập trình ESP32 (2/8): GPIO digital, nút bấm & chống dội (debounce)
GPIO ESP32: digitalRead/Write, nút bấm pull-up nội, toggle LED, debounce phần mềm — nền tảng đọc cảm biến digital.
Đọc tiếp →Lập trình ESP32 (3/8): PWM — LED fade & điều khiển servo SG90
LEDC PWM trên ESP32, fade LED mượt, thư viện ESP32Servo — điều khiển góc servo 0–180°.
Đọc tiếp →Startup của bạn cần tech partner?
Trao đổi miễn phí về MVP, timeline và mô hình chia lợi nhuận phù hợp.