- आवश्यक घटक:
- कार्य स्पष्टीकरण:
- सर्किट स्पष्टीकरण:
- रास्पबेरी पाई कॉन्फ़िगरेशन और प्रोग्रामिंग स्पष्टीकरण:
रास्पबेरी पाई एक एआरएम कॉर्टेक्स आधारित लोकप्रिय विकास बोर्ड है जो इलेक्ट्रॉनिक इंजीनियरों और हॉबीस्ट के लिए डिज़ाइन किया गया है। प्रसंस्करण गति और स्मृति के साथ, रास्पबेरी पाई का उपयोग एक सामान्य पीसी की तरह एक समय में विभिन्न कार्यों को करने के लिए किया जा सकता है, और इसलिए इसे आपकी हथेली में मिनी कंप्यूटर कहा जाता है। हमने रास्पबेरी पाई ट्यूटोरियल की एक श्रृंखला बनाई है, रास्पबेरी पाई को खरोंच से शुरू करने के लिए और फिर रास्पबेरी पाई का उपयोग करके उच्च स्तरीय IoT प्रोजेक्ट बनाएं।
इस बार हम अपनी अगली दिलचस्प परियोजना के साथ हैं जो इमेज कैप्चर कार्यक्षमता के साथ विजिटर मॉनिटरिंग सिस्टम है । यहां हम गेट या दरवाजे के माध्यम से प्रवेश करने वाले प्रत्येक आगंतुक की छवि को कैप्चर करने के लिए रास्पबेरी पाई के साथ पाई कैमरा को इंटरफेर कर रहे हैं । इस परियोजना में, जब भी कोई व्यक्ति गेट पर आता है, तो उसे गेट खोलने के लिए एक बटन दबाना पड़ता है और जैसे ही वह बटन दबाता है, उसकी / उसकी तस्वीर को तारीख के साथ सिस्टम में कैप्चर और सहेज लिया जाएगा। और प्रवेश का समय । यह सुरक्षा और निगरानी उद्देश्य के लिए बहुत उपयोगी हो सकता है ।
यह प्रणाली उन कार्यालयों या कारखानों में बहुत उपयोगी है जहां आगंतुक प्रविष्टि रिकॉर्ड आगंतुकों के लिए बनाए रखा जाता है और कर्मचारियों के लिए उपस्थिति रिकॉर्ड बनाए रखा जाता है। यह मॉनिटरिंग सिस्टम पूरे विज़िटर की प्रविष्टियों और उपस्थिति को डिजिटाइज़ और स्वचालित करेगा, और उन्हें मैन्युअल रूप से बनाए रखने की कोई आवश्यकता नहीं होगी। यह प्रणाली या तो स्वयं व्यक्ति द्वारा संचालित की जा सकती है या बहुत आगंतुक के लिए बटन दबाने के लिए ऑपरेटर हो सकती है। यह पाई कैमरा के साथ शुरू करने और रास्पबेरी पाई के साथ इंटरफेस करने के लिए यह एक अच्छी परियोजना है ।
आवश्यक घटक:
- रास्पबेरी पाई
- पाई कैमरा
- 16x2 एलसीडी
- डीसी यंत्र
- आईसी L293D
- बजर
- एलईडी
- ब्रेड बोर्ड
- रेसिस्टर (1k, 10k)
- संधारित्र (100nF)
- बटन दबाओ
- तारों को जोड़ना
- 10k पॉट
- बिजली की आपूर्ति
कार्य स्पष्टीकरण:
इस रास्पबेरी पाई मॉनिटरिंग सिस्टम का कार्य सरल है। इसमें, एक पीआई कैमरा का उपयोग आगंतुकों की छवियों को पकड़ने के लिए किया जाता है, जब एक पुश बटन दबाया जाता है या ट्रिगर किया जाता है। एक डीसी मोटर का उपयोग गेट के रूप में किया जाता है । जब भी किसी को जगह में प्रवेश करना होता है तो उसे बटन दबाने की जरूरत होती है। बटन को पुश करने के बाद, रास्पबेरी पाई तस्वीर को क्लिक करने और इसे बचाने के लिए पाई कैमरा को कमांड भेजता है। इसके बाद, गेट को थोड़ी देर के लिए खोला जाता है और फिर बंद हो जाता है। बटन दबाने पर बजर का उपयोग ध्वनि उत्पन्न करने के लिए किया जाता है और एलईडी का उपयोग यह इंगित करने के लिए किया जाता है कि रास्पबेरी पाई पुश बटन प्रेस को स्वीकार करने के लिए तैयार है, इसका मतलब है कि जब एलईडी चालू है, तो ऑपरेशन के लिए सिस्टम तैयार है।
यहां रास्पबेरी पाई में आगंतुकों के चित्रों को उस नाम के साथ सहेजा जाता है जिसमें स्वयं प्रवेश का समय और तारीख होती है। इसका मतलब है कि किसी अन्य स्थान पर तारीख और समय को अलग से बचाने की आवश्यकता नहीं है क्योंकि हमने समय और तारीख को कैप्चर किए गए चित्र के नाम के रूप में सौंपा है, नीचे दी गई छवि देखें। हमने यहां एक बॉक्स की छवि को आगंतुक के रूप में लिया है, वीडियो में इसके पूर्ण प्रदर्शन की जांच करें ।
सर्किट स्पष्टीकरण:
इस रास्पबेरी पाई आगंतुक निगरानी प्रणाली का सर्किट बहुत सरल है। यहां लिक्विड क्रिस्टल डिस्प्ले (एलसीडी) का उपयोग आगंतुक प्रविष्टि के समय / तिथि और कुछ अन्य संदेशों को प्रदर्शित करने के लिए किया जाता है। एलसीडी 4-बिट मोड में रास्पबेरी पाई से जुड़ा हुआ है। एलसीडी के आरएस, एन, डी 4, डी 5, डी 6, और डी 7 रास्पबेरी पाई जीपीआईओ पिन नंबर 18, 23, 24, 16, 20 और 21 से जुड़े हैं । पाई कैमरा मॉड्यूल रास्पबेरी पाई के कैमरा स्लॉट में जुड़ा हुआ है। संकेत उद्देश्य के लिए रास्पबेरी पाई के GPIO पिन 26 से एक बजर जुड़ा हुआ है। एलईडी 1k रोकनेवाला के माध्यम से GPIO पिन 5 से जुड़ा है और एक पुश बटन जमीन के संबंध में GPIO पिन 19 से जुड़ा है, कैमरा ट्रिगर करने और गेट खोलने के लिए। डीसी मोटर (गेट के रूप में)मोटर चालक आईसी (L293D) के माध्यम से रास्पबेरी पाई GPIO पिन 17 और 27 के साथ जुड़ा हुआ है । बाकी कनेक्शन सर्किट आरेख में दिखाए जाते हैं।
पाई कैमरा को जोड़ने के लिए, पाई स्लॉट में पाई कैमरा की रिबन केबल डालें, आरपीआई बोर्ड पर कनेक्टर के टैब को थोड़ा ऊपर खींचें और रिबन केबल को स्लॉट में डालें, फिर रिबन केबल को ठीक करने के लिए टैब को फिर से नीचे धकेलें।
रास्पबेरी पाई कॉन्फ़िगरेशन और प्रोग्रामिंग स्पष्टीकरण:
हम यहां कार्यक्रम के लिए पायथन भाषा का उपयोग कर रहे हैं । कोडिंग से पहले, उपयोगकर्ता को रास्पबेरी पाई को कॉन्फ़िगर करने की आवश्यकता होती है। रास्पबेरी पाई के साथ शुरू करने और पाई में रास्पियन जेसी ओएस को स्थापित करने और कॉन्फ़िगर करने के लिए आपको दो ट्यूटोरियल से नीचे होना चाहिए:
- रास्पबेरी पाई के साथ शुरू करना - परिचय
- रास्पबेरी पाई के साथ शुरू करना - कॉन्फ़िगरेशन
रास्पबेरी पाई पर रास्पियन ओएस को सफलतापूर्वक स्थापित करने के बाद, हमें रास्पबेरी पाई में इस परियोजना को चलाने के लिए पाई कैमरा लाइब्रेरी फ़ाइलों को स्थापित करने की आवश्यकता है । ऐसा करने के लिए हमें दी गई आज्ञाओं का पालन करना होगा:
$ sudo apt-get Install python-picamera
इसके बाद, उपयोगकर्ता को रास्पबेरी पाई सॉफ्टवेयर कॉन्फ़िगरेशन टूल (रास्पी-कॉन्फ़िगरेशन) का उपयोग करके रास्पबेरी पाई कैमरा को सक्षम करने की आवश्यकता होती है:
$ सुडो रससी-विन्यास
इसके बाद इनेबल कैमरा और इनेबल इनेबल चुनें ।
फिर उपयोगकर्ता को सूडो रिबूट जारी करके, रास्पबेरी पाई को रिबूट करने की आवश्यकता है, ताकि नई सेटिंग ले सकें। अब आपका पाई कैमरा उपयोग के लिए तैयार है।
$ सूद रिबूट
इस परियोजना का पायथन कार्यक्रम सभी कार्यों को करने के लिए बहुत महत्वपूर्ण भूमिका निभाता है। सबसे पहले, हम आवश्यक पुस्तकालयों को शामिल करते हैं, चर को शुरू करते हैं और एलसीडी, एलईडी, मोटर और अन्य घटकों के लिए पिन को परिभाषित करते हैं।
आयात RPi.GPIO के रूप में gpio आयात पिकामेरा आयात समय m11 = 17 m12 = 27 एलईडी = 5 buz = 26 बटन = 19 रुपये = 18…………
फंक्शन डिफ कैप्चर_इमेज () समय और तिथि के साथ आगंतुक की छवि को कैप्चर करने के लिए बनाया गया है ।
def Capture_image (): lcdcmd (0x01) lcdprint ("कृपया प्रतीक्षा करें.."); data = time.strftime ("% d_% b_% Y \% H:% M:% S") कैमरा.start_preview () time.sleep (5) प्रिंट डेटा camera.capture ('/ घर /' / डेस्कटॉप / विज़िटर) /%s.jpg'%data) camera.stop_preview () lcdcmd (0x01) lcdprint ("इमेज कैप्चर किया गया") lcdcmd (0xc0) lcdprint ("सफलतापूर्वक") समय (2)
फंक्शन डिफ गेट () डीसी मोटर को चलाने के लिए लिखा गया है, जिसका उपयोग यहां गेट के रूप में किया जाता है।
def Gate (): lcdcmd (0x01) lcdprint ("Welcome") gpio.output (m11, 1) gpio.output (m12, 0) time.sleep (1.5) gpio.output (m11, 0) gpio.output (m12), 0) time.sleep (3) gpio.output (m11, 0) gpio.output (m12, 1) time.sleep (1.5) gpio.output (m11, 0) gioio.output (m12, 0) lcdcmd (0x01)); lcdprint ("थैंक यू") time.sleep (2)
कुछ कार्य एलसीडी के लिए परिभाषित कर रहे हैं की तरह () डीईएफ़ शुरू समारोह एलसीडी प्रारंभ करने में प्रयोग किया जाता है, डीईएफ़ lcdcmd (ch) समारोह एलसीडी करने के लिए आदेश भेजने के लिए प्रयोग किया जाता है, डीईएफ़ lcdwrite (ch) समारोह एलसीडी और को डाटा भेजने के लिए प्रयोग किया जाता है डीईएफ़ lcdprint Str () फ़ंक्शन का उपयोग एलसीडी में डेटा स्ट्रिंग भेजने के लिए किया जाता है। आप बाद में दिए गए कोड में इन सभी कार्यों की जांच कर सकते हैं।
फिर हमने एलसीडी और पाई कैमरा को इनिशियलाइज़ किया है और लूप का उपयोग करते हुए लगातार पुश बटन को पढ़ा है । जब भी पुश बटन दबाया जाता है, प्रवेश के लिए गेट खोलने के लिए, आगंतुक की छवि को कैप्चर किया जाता है और तारीख और समय के साथ रास्पबेरी पाई में सहेजा जाता है और गेट खोला जाता है। नीचे पूर्ण कोड और प्रदर्शन वीडियो देखें।
जबकि 1: d = time.strftime ("% d% b% Y") t = time.strftime ("% H:% M:% S") lcdcmd (0x80) lcdprint ("समय:% s"% t) lcdcmd (0xc0) lcdprint ("दिनांक:% s"% d) gpio.output (नेतृत्व, 1) यदि gpio.input (बटन) == 0: gpio.output (buz, 1): gpio.output (led, 0) time.sleep (0.5) gpio.output (buz, 0) कैप्चर_इमेज () गेट) (time.sleep (0.5)
इस कैमरा मॉनिटरिंग सिस्टम में अपग्रेड करने की बहुत गुंजाइश है, जैसे किसी सॉफ्टवेयर को कंप्यूटर विज़न या ओपनसीवी में बनाया जा सकता है, जो पहले से संग्रहित चित्रों के साथ आगंतुक की कैप्चर की गई तस्वीर से मिलान करने के लिए और केवल आगंतुक को अधिकृत करता है यदि कुछ मैच मिल गया है, तो यह केवल होगा अधिकृत लोगों के लिए गेट खोलें।