Delete Kode ESP32 Client

This commit is contained in:
Wildan_Abbrhory 2025-07-23 09:38:14 +07:00
parent 33400d9049
commit 40f20f2d40
1 changed files with 0 additions and 141 deletions

View File

@ -1,141 +0,0 @@
#include <SPI.h>
#include <LoRa.h>
#include <DHT.h>
#define LORA_SS 5
#define LORA_RST 14
#define LORA_DIO0 2
#define RELAY_PIN 27
#define FIRE_SENSOR_PIN 33
#define MQ2_SENSOR_PIN 26
#define DHTPIN 4
#define DHTTYPE DHT11
#define SOIL_SENSOR_PIN 25
DHT dht(DHTPIN, DHTTYPE);
bool pengirimanAktif = true;
bool relayAktifKarenaKebakaran = false;
int lastRelayState = LOW;
unsigned long lastSendTime = 0;
const unsigned long interval = 1000;
void setup() {
delay(3000);
Serial.begin(115200);
while (!Serial)
;
Serial.println("Memulai setup...");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
Serial.println("Relay diset LOW");
pinMode(FIRE_SENSOR_PIN, INPUT);
pinMode(MQ2_SENSOR_PIN, INPUT);
dht.begin();
LoRa.setPins(LORA_SS, LORA_RST, LORA_DIO0);
delay(1000);
if (!LoRa.begin(433E6)) {
Serial.println("Gagal memulai LoRa");
while (1)
;
}
Serial.println("LoRa siap mengirim");
}
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
cmd.trim();
if (cmd == "pause") {
pengirimanAktif = false;
Serial.println("Pengiriman LoRa dihentikan");
} else if (cmd == "resume") {
pengirimanAktif = true;
Serial.println("Pengiriman LoRa dilanjutkan");
}
}
int fireDigital = digitalRead(FIRE_SENSOR_PIN);
int asapDigital = digitalRead(MQ2_SENSOR_PIN);
float suhuC = dht.readTemperature();
int soilRaw = analogRead(SOIL_SENSOR_PIN);
int kelembabanTanah = map(soilRaw, 1949, 4095, 100, 0);
kelembabanTanah = constrain(kelembabanTanah, 0, 100);
String statusApi = (fireDigital == LOW) ? "iya" : "tidak";
String statusAsap = (asapDigital == LOW) ? "iya" : "tidak";
bool suhuTinggi = suhuC > 40.0;
String statusKebakaran = "tidak";
if (fireDigital == LOW && asapDigital == LOW && suhuTinggi) {
statusKebakaran = "iya";
} else {
statusKebakaran = "tidak";
}
Serial.println("Sensor:");
Serial.println(" - Api: " + String(fireDigital == LOW ? "iya" : "tidak"));
Serial.println(" - Asap: " + String(asapDigital == LOW ? "iya" : "tidak"));
Serial.println(" - Suhu: " + String(suhuC, 1) + "C");
Serial.println(" - Tanah: " + String(kelembabanTanah) + "%");
if (statusKebakaran == "iya") {
digitalWrite(RELAY_PIN, HIGH);
relayAktifKarenaKebakaran = true;
Serial.println("Kebakaran terdeteksi! Relay ON");
} else if (relayAktifKarenaKebakaran && fireDigital == HIGH) {
Serial.println("Api padam");
delay(300);
digitalWrite(RELAY_PIN, LOW);
relayAktifKarenaKebakaran = false;
Serial.println("Relay dimatikan otomatis setelah api padam");
} else {
digitalWrite(RELAY_PIN, LOW);
relayAktifKarenaKebakaran = false;
Serial.println("Kondisi aman - Relay OFF");
}
if (millis() - lastSendTime > interval) {
lastSendTime = millis();
String apiStr = (fireDigital == LOW ? "iya" : "tidak");
String asapStr = (asapDigital == LOW ? "iya" : "tidak");
String suhuStr = isnan(suhuC) ? "nanC" : String(suhuC, 1) + "C";
String tanahStr = String(kelembabanTanah) + "%";
String relayStr = (digitalRead(RELAY_PIN) ? "ON" : "OFF");
String data = "api:" + apiStr + ",asap:" + asapStr + ",suhu:" + suhuStr + ",tanah:" + tanahStr + ",relay:" + relayStr;
String statusGabungan = "Status: " + statusApi + " - Relay " + relayStr;
if (pengirimanAktif) {
kirimLoRa(data);
delay(1000),
kirimLoRa(statusGabungan);
delay(1000);
Serial.println("Data dikirim:\n" + data);
Serial.println("Status dikirim:\n" + statusGabungan);
}
}
if (pengirimanAktif) {
kirimLoRa("kebakaran:" + statusKebakaran);
delay(300);
Serial.println("Status kebakaran dikirim: kebakaran:" + statusKebakaran);
}
delay(400);
}
void kirimLoRa(String pesan) {
Serial.println("LoRa kirim:\n" + pesan);
LoRa.beginPacket();
LoRa.print(pesan);
LoRa.endPacket();
delay(100);
}