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; float kadarGasVoltase;
String status = "Menunggu"; String status = "Menunggu";
JSONVar dataPengujian; JSONVar dataPengujian;
JSONVar pengaturan;
void setup(){ void setup(){
pinMode(MQPIN, INPUT); pinMode(MQPIN, INPUT);
@ -81,8 +82,27 @@ void setup(){
} }
void loop(){ void loop(){
getPengaturan();
timeClient.update(); 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 // mendapatkan nilai kadar gas
float kadarGas = getKadarGas(); float kadarGas = getKadarGas();
kadarGasVoltase = kadarGas / 4095.0 * 3.3; kadarGasVoltase = kadarGas / 4095.0 * 3.3;
@ -205,9 +225,13 @@ float getPersentaseKadarGas(float voltase) {
return hasil; 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) { 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 web_url = pengaturan[0]["web_url"];
String text; String text;
@ -243,26 +267,29 @@ void insertKondisiTapai() {
// melakukan cek kematangan // melakukan cek kematangan
void cekKematangan() { void cekKematangan() {
if (persentaseKadarGas >= 5.28) { // jika sudah lebih dari 3 * 6 jam (18 jam)
status = "Matang"; 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 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 dataAkhirJson = db.from("kondisi_tapai").select("*").order("created_time", "desc", true).limit(1).doSelect();
JSONVar dataAwal = JSON.parse(dataAwalJson); JSONVar dataAwal = JSON.parse(dataAwalJson);
JSONVar dataAkhir = JSON.parse(dataAkhirJson); JSONVar dataAkhir = JSON.parse(dataAkhirJson);
JSONVar req; JSONVar req;
req["berhasil"] = true; req["berhasil"] = true;
req["waktu_awal"] = (int) dataAwal[0]["created_time"]; req["waktu_awal"] = (int) dataAwal[0]["created_time"];
req["waktu_akhir"] = (int) dataAkhir[0]["created_time"]; req["waktu_akhir"] = (int) dataAkhir[0]["created_time"];
String json = JSON.stringify(req); String json = JSON.stringify(req);
callUser(true); callUser(true);
db.insert("histori_fermentasi", json, false); db.insert("histori_fermentasi", json, false);
pengujian = true; pengujian = true;
}
} }
} }

View File

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

View File

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