Keamanan rumah merupakan salah satu aspek penting yang perlu diperhatikan. Dengan memanfaatkan teknologi Internet of Things (IoT), kini kita dapat membuat sistem keamanan sederhana namun cukup efektif menggunakan ESP32-CAM, sensor PIR, dan Telegram Bot. Pada proyek ini, ESP32-CAM akan berfungsi sebagai pusat kendali sekaligus kamera pengawas. Ketika sensor PIR mendeteksi adanya gerakan, ESP32-CAM akan mengirimkan notifikasi ke Telegram dan mengambil foto secara otomatis. Selain itu, pengguna juga dapat meminta foto kapan saja melalui Telegram. Proyek ini sangat cocok bagi pemula yang ingin belajar tentang ESP32-CAM, IoT, sensor PIR, dan integrasi Telegram.
Cara Kerja Sistem
Sistem bekerja dengan alur berikut:
1. ESP32-CAM terhubung ke jaringan WiFi.
2. ESP32-CAM terhubung ke Bot Telegram.
3. Sensor PIR memantau adanya gerakan di area pengawasan.
4. Ketika gerakan terdeteksi, ESP32-CAM mengirim notifikasi ke Telegram.
5. Pengguna dapat menerima informasi secara real-time melalui smartphone.
6. Pengguna dapat meminta foto menggunakan perintah Telegram.
7. ESP32-CAM mengambil gambar dan mengirimkannya ke Telegram.
Komponen yang Dibutuhkan
- 1 buah ESP32-CAM-MB dengan kamera OV3660
- 1 buah Sensor PIR HC-SR501
- Kabel jumper secukupnya
- Kabel USB untuk ESP32-CAM-MB
- Smartphone dengan aplikasi Telegram
- Jaringan WiFi
Mengenal Komponen yang Digunakan
1. ESP32-CAM
ESP32-CAM merupakan modul mikrokontroler berbasis ESP32 yang telah dilengkapi dengan kamera serta konektivitas WiFi. Pada proyek ini, ESP32-CAM berfungsi sebagai pusat kendali sistem yang bertugas menghubungkan perangkat ke internet, mengambil foto ketika diperlukan, mengirimkan notifikasi ke Telegram, serta mengelola data yang diterima dari sensor PIR.
2. Sensor PIR HC-SR501
Sensor PIR HC-SR501 adalah sensor gerak yang bekerja dengan mendeteksi perubahan radiasi inframerah yang dipancarkan oleh tubuh manusia atau objek yang menghasilkan panas. Ketika sensor mendeteksi adanya gerakan, pin output akan menghasilkan sinyal HIGH, sedangkan saat tidak ada gerakan yang terdeteksi, output akan berada pada kondisi LOW. Sensor ini berperan sebagai pemicu utama untuk mengaktifkan kamera dan mengirim notifikasi.
3. Telegram Bot
Telegram Bot digunakan sebagai media komunikasi antara pengguna dan ESP32-CAM melalui jaringan internet. Dengan memanfaatkan Telegram Bot, pengguna dapat menerima notifikasi secara otomatis ketika gerakan terdeteksi, meminta foto dari kamera secara langsung, serta memantau kondisi sistem dari jarak jauh menggunakan aplikasi Telegram di smartphone maupun komputer.
Membuat Bot Telegram untuk ESP32-CAM
Agar ESP32-CAM dapat mengirim notifikasi ke Telegram, Anda perlu membuat bot terlebih dahulu melalui BotFather.
1. Buka aplikasi Telegram pada smartphone atau komputer.
2. Cari akun Telegram BotFather pada kolom pencarian.
3. Buka chat dengan BotFather, kemudian klik Start atau kirim perintah /start
4. Untuk membuat bot baru, kirim perintah /newbot
5. Masukkan nama bot yang diinginkan. Nama ini akan ditampilkan kepada pengguna Telegram.
Contoh:
ESP32 Security Camera
6. Selanjutnya masukkan username bot. Username harus unik dan diakhiri dengan kata bot.
Contoh:
esp32_security_camera_bot
7. Jika username tersedia, BotFather akan membuat bot dan menampilkan Bot Token.
8. Salin dan simpan token yang diberikan. Format token biasanya seperti berikut:
1234567890:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
9. Token tersebut nantinya digunakan pada program ESP32-CAM untuk menghubungkan perangkat dengan bot Telegram yang telah dibuat.
10. Simpan token di tempat yang aman dan jangan membagikannya kepada orang lain karena token berfungsi sebagai kunci akses bot Telegram Anda.
Mendapatkan Chat ID
Setelah bot berhasil dibuat, langkah berikutnya adalah mendapatkan Chat ID yang akan digunakan oleh ESP32-CAM untuk mengirim notifikasi ke akun Telegram Anda.
1. Buka aplikasi Telegram.
2. Cari bot yang sebelumnya telah dibuat melalui BotFather.
3. Buka chat dengan bot tersebut, lalu tekan tombol Start atau kirim perintah /start
4. Kirim satu pesan bebas ke bot, misalnya:
Halo
5. Buka browser dan akses alamat berikut:
https://api.telegram.org/botTOKEN/getUpdates
6. Ganti tulisan TOKEN dengan token bot Telegram yang Anda peroleh dari BotFather.
Contoh: https://api.telegram.org/bot1234567890:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates
7. Setelah halaman terbuka, akan muncul data dalam format JSON yang berisi informasi pesan yang dikirim ke bot.
8. Cari bagian yang menampilkan informasi chat, seperti contoh berikut:
"chat":{
"id":123456789,
"first_name":"User"
}
9. Salin nilai yang terdapat pada bagian id.
Contoh: 123456789
10. Simpan nilai tersebut karena akan digunakan sebagai Chat ID pada program ESP32-CAM agar notifikasi dapat dikirim langsung ke akun Telegram Anda.
Instalasi Library Arduino IDE
Buka Arduino IDE lalu instal library berikut melalui Library Manager:
1. UniversalTelegramBot
2. ArduinoJson
Instalasi Board ESP32
Apabila board ESP32 belum tersedia pada Arduino IDE, lakukan instalasi terlebih dahulu dengan langkah-langkah berikut.
1. Buka Arduino IDE.
2. Masuk ke menu File → Preferences
3. Pada bagian Additional Boards Manager URLs, tambahkan URL berikut:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
4. Klik OK untuk menyimpan pengaturan.
5. Selanjutnya buka menu Tools → Board → Boards Manager
6. Pada kolom pencarian, ketik esp32
7. Pilih paket ESP32 by Espressif Systems yang muncul pada hasil pencarian.
8. Klik Install untuk memulai proses instalasi.
9. Tunggu hingga proses instalasi selesai.
10. Setelah berhasil terinstal, berbagai varian board ESP32 akan tersedia dan dapat dipilih melalui menu Tools → Board sesuai kebutuhan proyek.
Rangkaian ESP32-CAM dan Sensor PIR
Hubungkan sensor PIR ke ESP32-CAM sebagai berikut:
1. PIR VCC → 5V
2. PIR GND → GND
3. PIR OUT → GPIO 13
Pastikan semua koneksi terpasang dengan benar sebelum perangkat dinyalakan.
Konfigurasi Arduino IDE
Atur board sebagai berikut:
1. Board : AI Thinker ESP32-CAM
2. Flash Mode : QIO
3. Flash Frequency : 40 MHz
4. Partition Scheme : Huge APP
5. PSRAM : Enabled
6. Upload Speed : 115200
Kode Program Lengkap
Berikut contoh program dasar untuk mendeteksi gerakan dan mengirim notifikasi ke Telegram.
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
const char* ssid = "NAMA_WIFI";
const char* password = "PASSWORD_WIFI";
String BOTtoken = "TOKEN_BOT_ANDA";
String CHAT_ID = "CHAT_ID_ANDA";
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
#define PIR_PIN 13
bool motionDetected = false;
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
WiFi.begin(ssid, password);
Serial.print("Menghubungkan WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi Terhubung");
client.setInsecure();
bot.sendMessage(CHAT_ID, "Sistem keamanan aktif", "");
}
void loop() {
int pirState = digitalRead(PIR_PIN);
if (pirState == HIGH && !motionDetected) {
motionDetected = true;
Serial.println("Gerakan Terdeteksi");
bot.sendMessage(CHAT_ID,
"⚠️ Gerakan terdeteksi oleh sensor PIR!",
"");
}
if (pirState == LOW) {
motionDetected = false;
}
delay(100);
}
Penjelasan Program
1. Konfigurasi WiFi
Bagian berikut digunakan untuk menghubungkan ESP32-CAM ke jaringan WiFi:
WiFi.begin(ssid, password);
Ganti:
const char* ssid = "NAMA_WIFI";
const char* password = "PASSWORD_WIFI";
dengan data WiFi Anda.
2. Konfigurasi Telegram
Masukkan token bot:
String BOTtoken = "TOKEN_BOT_ANDA";
Masukkan Chat ID:
String CHAT_ID = "CHAT_ID_ANDA";
3. Membaca Sensor PIR
Sensor dibaca menggunakan:
digitalRead(PIR_PIN);
Jika nilai HIGH diterima, berarti sensor mendeteksi gerakan.
4. Mengirim Notifikasi Telegram
Perintah berikut digunakan untuk mengirim pesan:
bot.sendMessage(
CHAT_ID,
"⚠️ Gerakan terdeteksi oleh sensor PIR!",
"");
Pesan akan langsung muncul pada aplikasi Telegram pengguna.
Upload Program ke ESP32-CAM
1. Hubungkan ESP32-CAM-MB ke komputer menggunakan kabel USB.
2. Pilih port yang sesuai melalui menu Tools → Port.
3. Klik tombol Upload. Tunggu hingga proses upload selesai.
4. Tekan tombol RESET pada ESP32-CAM jika diperlukan.
Pengujian Sistem
1. Menguji Koneksi WiFi
- Buka Serial Monitor 115200 baud
- Jika berhasil akan muncul WiFi Terhubung
2. Menguji Telegram
Saat perangkat menyala, Telegram akan menerima pesan:
Sistem keamanan aktif
3. Menguji Sensor PIR
Gerakkan tangan di depan sensor PIR. Jika sensor mendeteksi gerakan:
- LED indikator PIR menyala
- ESP32-CAM membaca sinyal HIGH
- Telegram menerima notifikasi
Contoh pesan:
⚠️ Gerakan terdeteksi oleh sensor PIR!






0 Komentar