Membangun Bot Pemantau Suhu dan Kelembaban Berbasis ESP32 dengan Notifikasi Telegram

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

Pendahuluan

Saat ini, teknologi Internet of Things (IoT) semakin berkembang pesat. Salah satu aplikasi menarik dari teknologi ini adalah pemantauan suhu dan kelembaban secara real-time. Dalam artikel ini, kita akan membahas cara membangun bot pemantau suhu dan kelembaban berbasis ESP32 yang terintegrasi dengan notifikasi Telegram. Dengan proyek ini, pengguna dapat mendapatkan informasi suhu dan kelembaban dengan mudah langsung ke ponsel mereka.

Alat dan Bahan yang Diperlukan

Sebelum kita mulai, berikut adalah alat dan bahan yang diperlukan untuk membangun proyek ini:

  1. ESP32 - Mikrokontroler dengan kemampuan Wi-Fi dan Bluetooth.
  2. Sensor DHT11/DHT22 - Sensor untuk mengukur suhu dan kelembaban.
  3. Breadboard dan Jumper Wire - Untuk penyambungan komponen.
  4. Koneksi Internet - Untuk menghubungkan ESP32 ke jaringan Wi-Fi.
  5. Aplikasi Telegram - Sebagai media notifikasi.
  6. Arduino IDE - Untuk pemrograman ESP32.

Persiapan Awal

1. Instalasi Arduino IDE

Pastikan Anda telah menginstal Arduino IDE di komputer Anda. Anda juga perlu menginstal board ESP32 melalui board manager.

  • Buka Arduino IDE.

  • Pergi ke File -> Preferences.

  • Tambahkan URL berikut ke dalam "Additional Board Manager URLs":

    https://dl.espressif.com/dl/package_esp32_index.json
    
  • Pergi ke Tools -> Board -> Board Manager dan cari esp32, lalu instal.

2. Setup Telegram

Untuk mengirim notifikasi melalui Telegram, Anda perlu membuat Bot di Telegram dengan mengikuti langkah-langkah berikut:

  • Cari BotFather di aplikasi Telegram.
  • Kirim pesan /newbot dan ikuti instruksinya untuk membuat bot baru.
  • Setelah selesai, Anda akan mendapatkan token API. Simpan token ini, karena akan digunakan dalam kode program.

Anda juga perlu mendapatkan Chat ID. Anda bisa menggunakan bot lain seperti userinfobot untuk mendapatkan chat ID Anda.

Skema Koneksi

Berikut adalah skema dasar untuk menghubungkan sensor dengan ESP32:

  • Sensor DHT11/DHT22:
    • VCC -> 3.3V di ESP32
    • GND -> GND di ESP32
    • DATA -> Pin digital (misalnya, pin 21)

Membuat Program

Sekarang saatnya menulis kode untuk ESP32. Berikut adalah contoh kode yang bisa Anda gunakan:

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

// Ganti dengan informasi jaringan Anda
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

// Ganti dengan token akses bot dan chat ID Anda
#define BOT_TOKEN "YOUR_BOT_TOKEN"
#define CHAT_ID "YOUR_CHAT_ID"

// Inisialisasi sensor
#define DHTPIN 21 // Pin yang digunakan untuk sensor
#define DHTTYPE DHT11 // DHT11 atau DHT22

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

// Fungsi untuk menghubungkan ESP32 ke Wi-Fi
void setupWiFi() {
    Serial.print("Menghubungkan ke WiFi...");
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    Serial.println("Terhubung ke WiFi");
}

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

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

    if (isnan(h) || isnan(t)) {
        Serial.println("Gagal membaca dari sensor DHT!");
        return;
    }

    String message = "Suhu: " + String(t) + " °C\nKelembaban: " + String(h) + " %";
    bot.sendMessage(CHAT_ID, message, "");

    delay(60000); // Mengatur interval pengiriman data (60 detik)
}

Penjelasan Kode

  1. Library yang Digunakan:

    • WiFi.h: Untuk koneksi internet.
    • DHT.h: Untuk berkomunikasi dengan sensor DHT.
    • UniversalTelegramBot.h: Untuk mengirim notifikasi ke Telegram.
  2. Mengatur Koneksi Wi-Fi:

    • Kode ini menghubungkan ESP32 ke jaringan Wi-Fi dengan SSID dan password yang Anda tetapkan.
  3. Membaca Suhu dan Kelembaban:

    • Fungsi loop() membaca data dari sensor DHT setiap 60 detik dan mengirimkan pesan ke Telegram.

Pengujian Proyek

Setelah selesai, upload kode ke ESP32 dan buka Serial Monitor untuk melihat koneksi dan pembacaan sensor. Jika semua pengaturan benar, Anda akan mulai menerima notifikasi suhu dan kelembaban di Telegram.

Kesimpulan

Dalam artikel ini, kita telah membahas langkah demi langkah membangun bot pemantau suhu dan kelembaban menggunakan ESP32 dan notifikasi Telegram. Proyek ini tidak hanya meningkatkan pemahaman tentang pemrograman IoT, tetapi juga bisa diterapkan dalam berbagai aplikasi seperti pemantauan ruangan, kebun, atau laboratorium. Selamat mencoba dan semoga sukses dalam menciptakan proyek Anda sendiri!