void setupWiFi() { Serial.println("\n--- Menghubungkan ke WiFi ---"); WiFi.begin(ssid, password); int timeout_counter = 0; while (WiFi.status() != WL_CONNECTED && timeout_counter < 30) { delay(500); Serial.print("."); timeout_counter++; } if (WiFi.status() == WL_CONNECTED) { Serial.println("\n[OK] WiFi Terhubung!"); Serial.print("IP Address: "); Serial.println(WiFi.localIP()); } else { Serial.println("\n[GAGAL] WiFi tidak ditemukan/gagal konek."); } } void kirimKeServerWiFi() { if (WiFi.status() != WL_CONNECTED) { Serial.println("[ERROR] Gagal kirim via WiFi: Tidak terhubung ke jaringan."); return; } Serial.println("\n--- PROSES KIRIM DATA VIA WIFI ---"); String payload = "{\"elevasi_air\":" + String(ketinggian_air) + ",\"prediksi\":" + String(hasil_prediksi, 2) + ",\"lat\":" + String(lat, 6) + ",\"lon\":" + String(lon, 6) + "}"; HTTPClient http; String url = "http://" + IP_VPS + "/update-sensor"; http.begin(url); http.addHeader("Content-Type", "application/json"); int httpResponseCode = http.POST(payload); if (httpResponseCode > 0) { String response = http.getString(); Serial.print("HTTP Response code WiFi: "); Serial.println(httpResponseCode); Serial.print("Respons Server: "); Serial.println(response); } else { Serial.print("Error saat mengirim POST via WiFi: "); Serial.println(httpResponseCode); } http.end(); }