Kamera Keamanan Deteksi Gerak Berbasis ESP32 untuk Discord
Komponen dan Perlengkapan
- ESP32 Cam – 1 unit
- PIR Motion Sensor (generik) – 1 unit
- Breadboard (generik) – 1 unit
- Hook Up Wire Kit, 20 AWG – 1 unit
- Jumper wires (generik) – 1 unit
- Arduino Nano R3 – 1 unit
- 5.5 x 2.1 DC Power Jack – 1 unit
- Antenna, SMB – 1 unit
- 5v Power Supply – 1 unit
Alat dan Mesin yang Diperlukan
Tentang Proyek Ini
Gunakan ESP32 Cam dan sensor inframerah pasif (PIR) untuk membuat kamera keamanan yang diaktifkan gerakan yang akan memposting foto ke channel Discord, tempat Anda memiliki akses untuk membuat webhook.
Kami akan membangun rangkaian percobaan, menggunakan breadboard dan kabel lompat. Kami kemudian akan membangun rak kabel menggunakan konektor Dupont untuk memungkinkan koneksi yang mudah ke papan pengembangan dan sensor PIR.
Kami kemudian akan menggunakan kotak 3D cetak dinding atau langit-langit pilihan kami untuk menampung bagian-bagian dan kamera kami.
Kamera langit-langit menggunakan kamera tiruan murah yang dapat dibeli secara online.
Perlengkapan:
- Breadboard
- Jump Wire
- Arduino Nano
- Antenna Nirkabel Eksternal
- DC power jack 5.5 x 2.1 mm
- ESP32 Cam
- Sensor Inframerah Pasif (PIR)
- 5v Power Supply
- Kabel tambahan
- Dupont connect kit dan crimper
- Kamera Tiruan
Langkah 1: Memprogram ESP32 Cam dengan Arduino
Setel ESP32Cam ke mode flash dan sambungkan ke Arduino, untuk memungkinkan pemrograman ESP32.
Untuk langkah ini, kami akan membutuhkan ESP32Cam, Arduino Nano, dan kabel lompat.
Pastikan URL Board Manager ESP32 telah ditambahkan ke preferensi Anda:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Gunakan diagram di atas sebagai referensi saat merangkaian dengan breadboard Anda.
Langkah 2: Hubungkan Sensor PIR ke ESP32 Cam
Hubungkan sensor inframerah pasif (PIR) ke ESP32 Cam. Untuk pengaturan awal, Anda akan ingin menghubungkan sensor PIR ke 5V, Ground, dan pin data tengah ke GPIO 15 pada ESP32 cam seperti yang terlihat pada diagram kabel.
Langkah 3: Unduh Kode dan Dependensi
Kode sumber untuk proyek ini dapat ditemukan di Github:
- Discord Spycam: https://github.com/WillMakesTV/discord-spycam
Selain itu, kami akan perlu menggunakan skrip Python CertToESP8266 dari proyek HTTPS for Makers.
Dan karena kami menggunakan skrip Python, kami juga perlu memastikan Python telah diinstal.
Langkah 4: Buat Sertifikat SSL untuk Discord.com
Setelah Anda memverifikasi bahwa Python telah diinstal, unduh HTTPS for Makers dari Github dan ekstrak ke folder di komputer Anda.
Untuk menghasilkan sertifikat SSL, kami akan perlu mengunjungi Discord.com.
Dari bilah alamat, di samping nama domain, klik Kunci dan lalu pilih "Sertifikat".
Pada langkah berikutnya, pilih folder yang diekstrak dari unduhan HTTPS for Makers dan simpan sebagai "discord-cert.cer".
- Pilih tab Details, lalu pilih "Copy to File" untuk membuka wizard ekspor.
- Klik Next, lalu pilih opsi Base64 Encoded.
Jika semuanya bekerja sebagaimana mestinya, maka Anda seharusnya melihat pesan bahwa ekspor berhasil.
Langkah 5: Gunakan CerttoESP32 untuk Memformat Sertifikat SSL
Sekarang kami akan ingin mengedit skrip Python CerttoESP32 yang ditemukan di proyek HTTPS for Makers yang kami unduh; untuk memperbarui variabel nama file dengan yang kami ekspor dari Discord.com.
Setelah kami menyimpan skrip, menggunakan command prompt atau terminal, ubah direktori ke proyek HTTPS for Makers dan jalankan skrip CerttoESP32.
Ini akan memformat sertifikat kami dengan cara yang dapat kami gunakan dengan ESP32.
Menggunakan Command Prompt pada Windows atau terminal pada macOS/Linux, ubah ke direktori tempat skrip CerttoESP32 berada dan jalankan skrip.
Jika semuanya bekerja sebagaimana mestinya, Anda seharusnya melihat output di command prompt atau terminal dengan sertifikat SSL yang diformat.
Langkah 6: Konfigurasikan Proyek Discord Spycam
Ekstrak proyek Discord Spycam yang diunduh dari Github. Perhatikan bahwa Anda mungkin diminta untuk mengubah nama direktori proyek menjadi "discord-spycam" jika diunduh melalui file zip dari Github, jadi mengubah nama direktori awalnya disarankan.
Salin arduino_secrets.h.example ke arduino_secrets.h dalam direktori proyek dan buka discord-spycam.ino.
Dalam file arduino_secrets.h, perbarui variabel SECRET_DISCORD_CERT untuk cocok dengan output di command prompt/terminal dari menjalankan skrip CertToESP8266.py.
Pastikan untuk memperbarui variabel SECRET_NETWORK_SSID dan SECRET_NETWORK_PASS untuk menggunakan nama dan sandi jaringan WIFI Anda.
Discord Webhook
Buka Discord dan pergi ke channel tempat foto/pesan diinginkan. Klik kanan dan edit channel, lalu di bawah integrations buat webhook baru. Ini akan membuka dialog, untuk Anda memberikan nama untuk bot Anda dan foto opsional.
Salin URL webhook dan simpan, lalu kembali ke Arduino IDE. Tempelkan URL webhook untuk variabel SECRET_DISCORD_WEBHOOK dan hapus nama domain, sehingga cocok dengan format contoh yang diberikan.
Simpan proyek Anda, kompilasi dan unggah ke ESP32Cam.
Jika semuanya bekerja sebagaimana mestinya, maka saat gerakan terdeteksi oleh sensor PIR Anda seharusnya melihat foto yang diposting oleh bot di channel Discord.
Langkah 7: Crimp dan Solder Kabel
Solder kabel daya dan ground ke DC power jack, lalu crimp ujung kabel untuk sensor PIR dan ESP32Cam menggunakan konektor Dupont.
Buat dua konektor, satu yang menggunakan konektor tiga tabung di satu ujung untuk sensor PIR. Tengah pada sensor PIR adalah data, sementara satu sisi adalah 5v dan yang lain adalah ground. Periksa sensor PIR spesifik Anda, karena sebagian besar diberi label langsung pada papan.
Konektor dua tabung akan digunakan dengan 5v dan ground untuk memberi daya pada ESP32.
Langkah 8: Kotak Dinding
Dengan kotak dinding 3D cetak, geser DC power jack melalui lubang bawah dan amankan koneksi dengan rondel. Kami kemudian akan meluncurkan heat shrink sebelum solder kabel dan menyusutkan tabung.
Terakhir kami akan memasukkan antena wifi eksternal dan bekerja untuk menghubungkan ESP32 Cam dan sensor PIR.
Menggunakan tutup snap-fit, kami dapat mengamankan bagian-bagian kami, dan pembangunan dinding selesai.
Terdapat juga lubang yang dipotong di sisi enclosure yang memungkinkan akses mudah ke potensiometer penundaan waktu dan sensitivitas.
Langkah 9: Kotak Langit-langit
Kami juga memiliki kotak langit-langit yang menggunakan bagian dari kamera tiruan murah. Bagian yang kami gunakan adalah dome transparan, pelindung kamera, dan skrap pengait.
Kami akan ingin menempelkan dome transparan ke pelindung kamera, lalu melem lem pelindung dan dome ke cincin luar 3D cetak.
Ratakan lubang yang lebih besar untuk DC power jack ke bagian belakang pelindung kamera, periksa kembali ini saat melem untuk memastikan bagian tetap rata.
Kabel untuk kotak langit-langit dapat dibangun dan dimasukkan melalui lubang yang lebih besar di cincin luar, melalui lubang untuk DC power jack. Anda perlu meluncurkan rondel, sebelum memasukkan pin Dupont ke konektor tiga tabung.
Perhatikan bahwa Anda akan ingin menyesuaikan halus sensitivitas dan penundaan waktu dengan sensor PIR, sebelum memasangnya ke kotak. Setelah terpasang, Anda perlu sepenuhnya melepas rangkaian untuk melakukan penyesuaian.
Model ini juga menggunakan tutup snap-fit untuk meratakan dan menampung ESP32 dan sensor PIR.
Kode
HTTPS for Makers - CerttoESP32.py
https://github.com/SensorsIot/HTTPS-for-Makershttps://github.com/SensorsIot/HTTPS-for-Makers
Discord Spycam
https://github.com/WillMakesTV/discord-spycamhttps://github.com/WillMakesTV/discord-spycam
Bagian dan Enclosure Kustom
Enclosure Dinding
https://www.thingiverse.com/thing:4809907CAD file on thingiverse.com
Enclosure Langit-langit
https://www.thingiverse.com/thing:4809908CAD file on thingiverse.com
Skema Rangkaian
Gunakan diagram kabel ini untuk menghubungkan dan memprogram ESP32 menggunakan Arduino.
