#include #include #include #include // Wi-Fi bilgileri const char* ssid = "WIFI"; const char* password = "WIFI"; INA3221 ina3221(INA3221_ADDR40_GND); AsyncWebServer server(80); // Fonksiyonların bildirimi String getDataJSON(); void setup() { Serial.begin(115200); // I2C pinlerini D1 ve D2 olarak ayarla Wire.begin(D1, D2); // INA3221 başlatma ina3221.begin(&Wire); // WiFi Bağlantısı WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("WiFi bağlanıyor..."); } Serial.println("WiFi bağlantısı başarılı!"); // Web sayfası işleyicisi server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) { String html = R"rawliteral( DC Elektrik Üretimi / Veri Monitörü

DC Elektrik Üretimi / Veri Monitörü

)rawliteral"; request->send(200, "text/html", html); }); // Veri sağlayıcı server.on("/data", HTTP_GET, [](AsyncWebServerRequest *request) { request->send(200, "application/json", getDataJSON()); }); server.begin(); } void loop() { // Boş bırakıldı, async sunucu kullanıyoruz. } String getDataJSON() { String json = "{ \"current\": ["; for (ina3221_ch_t i = INA3221_CH1; i <= INA3221_CH3; i = static_cast(i + 1)) { json += String(ina3221.getCurrent(i), 2); if (i != INA3221_CH3) json += ", "; } json += "], \"voltage\": ["; for (ina3221_ch_t i = INA3221_CH1; i <= INA3221_CH3; i = static_cast(i + 1)) { json += String(ina3221.getVoltage(i), 2); if (i != INA3221_CH3) json += ", "; } json += "] }"; return json; }