- Ini adalah proyek membuat bel pintu DIY yang terintegrasi secara lokal ke Home Assistant menggunakan ESP32-CAM dan ESPHome, ditujukan bagi pengguna yang ingin menghindari bel pintu pintar yang bergantung pada cloud
- Konfigurasi dasarnya mencakup Home Assistant, add-on ESPHome, dan aplikasi pendamping Home Assistant di ponsel, yang mengirim snapshot kamera sebagai notifikasi ke ponsel saat input tombol dipicu
- Perangkat kerasnya terdiri dari ESP32-CAM, tombol push sesaat, cincin LED RGB 8 opsional, kabel Micro USB 10 m, dan enclosure cetak 3D, dengan LED bawaan yang bisa menggantikan flash
- Bergantung pada varian ESP32-CAM, susunan pin dan perilaku pull-down dapat berbeda, sehingga input tombol GPIO14 memerlukan pemasangan resistor pull-down 10kΩ ke GND
- Enclosure PLA digunakan pada contoh cetak, tetapi PETG atau ABS lebih cocok untuk tujuan tahan cuaca, dan karena adanya lubang kamera, diperlukan lokasi pemasangan yang terlindung dari hujan
Konfigurasi bel pintu lokal dan perlengkapan yang dibutuhkan
- Bel pintu pintar ini ditujukan untuk konfigurasi yang ramah privasi dan terintegrasi dengan Home Assistant melalui ESPHome
- Untuk memulai, diperlukan konfigurasi berikut
- Instance Home Assistant yang sedang berjalan
- Add-on ESPHome
- Aplikasi pendamping Home Assistant di ponsel untuk menerima notifikasi saat tombol ditekan
- Pada build contoh digunakan cincin lampu LED RGB 8, tetapi jika ingin lebih sederhana, komponen ini bisa dihilangkan dan LED bawaan ESP32-CAM dapat dipakai sebagai flash
- Versi AI-Thinker dari ESP32-CAM mungkin tidak memiliki semua resistor pull-up dan pull-down seperti ESP32 biasa
- Fitur
INPUT_PULLDOWNmilik ESPHome dicoba pada GPIO14 tetapi tidak berfungsi - Ada banyak varian ESP32-CAM buatan Tiongkok, jadi tiap papan bisa memiliki perbedaan
- Fitur
Komponen dan berkas yang dibagikan
- Komponen utamanya sebagai berikut
- ESP32-CAM
- Disarankan memakai papan yang memiliki tombol
flash/download/io0agar lebih mudah saat pertama kali mem-flash ESPHome - Papan tanpa tombol tersebut harus di-flash menggunakan adaptor FTDI
- Disarankan memakai papan yang memiliki tombol
- Tombol push sesaat
- Cincin lampu LED RGB 8
- Kabel Micro USB 10 m
- ESP32-CAM
- Berkas cetak 3D dan berkas konfigurasi juga dibagikan
- Berkas .stl di Printables
- thatguy-za/esp32-cam-doorbell: konfigurasi Home Assistant dan ESPHome
Mencetak dan merakit enclosure
- Enclosure dicetak dalam tiga bagian
- Bodi utama
- Pelat penahan ESP32-CAM
- Pelat belakang yang juga berfungsi sebagai dudukan dinding
- Enclosure depan dan belakang harus dicetak dengan support
- Contoh cetak menggunakan PLA, tetapi untuk tujuan tahan cuaca direkomendasikan filamen PETG atau ABS dengan infill 20–30%
- Setelah dicetak, tambahkan dua insert sekrup M2.5
- Dipasang pada penutup depan agar braket penahan ESP32-CAM bisa dikencangkan
- Dipasang di bagian bawah backplate agar face plate bisa dikencangkan dengan sekrup M2.5 10 mm
Mem-flash ESP32-CAM dengan ESPHome
- Untuk mem-boot ESP32-CAM ke mode flashing, tahan tombol
flash/download/io0lalu sambungkan ke komputer dengan kabel Micro USB - Di Home Assistant, buka add-on ESPHome dan buat perangkat baru
- Jalurnya
Settings -> Add-ons -> ESPHome -> Open Web UI - Nama perangkat baru bisa diisi misalnya
Doorbell - Pilih tipe perangkat ESP32 dan centang
use recommended settings
- Jalurnya
- Pada konfigurasi YAML yang dibuat, tempelkan kode konfigurasi dari repositori GitHub di bawah
captive_portal: - Tekan
SavedanInstall, lalu pilihPlug into this computer - Gunakan ESPHome Web untuk mem-flash firmware lewat browser
- Google Chrome digunakan sebagai browser paling stabil untuk mem-flash firmware ESP32-CAM
- Setelah firmware dikompilasi, Anda dapat menekan
Download Project, dan proses ini mungkin memakan waktu beberapa menit
- Setelah firmware baru di-flash, Home Assistant akan mendeteksi perangkat baru, dan entitas yang diinginkan dapat ditambahkan ke dashboard
Otomasi notifikasi tombol
- Saat tombol bel pintu ditekan, disiapkan otomasi untuk mengambil snapshot kamera dan mengirimkannya ke ponsel
- Di Home Assistant, buat otomasi baru
- Jalurnya
Settings -> Automations -> + Create Automation - Buat otomasi baru dari awal lalu pilih
Edit in YAMLdari menu kanan atas
- Jalurnya
- Tempelkan YAML otomasi dari repositori GitHub, lalu ubah nama entitas perangkat seperti ponsel agar sesuai dengan lingkungan Anda
- Setelah disimpan, restart Home Assistant agar otomasi baru aktif
Pengkabelan dan batasan pemasangan
- Ada banyak varian papan ESP32-CAM, jadi perlu memeriksa susunan pin pada papan yang digunakan
- Pengkabelan disusun dengan cara menyolder ke sisi belakang PCB bagian bawah yang memiliki port Micro USB
- Tambahkan resistor pull-down 10kΩ di antara GPIO14 dan GND
- Tanpa resistor ini, teramati masalah GPIO14 yang sering melayang pada status high
- Disarankan membungkus resistor dengan heat-shrink tube
- Karena adanya lubang untuk kamera bawaan, strukturnya tidak sepenuhnya kedap air dan harus dipasang di lokasi yang terlindung dari hujan
- Daya disuplai melalui kabel Micro USB 10 m yang termasuk dalam daftar komponen
1 komentar
Komentar Hacker News
Bagus. Saya juga suka pencahayaannya
Bisa juga menempelkan reed switch (seperti sensor buka/tutup pintu biasa) di dekat kumparan magnet yang membunyikan bel pintu bodoh, lalu mengirim informasinya ke Home Assistant
Sambungkan reed switch seharga $0,50 ke bel pintu yang sudah ada, lalu keluarkan ke port I/O digital ESP yang mendapat daya dari sumber yang sama dengan kumparan bel pintu. Saat bel pintu ditekan, sistem mengirim snapshot email dari kamera pintu depan yang hanya lokal, dan memutar rekaman chime bel pintu di stereo lantai atas. Awalnya saya mencoba memantau tegangan kumparan dengan input analog, tetapi terlalu tidak stabil; pendekatan reed switch yang lebih sederhana membuat deteksi arus sangat stabil
sumber daya yang sama dengan kumparan bel pintuitu keren. Saya jadi penasaran sumber tegangan aneh apa lagi yang bisa dipakai di dalam rumah. Unit kepala HVAC, saluran telepon analog, dan semacamnyaSaluran telepon POTS (Plain Old Telephone Service) seharusnya menghasilkan sekitar 48V DC saat semua telepon dalam keadaan on-hook. Jika telepon pada saluran yang sama menjadi off-hook, tegangannya turun ke kisaran 3–9V. Telepon off-hook biasanya mengonsumsi arus DC sekitar 20mA untuk beroperasi, dan resistansi DC-nya sekitar 180Ω. Sisa penurunan tegangan terjadi pada jalur kabel tembaga dan rangkaian perusahaan telepon, yang biasanya memiliki resistor seri 200–400Ω untuk perlindungan hubung singkat dan pemisahan rangkaian audio
https://www.jkaudio.com/article_03.htm
Saya pernah menggunakannya dengan cara serupa, ditempelkan di casing atas relay untuk mendeteksi apakah kumparan mendapat daya tanpa perlu menusuk langsung rangkaian kontrol atau rangkaian beban
Yang saya inginkan dari perangkat IoT seperti ini hanyalah tidak bergantung pada cloud dan memakai PoE. Daripada berurusan dengan baterai bodoh yang terus mati, saya lebih rela menarik kabel sebanyak apa pun. Harga baterai juga makin lama makin terlalu mahal
Non-isolated: https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-sou...
Isolated: https://www.olimex.com/Products/IoT/ESP32/ESP32-POE-ISO/open...
Mengganti baterai setahun sekali memang kerja kecil, tetapi kalau jumlahnya puluhan, cepat menumpuk dan berulang secara berkala, jadi tidak lebih baik daripada pertumbuhan linear
Kalau saya punya rumah sendiri, saya berencana memakai KNX
Sedikit keluar topik, tetapi istri saya punya ADD yang cukup berat sehingga sering kehilangan barang. Tile hanya bisa menemukan barang dalam jarak tertentu, dan tampaknya sering rusak
Kemungkinannya kecil, tetapi saya penasaran apakah ada yang pernah membuat sistem pelacakan lokasi dalam ruangan yang dapat menemukan objek di ruang 3D dengan galat beberapa cm menggunakan beacon Bluetooth Low Energy di dalam rumah
Lebih mendekati topik utama, ESP32 memang cukup luar biasa. Namun dengan MicroPython atau CircuitPython saya tidak bisa menjaga koneksi Wi-Fi tetap stabil, meski rentang hal yang bisa dilakukan memang mencengangkan. Board saya cukup tua, jadi mungkin akan berbeda kalau saya membeli board baru
MicroPythonatauCircuitPython, entah apa yang diharapkan. Untuk sistem embedded yang membutuhkan keandalan, itu nyaris masuk kategori terlarangMenarik bahwa di beberapa tempat di dunia, keberadaan bel pintu begitu penting sampai muncul kebutuhan untuk membuatnya “smart”. Kesuksesan produk bel pintu pintar menunjukkan permintaan semacam itu dengan jelas
Saya tidak punya bel pintu. Jika pengunjung tidak tahu cara menghubungi saya atau orang lain di rumah, besar kemungkinan sejak awal tidak banyak alasan bagi mereka untuk datang ke sana
Bukan cuma saya. Berdasarkan survei yang sangat tidak ilmiah saat berjalan-jalan minggu lalu, sebagian besar jalan kami tampak serupa, dan mungkin sebagian besar kota saya juga begitu
Bel pintu terasa anakronistis. Hampir tidak ada orang di jalan kami yang memasangnya
Berdasarkan ulasan yang saya lihat, kamera bel pintu Reolink tampaknya satu-satunya opsi komersial yang memenuhi kebutuhan penulis. Perangkat ini berjalan secara lokal dan bisa diintegrasikan dengan Home Assistant
Namun untuk interkom perlu aplikasi terpisah. Solusi rakitan penulis sendiri sepertinya tidak menyediakan komunikasi audio, dan setidaknya dari protokol kamera saja tampaknya tidak ada cara untuk memakai audio dua arah langsung di Home Assistant
ESP32 benar-benar terasa seperti lubang kelinci yang sangat dalam. Sudah ada banyak sekali proyek yang memakai ESP32 atau sedang dikembangkan dengannya, dan sekarang ada satu hal lagi yang perlu saya pertimbangkan
Proyek yang keren. Kamera ESP32 bisa punya kualitas gambar yang cukup buruk. Akan membantu kalau di blog ada foto resolusi penuh yang diambil dari bel pintu itu
Proyek yang luar biasa. Senang melihat beragam bel pintu ESP32 yang dibuat para maker
Akan bagus kalau ada contoh video atau foto. Dulu saya pernah memakai ESP32 Cam, dan meski perangkat itu sendiri mengesankan, secara pribadi kualitasnya belum seperti yang saya inginkan. Tentu saja, penggunaan bel pintu pintar saya lebih dekat ke keamanan daripada sekadar “siapa yang ada di sana”
Saat ini saya memakai bel pintu PoE yang cukup mahal dan saya beli dalam kondisi
AS-ISuntuk menghemat biaya. Produknya dari Axis CommunicationsSaya sangat suka kemampuannya untuk menerima event ONVIF. Jika bisa mengonsumsi event, pada dasarnya kita bisa melakukan apa pun yang diinginkan, sehingga fleksibilitas produk seperti ini meningkat. Misalnya, ada cara membuat event kustom untuk kasus seperti ketika seseorang menutup lensa kamera dengan tangan
Home Assistant memiliki dukungan ONVIF yang sangat baik. Saya ingin membuat semacam wrapper di sekitar skrip (seperti boolean pintu terbuka/tertutup) agar bisa mendapatkan event ONVIF native
Salah satu komentar di situs ini menyinggung masalah performa ESP32. Saya belum pernah menangani perangkat IoT atau board seperti ini, tetapi harganya relatif murah jadi saya tertarik mencobanya, dan setelah mencari tahu saya mengetahui bahwa ESP32 diproduksi dengan proses 40nm
Saya penasaran apakah ada versi terbaru yang diproduksi dengan proses lebih maju dan memberikan performa lebih tinggi dengan anggaran daya serupa
Ada lini SoC lain yang memberi trade-off lebih baik, tetapi tidak banyak yang seramah ESP32 bagi pengembang hobi. Mungkin Nordic, atau beralih ke komputer single-board kecil seperti Pi Zero
Meski begitu, ESP32 jauh lebih bertenaga daripada yang dibutuhkan sebagian besar perangkat otomasi rumah. Batasnya baru mulai terasa pada beberapa pekerjaan yang lebih berat seperti streaming video atau machine learning. Bahkan saat itu pun, dengan pendekatan cerdas, ia masih bisa melakukan cukup banyak hal