- cloud-dependent स्मार्ट डोरबेल से बचना चाहने वाले यूज़र्स के लिए, ESP32-CAM और ESPHome के साथ Home Assistant में locally integrate होने वाली DIY डोरबेल बनाने का प्रोजेक्ट
- बेसिक सेटअप में Home Assistant, ESPHome add-on, और मोबाइल Home Assistant companion app शामिल हैं; बटन input को trigger बनाकर कैमरा snapshot को फोन notification के रूप में भेजता है
- हार्डवेयर में ESP32-CAM, momentary push button, वैकल्पिक 8 RGB LED ring, 10m Micro USB cable, और 3D-printed enclosure शामिल हैं; built-in LED को flash की तरह इस्तेमाल कर LED ring की जगह ली जा सकती है
- ESP32-CAM variant के अनुसार pinout और pulldown behavior अलग हो सकता है, इसलिए GPIO14 button input के लिए GND के बीच 10kΩ pulldown resistor लगाकर wiring करनी पड़ती है
- PLA enclosure example print में इस्तेमाल हुआ था, लेकिन waterproofing के लिए PETG या ABS बेहतर हैं; कैमरा hole के कारण ऐसी installation जगह चाहिए जहां बारिश से बचाव हो
लोकल डोरबेल सेटअप और तैयारी का सामान
- यह स्मार्ट डोरबेल privacy-friendly setup को लक्ष्य बनाती है और ESPHome के जरिए Home Assistant के साथ integrate होती है
- शुरू करने के लिए नीचे दिया गया setup चाहिए
- चल रहा Home Assistant instance
- ESPHome add-on
- button press notifications पाने के लिए मोबाइल Home Assistant companion app
- example build में 8 RGB LED ring light इस्तेमाल की गई है, लेकिन अगर आप सरल बनाना चाहते हैं तो इसे छोड़कर ESP32-CAM की built-in LED को flash के रूप में इस्तेमाल किया जा सकता है
- ESP32-CAM AI-Thinker version में सामान्य ESP32 की तरह सभी pull-up/pull-down resistors मौजूद न हों
- GPIO14 पर ESPHome का
INPUT_PULLDOWNfeature आज़माया गया, लेकिन काम नहीं किया - चीन में बने ESP32-CAM variants बहुत हैं, इसलिए board-to-board अंतर हो सकता है
- GPIO14 पर ESPHome का
पार्ट्स और public files
- मुख्य parts इस प्रकार हैं
- ESP32-CAM
- शुरुआती ESPHome flashing को आसान बनाने के लिए
flash/download/io0button वाला board recommended है - जिन boards में यह button नहीं है, उन्हें FTDI adapter से flash करना होगा
- शुरुआती ESPHome flashing को आसान बनाने के लिए
- momentary push button
- 8 RGB LED ring light
- 10m Micro USB cable
- ESP32-CAM
- 3D print files और configuration files public हैं
- Printables की .stl files
- thatguy-za/esp32-cam-doorbell: Home Assistant और ESPHome configuration
enclosure print और assembly
- enclosure को तीन parts में print किया जाता है
- main body
- ESP32-CAM mounting plate
- back plate और wall mount
- front और rear enclosures को supports के साथ print करना होगा
- example print में PLA इस्तेमाल किया गया, लेकिन waterproofing के लिए PETG या ABS filament और 20~30% infill recommended है
- print के बाद दो M2.5 screw inserts जोड़े जाते हैं
- ESP32-CAM mounting bracket कसने के लिए इन्हें front cover में insert करें
- 10mm M2.5 screw से face plate को fix कर सकें, इसके लिए इन्हें backplate के निचले हिस्से में insert करें
ESPHome से ESP32-CAM flash करना
- ESP32-CAM को flashing mode में boot करने के लिए
flash/download/io0button दबाए रखें और Micro USB cable से computer से connect करें - Home Assistant में ESPHome add-on खोलकर नया device बनाएं
- path है
Settings -> Add-ons -> ESPHome -> Open Web UI - नए device का नाम उदाहरण के लिए
Doorbellरखा जा सकता है - device type में ESP32 चुनें और
use recommended settingscheck करें
- path है
- generated YAML configuration में
captive_portal:के नीचे GitHub repository का configuration code paste करें SaveऔरInstallदबाने के बादPlug into this computerचुनें- ESPHome Web के जरिए browser में firmware flash करें
- ESP32-CAM firmware flashing के लिए Google Chrome सबसे stable browser के रूप में इस्तेमाल होता है
- firmware compile होने के बाद
Download Projectदबाया जा सकता है, और इसमें कुछ मिनट लग सकते हैं
- नया firmware flash होने पर Home Assistant नया device discover करेगा, और आप desired entities को dashboard में add कर सकते हैं
button notification automation
- doorbell button दबने पर camera snapshot लेकर उसे phone पर भेजने वाली automation configure करें
- Home Assistant में नई automation बनाएं
- path है
Settings -> Automations -> + Create Automation - नई automation scratch से बनाएं और top-right menu में
Edit in YAMLचुनें
- path है
- GitHub repository की automation YAML paste करें, फिर mobile phone जैसे device की entity name को अपने environment के अनुसार modify करें
- save करने के बाद Home Assistant restart करें, तो नई automation active हो जाएगी
wiring और installation constraints
- ESP32-CAM boards के कई variants हैं, इसलिए actual board का pinout check करना होगा
- wiring Micro USB port वाले bottom PCB के rear side पर soldering करके की जाती है
- GPIO14 और GND के बीच 10kΩ pulldown resistor जोड़ें
- इस resistor के बिना GPIO14 अक्सर high state में floating रहने की समस्या देखी गई
- resistor को heat-shrink tube से cover करना recommended है
- built-in camera hole के कारण यह पूरी तरह waterproof structure नहीं है, इसलिए इसे बारिश से protected जगह पर install करना होगा
- power supply parts list में शामिल 10m Micro USB cable के जरिए दी जाती है
1 टिप्पणियां
Hacker News की राय
अच्छा है। लाइटिंग भी पसंद आई
बेवकूफ-से doorbell की घंटी बजाने वाली magnetic coil के पास reed switch (सामान्य door open/close sensor जैसा) लगाकर Home Assistant को जानकारी भेजवाई जा सकती है
$0.50 का reed switch मौजूदा doorbell से जोड़ दिया, और उसे ESP के digital I/O port तक ले गया, जिसे doorbell coil वाले ही power source से बिजली मिलती है। doorbell दबने पर यह local-only entrance camera का email snapshot भेजता है और ऊपर वाले stereo पर doorbell chime की recording चलाता है। शुरू में analog input से coil voltage monitor करने की कोशिश की थी, लेकिन वह बहुत unstable था; ज्यादा सरल reed switch तरीका current sensing में बहुत reliable है
doorbell coil वाले ही power sourceका आइडिया बढ़िया है। सोच रहा हूं कि घर में इस्तेमाल करने लायक और कौन-कौन से अजीब voltage sources हो सकते हैं। HVAC head unit, analog phone line वगैरहPOTS (Plain Old Telephone Service) phone line पर, जब सभी फोन on-hook हों, तो करीब 48V DC मिलना चाहिए। उसी line पर कोई फोन off-hook होते ही यह 3–9V range तक गिर जाता है। off-hook फोन सामान्य operation के लिए करीब 20mA DC current खाता है, और DC resistance करीब 180Ω होता है। बाकी voltage drop copper wire path और phone company circuit में होता है, जहां आमतौर पर short-circuit protection और audio circuit isolation के लिए 200–400Ω की series resistance होती है
https://www.jkaudio.com/article_03.htm
मिलते-जुलते तरीके से इसे relay के top case पर चिपकाकर इस्तेमाल किया है, ताकि control circuit या load circuit में सीधे probe किए बिना पता चल सके कि coil को power मिल रही है या नहीं
ऐसे IoT devices में मुझे बस यही चाहिए कि cloud dependency न हो और PoE इस्तेमाल हो। बार-बार मरने वाली बेवकूफ battery से निपटने के बजाय मैं अरबों तार भी बिछा दूंगा। batteries की कीमत भी बहुत ज्यादा बढ़ती जा रही है
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...
साल में एक बार battery बदलना छोटा झंझट है, लेकिन दर्जनों devices हो जाएं तो जल्दी जमा हो जाता है और regular दोहराना पड़ता है, इसलिए यह linear increase से बेहतर नहीं है
जब अपना घर होगा, तो मैं KNX पर जाऊंगा
विषय से थोड़ा हटकर, लेकिन मेरी पत्नी को काफी गंभीर ADD है, इसलिए वह चीजें अक्सर खो देती है। Tile सिर्फ एक तय दूरी के अंदर ही चीजें ढूंढ पाता है, और लगता है अक्सर खराब भी हो जाता है
संभावना कम है, लेकिन क्या किसी ने घर के अंदर Bluetooth low energy beacons से objects को 3D space में कुछ cm की error के साथ ढूंढने वाला indoor location tracking system बनाया है?
बात को मुख्य विषय के करीब लाते हुए, ESP32 काफी कमाल का है। हालांकि MicroPython या CircuitPython से Wi‑Fi connection स्थिर बनाए नहीं रख पाया, लेकिन इससे जो कुछ संभव है उसका दायरा हैरान करने वाला है। मेरा board काफी पुराना है, इसलिए नया board खरीदकर देखने पर शायद फर्क पड़े
MicroPythonयाCircuitPythonसे आखिर क्या उम्मीद थी। reliability की जरूरत वाले embedded systems के लिए ये लगभग banned category में हैंदुनिया के कुछ हिस्सों में doorbell का होना इतना ज़रूरी है कि उसे “smart” बनाने की ज़रूरत तक पड़ जाती है—यह दिलचस्प है। smart doorbell products की सफलता ऐसी मांग को अच्छी तरह दिखाती है
मेरे पास doorbell नहीं है। अगर कोई visitor मुझे या घर के किसी और व्यक्ति से संपर्क करने का तरीका नहीं जानता, तो बहुत संभव है कि उसके पास शुरू से ही वहाँ आने की कोई खास वजह न हो
सिर्फ मैं ही ऐसा नहीं हूँ। पिछले हफ्ते walk करते हुए किए गए मेरे बेहद गैर-वैज्ञानिक survey के हिसाब से हमारी street के ज़्यादातर घर ऐसे ही थे, और शायद मेरे शहर के ज़्यादातर घर भी
doorbell कुछ outdated-सी लगती है। हमारी street में लगभग किसी के पास नहीं है
मैंने जो reviews देखे हैं, उनके आधार पर Reolink doorbell camera लेखक की requirements से match करने वाला इकलौता commercial option लगता है। यह locally काम करता है और Home Assistant में integrate हो सकता है
हालांकि intercom के लिए अलग app चाहिए। लेखक का DIY solution audio communication देता हुआ नहीं लगता, और कम से कम camera protocol से तो Home Assistant में सीधे two-way audio इस्तेमाल करने का तरीका भी नहीं दिखता
ESP32 सच में बहुत गहरी rabbit hole जैसा है। ESP32 इस्तेमाल करने वाले या development में मौजूद projects पहले से ही बहुत हैं, और अब ध्यान में रखने के लिए एक और चीज़ मिल गई
शानदार project है। ESP32 camera की image quality काफी खराब हो सकती है। blog में doorbell से ली गई full-resolution photo हो तो मदद मिलेगी
बेहतरीन project है। makers द्वारा बनाए जा रहे तरह-तरह के ESP32 doorbells देखना अच्छा लगता है
कोई example video या photos हों तो अच्छा होगा। मैंने पहले ESP32 Cam इस्तेमाल किया है, और वह अपने-आप में impressive है, लेकिन personally मुझे जो quality चाहिए थी वैसी नहीं थी। बेशक, मेरा smart doorbell use case सिर्फ “कौन है” देखने से ज़्यादा security की तरफ है
अभी मैं cost बचाने के लिए
AS-IScondition में खरीदी गई काफी महंगी PoE doorbell इस्तेमाल कर रहा हूँ। यह Axis Communications का product हैONVIF events receive करने की इसकी capability मुझे बहुत पसंद है। अगर आप events consume कर सकते हैं, तो असल में आप अपनी मर्ज़ी का काम कर सकते हैं, जिससे ऐसे product की flexibility बढ़ जाती है। उदाहरण के लिए, कोई हाथ से camera lens ढक दे तो उसके लिए custom event बनाने का तरीका भी है
Home Assistant में ONVIF support शानदार है। native ONVIF events पाने के लिए मैं scripts (जैसे door open/close boolean) के आसपास किसी तरह का wrapper बनाना चाहता हूँ
इस site के comments में से एक ने ESP32 performance issue की ओर इशारा किया था। मैंने IoT devices या ऐसे boards के साथ काम नहीं किया है, लेकिन ये relatively सस्ते हैं, इसलिए try करना चाहता था; खोजने पर पता चला कि ESP32 40nm process पर manufactured होता है
सोच रहा हूँ कि क्या कोई latest version है जो अधिक advanced process पर manufactured हो और समान power budget में बेहतर performance दे
कुछ SoC families बेहतर trade-offs देती हैं, लेकिन hobby developers के लिए ESP32 जितनी friendly बहुत कम हैं। Nordic एक option हो सकता है, या Pi Zero जैसे छोटे single-board computers की तरफ जाना पड़ सकता है
फिर भी ESP32 ज़्यादातर home automation devices की ज़रूरत से कहीं ज्यादा powerful है। केवल video streaming या machine learning जैसे कुछ भारी tasks में इसकी limits सामने आने लगती हैं। तब भी clever तरीके से काफी कुछ किया जा सकता है