TKK_E32230540/kode program alat/komunikasi.ino

52 lines
1.5 KiB
C++

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();
}