add checking system running or not

This commit is contained in:
Muhammad Izza Alfiansyah 2024-05-11 12:54:33 +07:00
parent d691fd5770
commit 5d2c845a26
3 changed files with 92 additions and 38 deletions

View File

@ -34,6 +34,7 @@ bool pengujian;
float kadarGasVoltase;
String status = "Menunggu";
JSONVar dataPengujian;
JSONVar pengaturan;
void setup(){
pinMode(MQPIN, INPUT);
@ -81,8 +82,27 @@ void setup(){
}
void loop(){
getPengaturan();
timeClient.update();
bool running = (bool) pengaturan[0]["running"];
if (running) {
runFermentasi();
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Aku siap!");
delay(1000);
lcd.clear();
lcd.setCursor(7, 1);
lcd.print("Aku siap!");
delay(1000);
}
}
void runFermentasi() {
// mendapatkan nilai kadar gas
float kadarGas = getKadarGas();
kadarGasVoltase = kadarGas / 4095.0 * 3.3;
@ -205,9 +225,13 @@ float getPersentaseKadarGas(float voltase) {
return hasil;
}
void getPengaturan() {
String dataJson = db.from("pengaturan").select("*").limit(1).doSelect();
JSONVar data = JSON.parse(dataJson);
pengaturan = data;
}
void callUser(bool matang = true) {
String pengaturanJson = db.from("pengaturan").select("*").limit(1).doSelect();
JSONVar pengaturan = JSON.parse(pengaturanJson);
String web_url = pengaturan[0]["web_url"];
String text;
@ -243,26 +267,29 @@ void insertKondisiTapai() {
// melakukan cek kematangan
void cekKematangan() {
if (persentaseKadarGas >= 5.28) {
status = "Matang";
// jika sudah lebih dari 3 * 6 jam (18 jam)
if (dataPengujian.length() > 3) {
if (persentaseKadarGas >= 5.28) {
status = "Matang";
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();
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 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"];
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);
String json = JSON.stringify(req);
callUser(true);
db.insert("histori_fermentasi", json, false);
callUser(true);
db.insert("histori_fermentasi", json, false);
pengujian = true;
pengujian = true;
}
}
}

View File

@ -2,8 +2,8 @@
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// #include <WiFi.h>
#include <Arduino_JSON.h>
#include <assert.h>
// #include <Arduino_JSON.h>
// #include <assert.h>
// #include <NTPClient.h>
// #include <WiFiUdp.h>
// #include <Callmebot_ESP32.h>
@ -33,7 +33,8 @@ float persentaseKadarGas;
bool pengujian;
float kadarGasVoltase;
String status = "Menunggu";
JSONVar dataPengujian;
// JSONVar dataPengujian;
// JSONVar pengaturan;
void setup(){
pinMode(MQPIN, INPUT);
@ -74,15 +75,34 @@ void setup(){
// inisialisasi waktu
// timeClient.begin();
// inisialisasi supabase
// // inisialisasi supabase
// db.begin(SUPABASE_URL, SUPABASE_ANON_KEY);
// getDataPengujian();
}
void loop(){
// getPengaturan();
// timeClient.update();
// bool running = (bool) pengaturan[0]["running"];
// if (running) {
runFermentasi();
// } else {
// lcd.clear();
// lcd.setCursor(0, 0);
// lcd.print("Aku siap!");
// delay(1000);
// lcd.clear();
// lcd.setCursor(7, 1);
// lcd.print("Aku siap!");
// delay(1000);
// }
}
void runFermentasi() {
// mendapatkan nilai kadar gas
float kadarGas = getKadarGas();
kadarGasVoltase = kadarGas / 4095.0 * 3.3;
@ -207,9 +227,13 @@ float getPersentaseKadarGas(float voltase) {
return hasil;
}
// void getPengaturan() {
// String dataJson = db.from("pengaturan").select("*").limit(1).doSelect();
// JSONVar data = JSON.parse(dataJson);
// pengaturan = data;
// }
// void callUser(bool matang = true) {
// String pengaturanJson = db.from("pengaturan").select("*").limit(1).doSelect();
// JSONVar pengaturan = JSON.parse(pengaturanJson);
// String web_url = pengaturan[0]["web_url"];
// String text;
@ -245,26 +269,29 @@ float getPersentaseKadarGas(float voltase) {
// // melakukan cek kematangan
// void cekKematangan() {
// if (persentaseKadarGas >= 5.28) {
// status = "Matang";
// // jika sudah lebih dari 3 * 6 jam (18 jam)
// if (dataPengujian.length() > 3) {
// if (persentaseKadarGas >= 5.28) {
// status = "Matang";
// 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();
// 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 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"];
// 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);
// String json = JSON.stringify(req);
// callUser(true);
// db.insert("histori_fermentasi", json, false);
// callUser(true);
// db.insert("histori_fermentasi", json, false);
// pengujian = true;
// pengujian = true;
// }
// }
// }

View File

@ -123,6 +123,7 @@ export default function (props: JSX.HTMLAttributes<HTMLDivElement>) {
}
} else {
setCanNavigate(true);
await checkStatusDevice();
}
}
};
@ -132,9 +133,8 @@ export default function (props: JSX.HTMLAttributes<HTMLDivElement>) {
};
onMount(async () => {
await checkPengaturan();
await getLastHistori();
await checkStatusDevice();
await checkPengaturan();
});
return (