add wifimanager

This commit is contained in:
Muhammad Izza Alfiansyah 2024-05-27 12:20:46 +07:00
parent b72b92b57c
commit b88bd5e7d2
1 changed files with 31 additions and 46 deletions

View File

@ -427,8 +427,7 @@ void insertKondisiTapai() {
} }
} }
// melakukan cek kematangan int getLamaJamFermentasi() {
void cekKematangan() {
JSONVar dataPengujianAwal = dataPengujian[0]; JSONVar dataPengujianAwal = dataPengujian[0];
int epochTimeAwal = (int) dataPengujianAwal["created_time"]; int epochTimeAwal = (int) dataPengujianAwal["created_time"];
int epochTimeSekarang = timeClient.getEpochTime(); int epochTimeSekarang = timeClient.getEpochTime();
@ -436,41 +435,46 @@ void cekKematangan() {
int epochTimeDiff = epochTimeSekarang - epochTimeAwal; int epochTimeDiff = epochTimeSekarang - epochTimeAwal;
int lamaJam = epochTimeDiff / 3600; int lamaJam = epochTimeDiff / 3600;
return lamaJam;
}
void insertHistory(bool berhasil = true) {
String dataAwalJson = db.from("kondisi_tapai").select("*").order("created_time", "asc", true).limit(1).doSelect();
String dataAkhirJson = db.from("kondisi_tapai").select("*").order("created_time", "desc", true).limit(1).doSelect();
JSONVar dataAwal = JSON.parse(dataAwalJson);
JSONVar dataAkhir = JSON.parse(dataAkhirJson);
JSONVar req;
req["berhasil"] = berhasil;
req["waktu_awal"] = (int) dataAwal[0]["created_time"];
req["waktu_akhir"] = (int) dataAkhir[0]["created_time"];
String json = JSON.stringify(req);
callUser(true);
db.insert("histori_fermentasi", json, false);
pengujian = true;
}
// melakukan cek kematangan
void cekKematangan() {
int lamaJam = getLamaJamFermentasi();
// jika sudah lebih dari 24 jam // jika sudah lebih dari 24 jam
if (lamaJam > 24) { if (lamaJam > 24) {
if (persentaseKadarGas >= 5.28 || lamaJam > 72) { if (persentaseKadarGas >= 5.28 || lamaJam > 72) {
status = "Matang"; status = "Matang";
insertHistory(true);
String dataAwalJson = db.from("kondisi_tapai").select("*").order("created_time", "asc", true).limit(1).doSelect();
String dataAkhirJson = db.from("kondisi_tapai").select("*").order("created_time", "desc", true).limit(1).doSelect();
JSONVar dataAwal = JSON.parse(dataAwalJson);
JSONVar dataAkhir = JSON.parse(dataAkhirJson);
JSONVar req;
req["berhasil"] = true;
req["waktu_awal"] = (int) dataAwal[0]["created_time"];
req["waktu_akhir"] = (int) dataAkhir[0]["created_time"];
String json = JSON.stringify(req);
callUser(true);
db.insert("histori_fermentasi", json, false);
pengujian = true;
} }
} }
} }
// mengecek kegagalan // mengecek kegagalan
void cekKegagalan() { void cekKegagalan() {
JSONVar dataPengujianAwal = dataPengujian[0]; int lamaJam = getLamaJamFermentasi();
int epochTimeAwal = (int) dataPengujianAwal["created_time"];
int epochTimeSekarang = timeClient.getEpochTime();
int epochTimeDiff = epochTimeSekarang - epochTimeAwal;
int lamaJam = epochTimeDiff / 3600;
float regresiKadarGas = 0.0025 * pow(lamaJam, 2.0) - 0.0397 * lamaJam - 0.1222; float regresiKadarGas = 0.0025 * pow(lamaJam, 2.0) - 0.0397 * lamaJam - 0.1222;
float nilaiPerempat = regresiKadarGas / 4.0; float nilaiPerempat = regresiKadarGas / 4.0;
@ -480,28 +484,9 @@ void cekKegagalan() {
// if (persentaseKadarGas > (regresiKadarGas + nilaiPerempat) || persentaseKadarGas < (regresiKadarGas - nilaiPerempat)) { // if (persentaseKadarGas > (regresiKadarGas + nilaiPerempat) || persentaseKadarGas < (regresiKadarGas - nilaiPerempat)) {
if (persentaseKadarGas < (regresiKadarGas - nilaiPerempat)) { if (persentaseKadarGas < (regresiKadarGas - nilaiPerempat)) {
status = "Gagal"; status = "Gagal";
insertHistory(false);
} }
} }
if (status == "Gagal") {
String dataAwalJson = db.from("kondisi_tapai").select("*").order("created_time", "asc", true).limit(1).doSelect();
String dataAkhirJson = db.from("kondisi_tapai").select("*").order("created_time", "desc", true).limit(1).doSelect();
JSONVar dataAwal = JSON.parse(dataAwalJson);
JSONVar dataAkhir = JSON.parse(dataAkhirJson);
JSONVar req;
req["berhasil"] = false;
req["waktu_awal"] = (int) dataAwal[0]["created_time"];
req["waktu_akhir"] = (int) dataAkhir[0]["created_time"];
String json = JSON.stringify(req);
callUser(false);
db.insert("histori_fermentasi", json, false);
pengujian = true;
}
} }
// mengambil data pengujian // mengambil data pengujian