Hubungkan ESP32 dengan laptop, kemudian pastikan ESP32 telah dikenali oleh Windows dengan cara buka dan cek di Device Manager apakah Port ESP32 dikenali yang dibuktikan dengan tidak adanya tanda seru berwarna kuning pada list device manager atau sejenisnya.
Jika driver chip TTL belum dikenali, maka pastikan untuk tahu tipe chip TTL yang digunakan. Misalnya CH340, CP2102 dan seterusnya pada list Device Manager.
Jika sudah diketahui maka install driver chip TTL-nya yang dapat di download di https://drive.google.com/drive/folders/1PGGb5YiUeKvegKaemrapw1urznhOoarW?usp=sharing.
Sistem ini merupakan ekosistem terintegrasi yang menggabungkan pengolahan citra real-time, komunikasi data aman (enkripsi AES128), dan otomatisasi aktuator berbasis protokol MQTT. Berikut adalah penjelasan runut mengenai komponen dan alur kerjanya.
Unit Akuisisi Data (IP Camera / Smartphone)
Unit ini bertindak sebagai sensor utama yang menangkap data visual dari lapangan.
Fungsi: Perangkat ini beroperasi sebagai RTSP Server. Ia menangkap gambar dan mengirimkan aliran video (video stream) dalam bentuk rangkaian frame per detik (FPS).
Alur: Aliran data ini disediakan untuk dikonsumsi oleh unit pemrosesan pusat. Dalam skenario yang lebih kompleks (misalnya pengelolaan banyak sumber kamera), perangkat ini dapat diintegrasikan dengan layanan seperti MediaMTX sebagai RTSP server terpisah.
Pusat Pemrosesan Utama (Python Service Code).
Komponen ini adalah "otak" dari seluruh sistem. Python Service berfungsi sebagai penghubung antar entitas (middleware) dengan tugas utama sebagai berikut:
Unit Akuisisi Data (IP Camera / Smartphone)
Unit ini bertindak sebagai sensor utama yang menangkap data visual dari lapangan.
Fungsi: Perangkat ini beroperasi sebagai RTSP Server. Ia menangkap gambar dan mengirimkan aliran video (video stream) dalam bentuk rangkaian frame per detik (FPS).
Alur: Aliran data ini disediakan untuk dikonsumsi oleh unit pemrosesan pusat. Dalam skenario yang lebih kompleks (misalnya pengelolaan banyak sumber kamera), perangkat ini dapat diintegrasikan dengan layanan seperti MediaMTX sebagai RTSP server terpisah.
Pusat Pemrosesan Utama (Python Service Code).
Komponen ini adalah "otak" dari seluruh sistem. Python Service berfungsi sebagai penghubung antar entitas (middleware) dengan tugas utama sebagai berikut:
Jembatan Komunikasi (HiveMQ Cloud MQTT Broker)
Sebagai infrastruktur komunikasi berbasis awan, komponen ini bertindak sebagai MQTT Server yang mengelola lalu lintas pesan antara Python Service dan perangkat lapangan.
Mekanisme: Menggunakan sistem Publish dan Subscribe berdasarkan Topic tertentu.
Peran Broker: Menerima payload terenkripsi dari Python Service (sebagai Publisher) dan meneruskannya ke perangkat yang berlangganan pada topik tersebut (sebagai Subscriber).
Kontroler Lapangan (Microcontroller ESP32)
ESP32 merupakan unit eksekusi yang berada di sisi perangkat fisik (aktuator).
Fungsi sebagai Subscriber: Bertindak sebagai MQTT Client (Subscriber) yang secara aktif mendengarkan instruksi pada topik yang telah ditentukan.
Proses Dekripsi: Setelah menerima payload dari broker, ESP32 melakukan proses dekripsi menggunakan kunci AES128 yang sama dengan Python Service untuk mengembalikan data ke bentuk aslinya (plaintext).
Eksekusi: Berdasarkan pesan yang telah didekripsi, ESP32 mengirimkan sinyal perintah ke Aktuator (misal: lampu, buzzer, motor servo, relay) untuk melakukan tindakan fisik.
Antarmuka Pemantauan (Real-time Data Monitoring via Browser)
Dashboard ini merupakan lapisan presentasi yang diakses pengguna melalui Internet Browser.
Fungsi: Menampilkan data dalam bentuk kurva, grafik, atau teks secara real-time.
Konektivitas: Browser bertindak sebagai Socket Client yang terhubung ke Python Service (Socket Server). Penggunaan protokol WebSocket memastikan data yang tampil selalu sinkron dengan apa yang dideteksi oleh kamera di lapangan, tanpa latensi signifikan dan tanpa kebutuhan refresh halaman.
Penyimpanan Data (Database - Opsional)
Sistem mendukung fleksibilitas penyimpanan baik menggunakan SQL (PostgreSQL/MySQL) maupun NoSQL (MongoDB/Firebase).
Fungsi: Bertindak sebagai Data Logger untuk menyimpan riwayat kejadian secara permanen.
Ketersediaan: Meskipun bersifat opsional, keberadaan database sangat penting untuk keperluan audit data, analisis statistik, atau pengembangan sistem di masa depan (misalnya: pelatihan ulang model ML berdasarkan data historis).
Ringkasan Alur Lengkap (Skenario Deteksi Person):
Tabel Ringkasan Peran Setiap Komponen