Merancang Bot Pemantau Suhu dan Kelembaban Ruangan Berbasis ESP32 dengan Notifikasi Telegram

3 min read 23-08-2024
Merancang Bot Pemantau Suhu dan Kelembaban Ruangan Berbasis ESP32 dengan Notifikasi Telegram

Pendahuluan

Dalam era teknologi yang semakin berkembang, pemantauan kondisi lingkungan menjadi hal yang penting, terutama di dalam ruangan seperti rumah, kantor, atau laboratorium. Salah satu cara yang efektif untuk memantau suhu dan kelembaban adalah dengan menggunakan perangkat berbasis Internet of Things (IoT). Pada artikel ini, kita akan membahas cara merancang Bot Pemantau Suhu dan Kelembaban Ruangan berbasis ESP32 dengan sistem notifikasi melalui Telegram.

Apa Itu ESP32?

ESP32 adalah sebuah modul mikrokontroler yang dilengkapi dengan Wi-Fi dan Bluetooth, yang banyak digunakan dalam proyek-proyek IoT. Dengan kemampuannya untuk terhubung ke internet, ESP32 dapat digunakan untuk berbagai aplikasi, termasuk pemantauan suhu dan kelembaban. Dengan menggunakan ESP32, Anda dapat membuat sistem yang tidak hanya mengukur suhu dan kelembaban, tetapi juga mengirimkan data tersebut ke aplikasi Telegram untuk notifikasi real-time.

Alat dan Bahan yang Dibutuhkan

Sebelum memulai, ada beberapa alat dan bahan yang perlu disiapkan:

  1. ESP32 Development Board: Sebagai otak dari sistem pemantau.
  2. Sensor Suhu dan Kelembaban DHT22 atau DHT11: Untuk mengukur suhu dan kelembaban.
  3. Breadboard dan Kabel Jumper: Untuk menyambungkan komponen.
  4. Sumber Daya: Power bank atau adaptor USB untuk memberikan daya pada ESP32.
  5. Aplikasi Telegram: Untuk menerima notifikasi.
  6. Kabel Micro USB: Untuk menghubungkan ESP32 ke komputer saat memprogram.

Langkah-langkah Merancang Bot Pemantau

1. Menyambungkan Perangkat

Pertama, sambungkan sensor DHT22 atau DHT11 ke ESP32. Berikut adalah skema sambungannya:

  • DHT22/DHT11 Pin VCC ke 5V ESP32
  • DHT22/DHT11 Pin GND ke GND ESP32
  • DHT22/DHT11 Pin Data ke GPIO 23 ESP32

2. Menginstall Library Diperlukan

Sebelum memprogram, Anda perlu menginstall library yang dibutuhkan dalam Arduino IDE:

  1. Buka Arduino IDE.
  2. Pilih Sketch > Include Library > Manage Libraries.
  3. Cari dan install DHT sensor library oleh Adafruit.
  4. Install juga Universal Telegram Bot library dengan cara yang sama.

3. Menyiapkan Bot Telegram

Selanjutnya, kita perlu membuat bot di Telegram untuk mengirimkan notifikasi:

  1. Buka aplikasi Telegram.
  2. Cari BotFather dan mulai percakapan.
  3. Gunakan perintah /newbot untuk membuat bot baru. Ikuti instruksi untuk memberi nama dan username pada bot.
  4. Setelah selesai, BotFather akan memberikan token API. Simpan token ini karena kita akan menggunakannya dalam program.

4. Menulis Program

Berikut adalah contoh kode yang dapat Anda gunakan untuk memprogram ESP32 dalam Arduino IDE:

#include <WiFi.h>
#include <DHT.h>
#include <UniversalTelegramBot.h>

// Ganti dengan token Bot Telegram Anda
#define BOT_TOKEN "YOUR_BOT_TOKEN"
// Ganti dengan ID Chat Anda
#define CHAT_ID "YOUR_CHAT_ID"

// Ganti dengan SSID dan Password WiFi Anda
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

#define DHTPIN 23     
#define DHTTYPE DHT22   

DHT dht(DHTPIN, DHTTYPE);
WiFiClient client;
UniversalTelegramBot bot(BOT_TOKEN, client);

void setup() {
    Serial.begin(115200);
    dht.begin();

    // Connect to Wi-Fi
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
    }
    Serial.println("Connected to WiFi");
}

void loop() {
    float h = dht.readHumidity();
    float t = dht.readTemperature();

    if (isnan(h) || isnan(t)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
    }

    String message = "Suhu: " + String(t) + " °C\nKelembaban: " + String(h) + " %";
    Serial.println(message);

    // Kirim pesan ke Telegram
    bot.sendMessage(CHAT_ID, message, "");

    delay(60000); // Kirim data setiap 60 detik
}

5. Menjalankan Program

Setelah menulis kode, sambungkan ESP32 ke komputer, pilih board dan port yang sesuai di Arduino IDE, lalu upload program tersebut. Setelah upload selesai, ESP32 akan terhubung dengan Wi-Fi dan mulai mengukur suhu serta kelembaban.

6. Menguji Sistem

Setelah sistem terpasang dan program berjalan, Anda akan menerima notifikasi suhu dan kelembaban di aplikasi Telegram setiap menit. Anda dapat memantau kondisi lingkungan dengan mudah melalui notifikasi yang diterima.

Kesimpulan

Dengan merancang bot pemantau suhu dan kelembaban berbasis ESP32 dan notifikasi Telegram, Anda tidak hanya dapat memonitor kondisi lingkungan secara real-time, tetapi juga mengambil langkah-langkah preventif jika terjadi perubahan yang tidak diinginkan. Proyek ini adalah contoh nyata dari penerapan teknologi IoT yang dapat dimanfaatkan dalam kehidupan sehari-hari.

Dengan pengembangan lebih lanjut, Anda juga dapat menambahkan fitur lain, seperti pengendalian perangkat lain berdasarkan suhu dan kelembaban, penyimpanan data dalam database, atau bahkan menghubungkannya dengan aplikasi lainnya. Selamat berkreasi!