- अवयव आवश्यक
- सोलेनॉइड लॉक
- सर्किट आरेख
- Arduino IDE पर ESP32 बोर्ड स्थापित करें
- कोड स्पष्टीकरण
- परीक्षण कर रहा है
सुरक्षा आजकल किसी के लिए सबसे अधिक चिंता का विषय है, चाहे वह डेटा सुरक्षा हो या अपने घर की सुरक्षा। प्रौद्योगिकी की प्रगति और IoT के बढ़ते उपयोग के साथ, डिजिटल दरवाजा ताले इन दिनों बहुत आम हो गए हैं। डिजिटल लॉक को किसी भी भौतिक कुंजी की आवश्यकता नहीं है, लेकिन यह दरवाजे के लॉक को नियंत्रित करने के लिए आरएफआईडी, फिंगरप्रिंट, फेस आईडी, पिन, पासवर्ड आदि का उपयोग करता है। अतीत में, हमने इन विभिन्न तकनीकों का उपयोग करके कई डिजिटल डोर लॉक एप्लिकेशन विकसित किए हैं। इस ट्यूटोरियल में हम ESP32-CAM का उपयोग करके फेस आईडी नियंत्रित डिजिटल डोर लॉक सिस्टम का निर्माण करते हैं ।
AI- थिंकर ESP32-CAM मॉड्यूल एक कम लागत वाला विकास बोर्ड है जिसमें बहुत छोटे आकार का OV2640 कैमरा और एक माइक्रो एसडी कार्ड स्लॉट है। इसमें बिल्ट-इन वाई-फाई और ब्लूटूथ कनेक्टिविटी के साथ ESP32 S चिप है, जिसमें 2 हाई-परफॉर्मेंस 32-बिट LX6 CPU, 7-स्टेज पाइपलाइन आर्किटेक्चर है। हमने पहले ESP32-CAM के बारे में विस्तार से बताया है और इसका उपयोग वाई-फाई डोर वीडियो डोरबेल बनाने में किया है। इस बार हम रिले मॉड्यूल और सोलेनॉइड लॉक का उपयोग करके फेस रिकग्निशन आधारित डोर लॉक सिस्टम बनाने के लिए ESP32-CAM का उपयोग करेंगे ।
अवयव आवश्यक
- ESP32 CAM
- एफटीडीआई बोर्ड
- रिले मॉड्यूल
- सोलेनॉइड लॉक
- जम्पर तार
सोलेनॉइड लॉक
एक सोलनॉइड लॉक इलेक्ट्रॉनिक-मैकेनिकल लॉकिंग तंत्र पर काम करता है। इस तरह के लॉक में स्लग कट और एक अच्छा माउंटिंग ब्रैकेट होता है। जब शक्ति लागू होती है, तो डीसी एक चुंबकीय क्षेत्र बनाता है जो स्लग को अंदर ले जाता है और दरवाजे को अनलॉक स्थिति में रखता है। जब तक बिजली हटा दी जाती है तब तक स्लग अपनी स्थिति बनाए रखेगा। जब बिजली काट दी जाती है, तो स्लग बाहर चला जाता है और दरवाजे को बंद कर देता है। यह एक बंद राज्य में किसी भी शक्ति का उपयोग नहीं करता है। सोलेनोइड लॉक को चलाने के लिए, आपको एक शक्ति स्रोत की आवश्यकता होगी जो 12V @ 500mA दे सके।
हमने पहले एक Arduino आधारित RFID डोर लॉक बनाने के लिए एक सोलनॉइड लॉक का उपयोग किया था।
सर्किट आरेख
ESP32-CAM फेस रिकग्निशन डोर लॉक सिस्टम के लिए सर्किट आरेख नीचे दिया गया है:
उपरोक्त सर्किट एक FTDI बोर्ड, रिले मॉड्यूल और सोलेनोइड लॉक के साथ संयुक्त है। FTDI बोर्ड में कोड को फ्लैश करने के लिए FTDI बोर्ड का उपयोग किया जाता है क्योंकि इसमें USB कनेक्टर नहीं होता है जबकि रिले मॉड्यूल को Solenoid लॉक को चालू या बंद करने के लिए उपयोग किया जाता है। एफटीसीडी बोर्ड और रिले मॉड्यूल के वीसीसी और जीएनडी पिन ईएसपी 32-सीएएम के वीसीसी और जीएनडी पिन से जुड़े हैं। FTDI बोर्ड के TX और RX ESP32 के RX और TX से जुड़े हैं और रिले मॉड्यूल का IN पिन ESP32-CAM के IO4 से जुड़ा है।
ESP32-CAM |
एफटीडीआई बोर्ड |
5 वी |
वीसीसी |
GND |
GND |
उर |
टेक्सास |
UOT |
RX |
ESP32-CAM |
रिले मॉड्यूल |
5 वी |
वीसीसी |
GND |
GND |
IO4 |
में |
नोट: कोड अपलोड करने से पहले, IO0 को जमीन से कनेक्ट करें। IO0 यह निर्धारित करता है कि ESP32 चमकती मोड में है या नहीं। जब GPIO 0 GND से जुड़ा होता है, तो ESP32 फ्लैशिंग मोड में होता है।
सर्किट आरेख के अनुसार हार्डवेयर को जोड़ने के बाद, इसे नीचे जैसा कुछ दिखना चाहिए:
Arduino IDE पर ESP32 बोर्ड स्थापित करें
यहाँ Arduino IDE का उपयोग ESP32-CAM को प्रोग्राम करने के लिए किया जाता है। उसके लिए, सबसे पहले, Arduino IDE पर ESP32 एड-ऑन इंस्टॉल करें।
अपने Arduino IDE में ESP32 बोर्ड स्थापित करने के लिए, फ़ाइल> वरीयताएँ पर जाएँ।
अब नीचे दिए गए लिंक को कॉपी करें और नीचे दिए गए चित्र में दिखाए अनुसार इसे "अतिरिक्त बोर्ड प्रबंधक URL" फ़ील्ड में पेस्ट करें। उसके बाद ओके बटन दबाएं:
https://dl.espressif.com/dl/package_esp32_index.json
अब Tools> Board> Boards Manager पर जाएं
बोर्ड मैनेजर में, ESP32 की खोज करें और "ESP32 एस्प्रेसिफ सिस्टम द्वारा" स्थापित करें।
कोड स्पष्टीकरण
हमने पिछले लेख में ESP32 के साथ फेस रिकग्निशन की व्याख्या की; यहाँ हम एक सोलनॉइड डोर लॉक को नियंत्रित करने के लिए समान कोड को संशोधित करेंगे। पूरा कोड चार भागों में विभाजित है। एक कैमरा और रिले मॉड्यूल के लिए मुख्य कोड है जहां ESP32 अंकित पहचान के अनुसार दरवाजे को लॉक या अनलॉक करता है, और अन्य तीन कोड वेब पेज, कैमरा इंडेक्स और कैमरा पिन के लिए हैं। इस पृष्ठ के अंत में पूरा कोड दिया गया है। यहां हम कोड के कुछ महत्वपूर्ण भागों की व्याख्या कर रहे हैं।
सभी लाइब्रेरी फ़ाइलों को शामिल करके कार्यक्रम शुरू करें।
#include "esp_camera.h" #include
अगली पंक्ति में, कैमरा मॉड्यूल को असुविधाजनक करें जो आप ईएसपी 32 के साथ उपयोग कर रहे हैं। कोड में, पांच अलग-अलग कैमरा मॉडल परिभाषित किए गए हैं। इस स्थिति में, हम AI-THINKER मॉडल का उपयोग कर रहे हैं।
// # परिभाषित CAMERA_MODEL_WROVER_KIT // # परिभाषित CAMERA_MODEL_ESP_EYE // # परिभाषित CAMERA_MODEL_M5STACK_PSRAM // # परिभाषित CAMERA_MODEL_M5STACK_PSRAM // # परिभाषित CAMERA_MODEL_M5ELACK_WIDE #define CAMERA_MODEL_AI_THINKER
उसके बाद, निम्न चर में अपने नेटवर्क क्रेडेंशियल्स डालें:
const char * ssid = "वाई-फाई नाम"; const char * पासवर्ड = "वाई-फाई पासवर्ड";
फिर पिन को परिभाषित करें जहां रिले मॉड्यूल जुड़ा हुआ है। हम समय के परिभाषित अंतराल में इसे अनलॉक करने के बाद दरवाजे को बंद करने के लिए मिलिस () फ़ंक्शन का उपयोग करेंगे, यहां 5 सेकंड है।
# डेफ़िन रिले 4 लंबे प्राइममिलिस = 0; int अंतराल = 5000;
में सेटअप () समारोह, डीबगिंग उद्देश्यों के लिए 115200 के एक बॉड दर पर सीरियल मॉनिटर आरंभ कर देगा। फिर अगली पंक्तियों में, रिले मॉड्यूल के लिए पिन मोड को परिभाषित करें और शुरू में कम स्थान पर रिले को भी सेट करें।
शून्य सेटअप () {Serial.begin (115200); पिनमोड (रिले, OUTPUT); digitalWrite (रिले, LOW);
लूप () फ़ंक्शन के अंदर, जांच लें कि क्या चेहरा नामांकित चेहरे के साथ मेल खाता है। यदि हाँ, तो दरवाजे को 5 सेकंड के लिए अनलॉक करें और 5 सेकंड के बाद फिर से दरवाज़ा बंद करें।
शून्य लूप () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (रिले, हाई); prevMillis = millis (); } अगर (activeRelay == सच && मिली) () - प्राइमिलिस> अंतराल) {activeRelay = false; माचिस = झूठी; digitalWrite (रिले, LOW); }
परीक्षण कर रहा है
अंत में कोड अपलोड करने के लिए, FDTI बोर्ड को अपने लैपटॉप से कनेक्ट करें, और अपने बोर्ड के रूप में 'ESP32 Wrover मॉड्यूल' का चयन करें। नीचे दी गई तस्वीर में दिखाए अनुसार अन्य सेटिंग्स भी बदलें:
कोड अपलोड करने से पहले जीओडी से IO0 पिन कनेक्ट करना न भूलें और ESP32 रीसेट बटन भी दबाएं और फिर अपलोड बटन पर क्लिक करें।
नोट: यदि आपको कोड अपलोड करते समय त्रुटियाँ मिलती हैं, तो जांचें कि IO0 GND से जुड़ा है, और आपने टूल मेनू में सही सेटिंग्स का चयन किया है।
कोड अपलोड करने के बाद, IO0 और GND पिन को हटा दें। फिर सीरियल मॉनिटर खोलें और बॉड दर को बदलकर 115200 करें। उसके बाद, ESP32 रीसेट बटन दबाएं, यह ईएसपी आईपी पते को प्रिंट करेगा और पोर्ट नं। सीरियल मॉनीटर पर।
अब ब्राउजर में नेविगेट करें और कैमरा स्ट्रीमिंग तक पहुंचने के लिए सीरियल मॉनिटर से कॉपी किए गए ईएसपी आईपी एड्रेस डालें। यह आपको स्ट्रीमिंग पेज पर ले जाएगा। वीडियो स्ट्रीमिंग शुरू करने के लिए, पृष्ठ के निचले भाग में 'स्टार्ट स्ट्रीम' बटन पर क्लिक करें।
ESP32-CAM के साथ चेहरों को पहचानने के लिए, पहले हमें चेहरों को नामांकित करना होगा। उसके लिए, सेटिंग्स से फेस रिकग्निशन और डिटेक्शन फीचर्स को ऑन करें और फिर एनरोल फेस बटन पर क्लिक करें। चेहरे को बचाने के लिए कई प्रयास करने पड़ते हैं। चेहरे को बचाने के बाद, यह चेहरे को विषय 0 के रूप में पहचानता है जहां शून्य चेहरा संख्या है।
चेहरों को नामांकित करने के बाद, यदि वीडियो फ़ीड में किसी चेहरे को पहचाना जाता है, तो ESP32 दरवाजा खोलने के लिए रिले मॉड्यूल को उच्च बना देगा।
तो यह है कि ESP32-CAM का उपयोग चेहरा पहचान आधारित सुरक्षा प्रणाली बनाने के लिए कैसे किया जा सकता है। पूरा कोड इस लिंक से डाउनलोड किया जा सकता है और एक प्रदर्शन वीडियो के साथ नीचे भी दिया गया है।