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,6 +267,8 @@ void insertKondisiTapai() {
// melakukan cek kematangan // melakukan cek kematangan
void cekKematangan() { void cekKematangan() {
// jika sudah lebih dari 3 * 6 jam (18 jam)
if (dataPengujian.length() > 3) {
if (persentaseKadarGas >= 5.28) { if (persentaseKadarGas >= 5.28) {
status = "Matang"; status = "Matang";
@ -265,6 +291,7 @@ void cekKematangan() {
pengujian = true; pengujian = true;
} }
} }
}
// mengecek kegagalan // mengecek kegagalan
void cekKegagalan() { void cekKegagalan() {

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,6 +269,8 @@ float getPersentaseKadarGas(float voltase) {
// // melakukan cek kematangan // // melakukan cek kematangan
// void cekKematangan() { // void cekKematangan() {
// // jika sudah lebih dari 3 * 6 jam (18 jam)
// if (dataPengujian.length() > 3) {
// if (persentaseKadarGas >= 5.28) { // if (persentaseKadarGas >= 5.28) {
// status = "Matang"; // status = "Matang";
@ -267,6 +293,7 @@ float getPersentaseKadarGas(float voltase) {
// pengujian = true; // pengujian = true;
// } // }
// } // }
// }
// // mengecek kegagalan // // mengecek kegagalan
// void cekKegagalan() { // void cekKegagalan() {

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 (