🧾 ماموریت ۹۱: API با JSON
با ArduinoJson یه JsonDocument بساز، کلیدها را پر کن، serializeJson کن و با نوع application/json بفرست.
سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد
هدفها
- ☐ یه برد (آردوینو یا ESP32) روی صحنه باشه
- ☐ یه ESP32 روی صحنه باشه
- ☐ کتابخانهی ArduinoJson
- ☐ JSON ساخته بشه
- ☐ با نوع درست فرستاده بشه
- ☐ شبیهسازی در حال اجرا
قطعههای لازم
- ESP32 DevKit
- پتانسیومتر
💡 گیر کردی؟ داخل شبیهساز راهنما را ببین، و اگر باز هم نشد دکمهی «برام حلش کن» مدار را برایت میچیند تا ببینی چطور کار میکند.
جواب کامل
اول خودت امتحان کن! بعد جواب را ببین 👀
سیمکشی
- ESP32 DevKit (VCC33) ⟷ پتانسیومتر (VCC)
- ESP32 DevKit (D34) ⟷ پتانسیومتر (WIPER)
- پتانسیومتر (GND) ⟷ ESP32 DevKit (GND1)
کد
// ESP32 JSON API: GET /api/status answers {"pot":..,"uptime":..}
#include <WiFi.h>
#include <WebServer.h>
#include <ArduinoJson.h>
WebServer server(80);
const int POT = 34;
void setup() {
Serial.begin(115200);
WiFi.begin("MyHome", "12345678");
while (WiFi.status() != WL_CONNECTED) delay(200);
Serial.println(WiFi.localIP());
server.on("/api/status", []() {
JsonDocument doc;
doc["pot"] = analogRead(POT);
doc["uptime"] = millis() / 1000;
String out;
serializeJson(doc, out);
server.send(200, "application/json", out);
});
server.begin();
}
void loop() {
server.handleClient();
}
ماموریتهای مشابه
📊
ماموریت ۹۰: صفحهی وب با مقدار سنسور
⚡
ماموریت ۹۲: مقدار زنده با WebSocket
🌐
ماموریت ۸۹: کلید LED در صفحهی وب
📡
ماموریت ۹۳: انتشار با MQTT
📚 برای یاد گرفتن پایهها سری به دورهی آموزش آردوینو بزن · 🎯 همهی ماموریتها