#include <DHT.h>
#include <WiFi.h>
#include <ThingsBoard.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define WIFI_AP "Wokwi-GUEST"
#define WIFI_PASS ""
#define TB_SERVER "thingsboard.cloud"
#define TOKEN "DIISI TOKEN THINGSBOARDMU"
WiFiClient Client1;
ThingsBoard tb(Client1); //ERROR DISINI GATAU KENAPA
#define POT_PIN 34
#define LED_PIN 25
#define RELAY_PIN 33
#define BUZZER_PIN 26
const int gasThreshold = 100; // Sesuaikan threshold sesuai kebutuhan
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(POT_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
initWifi();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
int gasValue = analogRead(POT_PIN);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t");
Serial.print("Gas Value: ");
Serial.println(gasValue);
if (gasValue > gasThreshold) {
digitalWrite(RELAY_PIN, HIGH); // Mengaktifkan ventilasi
digitalWrite(BUZZER_PIN, HIGH); // Mengaktifkan alarm
digitalWrite(LED_PIN, HIGH); // Mengaktifkan lampu alaram
} else {
digitalWrite(RELAY_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_PIN, LOW);
}
delay(2000);
if (!tb.connected()){
Serial.println("Menghubungkan ke server");
if (!tb.connect(TB_SERVER, TOKEN)){
Serial.println("Gagal terhubung ke server");
return;
}
} else {
Serial.println("Terhubung ke server");
}
}
void initWifi(){
Serial.println("Menghubungkan..");
while (WiFi.status() != WL_CONNECTED){
WiFi.begin(WIFI_AP, WIFI_PASS,6);
Serial.print(".");
delay(400);
}
Serial.println("Terhubung");
}