(DHT11) sensor with Smart Relay integrated Telegram App

DHT11 sensor uses ESP 32 to read temperature and humidity data, display dht11 sensor data and control smart relay in Telegram App

BeginnerFull instructions provided278
(DHT11) sensor with Smart Relay integrated Telegram App

Things used in this project

Hardware components

ESP32S
Espressif ESP32S
×1
DHT11 Temperature & Humidity Sensor (3 pins)
DHT11 Temperature & Humidity Sensor (3 pins)
×1
Relay (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Project board
×1

Software apps and online services

Arduino IDE
Arduino IDE
Telegram App

Story

Read more

Schematics

dht11relay_6lqj9KlTvg.jpeg

Code

Untitled file

Arduino
#include "CTBot.h"
#include "DHT.h"

#define DHTPIN 14      // Mendefinisikan pin yang digunakan untuk sensor DHT11 (pin 4)
#define DHTTYPE DHT11 // Mendefinisikan tipe sensor DHT (DHT11)

const int LED_PIN = 2; // Ganti dengan pin GPIO tempat Anda menghubungkan relay


DHT dht(DHTPIN, DHTTYPE); // Inisialisasi objek DHT

CTBot myBot;

String ssid = "vivo 5G";
String pass = "tidakada";
String token = "6550686848:AAGJKkVjXViIoRS6MCUDyavkRS8TZ379bj0";
const int telegramChatId = 1426323376;

void setup() {
  Serial.begin(115200);
  Serial.println("Read DHT11 TelegramBot");
  dht.begin();
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  delay(500);

  if (myBot.wifiConnect(ssid, pass)) {
    Serial.println("\nOk wifi");
  } else {
    Serial.println("\nnot Ok wifi");
  }

  myBot.setTelegramToken(token);

  if (myBot.testConnection()) {
    Serial.println("\ntestConnection OK");
  } else {
    Serial.println("\ntestConnection NOK");
  }
}

void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  TBMessage msg;
  Serial.println(t);
  Serial.println(h);

  if (myBot.getNewMessage(msg)) {
    if (msg.text.equalsIgnoreCase("CHECK TEMP")) {
            myBot.sendMessage(msg.sender.id, "Temperature: " + String(t) + "C") ;
    } else if (msg.text.equalsIgnoreCase("CHECK HUM")) {
            myBot.sendMessage(msg.sender.id, "Humidity: " + String(h) + "%");
    } else {
      String reply = "Welcome " + msg.sender.username + ". Try READ TEMP or READ HUM.";
      myBot.sendMessage(msg.sender.id, reply);
    }
  }

  delay(500);
  // Mengaktifkan relay jika suhu melebihi 30 °C
  if (t > 30 ) {
    activateLED();
    sendRelayActivationMessage();
  } else if (t  <= 30) {
    deactivateLED();
  }

  // Menunggu beberapa detik sebelum membaca sensor lagi
  delay(500);
}
void activateLED() {
  digitalWrite(LED_PIN, HIGH);
}

void deactivateLED() {
  digitalWrite(LED_PIN, LOW);
}

void sendRelayActivationMessage() {
  // Mengirim pesan ke bot Telegram bahwa relay telah diaktifkan
  String message = "Relay telah diaktifkan karena suhu melebihi 30 °C.";
  myBot.sendMessage(telegramChatId, message);
}

Credits

H43210361 Muhamad Rendi Adi Saputro
1 project • 0 followers
Contact
H43211632 Ahmad Khoiruddin Ilhami
1 project • 0 followers
Contact

Comments

Please log in or sign up to comment.