इंटरनेट ऑफ थिंग्स (IoT) की दुनिया में जब हमारे पास अपने जीवन में क्रांति लाने के लिए सभी प्रौद्योगिकियां हैं, तो एक ऐसी प्रणाली विकसित करना एक महान विचार है जिसे कहीं से भी नियंत्रित और निगरानी किया जा सकता है। घर की सुरक्षा के लिए कई तरह के अच्छे सुरक्षा सिस्टम और कैमरे हैं, लेकिन वे बहुत महंगे हैं इसलिए आज हम कम लागत वाले सरल रास्पबेरी पाई आधारित इंट्रूडर अलर्ट सिस्टम का निर्माण करेंगे, जो न केवल आपको एक ईमेल के माध्यम से सचेत करता है बल्कि उसकी तस्वीर भी भेजता है। घुसपैठिया जब किसी का पता लगाता है।
इस IoT आधारित परियोजना में, हम PIR सेंसर और PI कैमरा का उपयोग करके एक गृह सुरक्षा प्रणाली का निर्माण करेंगे । यह सिस्टम घुसपैठिए की उपस्थिति का पता लगाएगा और उपयोगकर्ता को तुरंत अलर्ट मेल भेजकर उसे सचेत करेगा। इस मेल में पिअर कैमरे द्वारा कैद की गई घुसपैठियों की तस्वीर भी होगी। रास्पबेरी पाई का उपयोग पूरे सिस्टम को नियंत्रित करने के लिए किया जाता है। यह प्रणाली आपके घर या कार्यालय के मुख्य द्वार पर स्थापित की जा सकती है और आप इसे दुनिया भर में कहीं से भी इंटरनेट पर अपने ईमेल का उपयोग करके देख सकते हैं।
आवश्यक घटक:
- रास्पबेरी पाई
- पाई कैमरा
- पीर सेंसर
- एलईडी
- ब्रेड बोर्ड
- रेसिस्टर (1k)
- तारों को जोड़ना
- बिजली की आपूर्ति
आप इस परियोजना में उपयोग किए गए सभी घटकों को यहां से खरीद सकते हैं।
कार्य स्पष्टीकरण:
इस परियोजना का कार्य बहुत सरल है। किसी भी व्यक्ति की उपस्थिति का पता लगाने के लिए एक पीआईआर सेंसर का उपयोग किया जाता है और एक पीआई कैमरा का उपयोग छवियों को पकड़ने के लिए किया जाता है जब उपस्थिति का पता चला।
जब भी कोई या घुसपैठिया पीआईआर सेंसर की सीमा में आता है, पीआईआर सेंसर रास्पबेरी पाई के माध्यम से पाई कैमरा चलाता है । रास्पबेरी पाई तस्वीर को क्लिक करने और इसे बचाने के लिए पाई कैमरा को कमांड भेजता है। इसके बाद, रास्पबेरी पाई एक मेल बनाता है और इसे हाल ही में क्लिक की गई छवियों के साथ परिभाषित मेल पते पर भेजता है। मेल में अनुलग्नक के रूप में घुसपैठिया का संदेश और चित्र होता है। यहां हमने "कृपया अनुलग्नक ढूंढें" संदेश का उपयोग किया है, आप इसे अंत में दिए गए कोड के अनुसार बदल सकते हैं।
यहां रास्पबेरी पाई में चित्रों को उस नाम से सहेजा जाता है जिसमें स्वयं प्रवेश का समय और दिनांक होता है। ताकि हम चित्र के नाम को देखकर घुसपैठिया प्रवेश के समय और तारीख की जांच कर सकें, नीचे दी गई छवियों को देखें। यदि आप Pi कैमरा के साथ नए हैं तो Pi कैमरा के साथ विज़िटर मॉनिटरिंग सिस्टम पर हमारे पिछले ट्यूटोरियल को देखें।
आप PIR सेंसर के पोटेंशियोमीटर का उपयोग करके इस सिस्टम की डिटेक्शन रेंज या दूरी को भी समायोजित कर सकते हैं। पीआईआर सेंसर के बारे में अधिक जानें यहां रेंज समायोजित करने के लिए पीआईआर सेंसर आधारित बर्गलर अलार्म की भी जांच करें।
सर्किट विवरण:
इस घुसपैठिए चेतावनी प्रणाली में, हमें केवल पाई कैमरा मॉड्यूल और पीआईआर सेंसर को रास्पबेरी पाई 3 से कनेक्ट करना होगा । पाई कैमरा रास्पबेरी पाई के कैमरा स्लॉट में जुड़ा हुआ है और पीआईआर जीपीआईओ पिन 18 से जुड़ा है। एक एलईडी 1k रोकनेवाला के माध्यम से जीपीआईओ पिन 17 से भी जुड़ा है।
रास्पबेरी पाई कॉन्फ़िगरेशन और प्रोग्रामिंग स्पष्टीकरण:
हम यहां कार्यक्रम के लिए पायथन भाषा का उपयोग कर रहे हैं । कोडिंग से पहले, उपयोगकर्ता को रास्पबेरी पाई को कॉन्फ़िगर करने की आवश्यकता होती है। रास्पबेरी पाई के साथ शुरू करने और पाई में रास्पियन जेसी ओएस को स्थापित करने और कॉन्फ़िगर करने के लिए आपको दो ट्यूटोरियल से नीचे होना चाहिए:
- रास्पबेरी पाई के साथ शुरू करना - परिचय
- रास्पबेरी पाई के साथ शुरू करना - कॉन्फ़िगरेशन
रास्पबेरी पाई पर रास्पियन ओएस को सफलतापूर्वक स्थापित करने के बाद, हमें रास्पबेरी पाई में इस परियोजना को चलाने के लिए पाई कैमरा लाइब्रेरी फ़ाइलों को स्थापित करने की आवश्यकता है । ऐसा करने के लिए हमें दी गई आज्ञाओं का पालन करना होगा:
$ sudo apt-get install अजगर-पिकामेरा $ sudo apt-get installpython3-picamera
इसके बाद, उपयोगकर्ता को रास्पबेरी पाई सॉफ्टवेयर कॉन्फ़िगरेशन टूल (रास्पी-कॉन्फ़िगरेशन) का उपयोग करके रास्पबेरी पाई कैमरा को सक्षम करने की आवश्यकता होती है:
$ सुडो रससी-विन्यास
इसके बाद इनेबल कैमरा और इनेबल इनेबल चुनें ।
फिर उपयोगकर्ता को सूडो रिबूट जारी करके, रास्पबेरी पाई को रिबूट करने की आवश्यकता है, ताकि नई सेटिंग ले सकें। अब आपका पाई कैमरा उपयोग के लिए तैयार है।
अब पाई कैमरा स्थापित करने के बाद, हम मेल भेजने के लिए सॉफ्टवेयर स्थापित करेंगे। यहां हम ssmtp का उपयोग कर रहे हैं जो कमांड लाइन का उपयोग करके मेल भेजने या पायथन स्क्रिप्ट का उपयोग करने का एक आसान और अच्छा समाधान है । हमें SMTP का उपयोग करके मेल भेजने के लिए दो लाइब्रेरी स्थापित करने की आवश्यकता है:
Sudo apt-get install ssmtp sudo apt-get install mailutils
पुस्तकालयों को स्थापित करने के बाद, उपयोगकर्ता को ssmtp.conf फ़ाइल खोलने और इस कॉन्फ़िगरेशन फ़ाइल को संपादित करने की आवश्यकता है जैसा कि नीचे दी गई तस्वीर में दिखाया गया है और फिर फ़ाइल को सहेजें। फ़ाइल को सहेजने और बाहर निकलने के लिए, 'CTRL + x' दबाएँ, फिर 'y' और फिर 'एंटर' दबाएँ।
सुडो नैनो /etc/ssmtp/ssmtp.conf
रूट = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride =ESESSTARTTLS = YES UseTLS = YES
हम नीचे दिए गए आदेश को जारी करके एक परीक्षण मेल भेजकर भी इसका परीक्षण कर सकते हैं, यदि आप सब कुछ काम कर रहे हैं तो आपको उल्लिखित ईमेल पते पर मेल प्राप्त होगा:
इको "हैलो सद्दाम" - मेल -s "परीक्षण…" [email protected]
इस परियोजना का पायथन कार्यक्रम सभी कार्यों को करने के लिए बहुत महत्वपूर्ण भूमिका निभाता है। सबसे पहले, हम ईमेल के लिए आवश्यक पुस्तकालयों को शामिल करते हैं, चर शुरू करते हैं और पीआईआर, एलईडी और अन्य घटकों के लिए पिन को परिभाषित करते हैं। सरल ईमेल भेजने के लिए, smtplib पर्याप्त है लेकिन यदि आप विषय पंक्ति, अनुलग्नक आदि के साथ क्लीनर तरीके से मेल भेजना चाहते हैं तो आपको MIME (बहुउद्देशीय इंटरनेट मेल एक्सटेंशन) का उपयोग करने की आवश्यकता है।
आयात RPi.GPIO के रूप में gpio आयात पिकामीरा आयात समय ईमेल से smtplib। ईमेल से MIMEMultipart आयात MIMEMultipart। ईमेल से MIMEText आयात करें। ईमेल से MIMBext आयात करें।
इसके बाद, हमने मेल को इनिशियलाइज़ किया और मेल एड्रेस और मैसेज को परिभाषित किया:
fromaddr = "[email protected]" toaddr = "[email protected]" मेल = MIMEMultipart () मेल = fromaddr मेल = toaddr मेल = "अनुलग्नक" बॉडी = "कृपया अनुलग्नक खोजें"
फिर हमने मेल भेजने के लिए def sendMail (डेटा) फ़ंक्शन बनाया है:
def सेंडमेल (डेटा): mail.attach (MIMEText (बॉडी, 'प्लेन')) प्रिंट डेटा डेट = '% s.jpg'% डेटा प्रिंट डेटा अटैचमेंट = ओपन (डेटा, 'आरबी') इमेज = MIMEIfage (अटैचमेंट) ()) अनुलग्नक.close () mail.attach (छवि) सर्वर = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "आपका पासवर्ड") पाठ = मेल। as_string () server.sendmail (fromaddr, toaddr, टेक्स्ट) server.quit ()
फंक्शन डी कैप्चर_इमेज () समय और तारीख के साथ घुसपैठिए की छवि को पकड़ने के लिए बनाया गया है ।
def Capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") कैमरा.start_preview () time.sleep (5) प्रिंट डेटा कैमरा। jpg का% डेटा) camera.stop_preview () time.sleep (1) sendMail (डेटा)
फिर हमने इसकी कुछ सेटिंग्स के साथ पिकामेरा को इनिशियलाइज़ किया:
कैमरा = पिकामेरा.पाइकेमेरा () कैमरा। फोटो = १aw० कैमरा।बाउमोड = 'ऑटो’कैमरा।ब्राइटनेस = ५५
और अब अंतिम में, हमने पीआईआर सेंसर आउटपुट पढ़ा है और जब इसकी उच्च रास्पबेरी पाई जाती है तो घुसपैठिए की छवि को पकड़ने के लिए कैप्चर_इमेज () फ़ंक्शन को कॉल करता है और एक अनुलग्नक के रूप में घुसपैठिए की तस्वीर के साथ एक चेतावनी संदेश भेजता है। हमने मेल भेजने के लिए सेंडमेल () इंडी कैप्चर_इमेज () फ़ंक्शन का उपयोग किया है।
जबकि 1: अगर gpio.input (पीर) == 1: gpio.output (एलईडी, हाई) कैप्चर_इमेज () जबकि (gpio.input (पीर) == 1): time.sleep (1) और - gpio.output (नेतृत्व, कम) time.sleep (0.01)
तो यह कैसे यह रास्पबेरी पाई सुरक्षा प्रणाली काम करता है, आप बर्गलर या घुसपैठिये की उपस्थिति का पता लगाने के लिए अल्ट्रासोनिक सेंसर या आईआर सेंसर का भी उपयोग कर सकते हैं। आगे पूर्ण कोड और प्रदर्शन वीडियो नीचे देखें।