विषयसूची:
वीडियो: दरवाजे पर कौन है, एलेक्सा सक्रिय कैमरा सिस्टम: 3 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
कभी-कभी टीवी देखते समय आप दरवाजे का जवाब तब तक नहीं देना चाहते जब तक कि यह महत्वपूर्ण न हो। यह प्रोजेक्ट आपको अमेज़ॅन के इको डिवाइस "एलेक्सा, डोर मॉनिटर चालू करें" कहकर दरवाजे पर व्यक्ति को देखने की अनुमति देता है। आप जांचते हैं कि टीवी स्क्रीन पर कौन दिखाई देता है, फिर सामान्य टीवी प्रोग्रामिंग "एलेक्सा, टीवी चालू करें" पर वापस जाएं। यह प्रणाली बड़े वयस्कों या बच्चों के लिए भी महत्वपूर्ण हो सकती है जो कि सेल्सपर्सन, चोरों और इस तरह के अन्य लोगों द्वारा लाभ उठाए जाने के लिए असुरक्षित होंगे। यह आपके मनोरंजन प्रणाली के बड़े स्क्रीन टीवी को न केवल सामने वाले दरवाजे के कैमरे के लिए, बल्कि आपके पास मौजूद किसी भी अन्य सुरक्षा कैमरे के लिए कैमरा डिस्प्ले मॉनिटर बनने की अनुमति देता है; वास्तव में इसे इंटरनेट कैमरों से वीडियो प्रदर्शित करने के लिए भी बढ़ाया जा सकता है, जैसे समुद्र तट कैम आदि।
भाग:
मनोरंजन प्रणाली:
कई एचडीएमआई इनपुट वाले टीवी (ज्यादातर टीवी सेट में होते हैं)
केबल या डीवीआर बॉक्स
केबल बॉक्स के माध्यम से राउटर और इंटरनेट कनेक्शन (यदि आपके पास वाईफाई है तो इसकी आवश्यकता नहीं हो सकती है)
अमेज़ॅन इको ("एलेक्सा")
सद्भाव हब
कैमरा
सामने के दरवाजे पर आईपी कैमरा (पावर ओवर इथरनेट-पीओई- टाइप पसंदीदा)
एचडीएमआई केबल के साथ प्रोजेक्ट बॉक्स (मूल पाई काम कर सकता है) में रास्पबेरी पीआई 3
Arduino प्रो मिनी 8 मेगाहर्ट्ज, 3.3v
आईआर मॉड्यूल (सबसे सामान्य प्रकार काम करेंगे)
चरण 1: सेटअप, प्रारंभिक प्रोग्रामिंग (परीक्षण)
यह प्रोजेक्ट Pi3 omxplayer पर निर्भर करता है जो हार्डवेयर त्वरण के साथ वीडियो को डिकोड करता है। Omxplayer को आपके कैमरे के लिए आवश्यक उपयुक्त rtsp://user@password@ipaddress प्रारूप का उपयोग करके पाई टर्मिनल में कमांड लाइन से टेस्ट रन किया जा सकता है। पीआई को ईथरनेट से जोड़ा जाना चाहिए (हालांकि पीआई 3 को वाईफाई के माध्यम से भी जोड़ा जा सकता है, लेकिन परीक्षण नहीं किया गया है) और भौतिक रूप से मनोरंजन केंद्र में स्थित होना चाहिए ताकि पीआई की एचडीएमआई आउटपुट केबल टीवी एचडीएमआई इनपुट जैक तक पहुंच सके। Arduino और IR मॉड्यूल पाई से कनेक्ट होंगे, और टीवी रिमोट कंट्रोल बटन प्रेस को पढ़ने से प्राप्त जानकारी को रिले करेंगे। पीआई इस डिकोडिंग को सीधे आईआर मॉड्यूल से कर सकता है, लेकिन मैं पाइथन प्रोग्रामिंग की तुलना में Arduino प्रोग्रामिंग में बेहतर हूं और इसके अलावा यह वीडियो स्ट्रीम को डीकोड करने के पीआई के मुख्य कार्य के लिए प्रोसेसर संसाधनों को बचाता है।
चूंकि मेरी सुरक्षा प्रणाली में कई कैमरे हैं, इसलिए मैंने एक बार में 4 कैमरों को प्रदर्शित करने के तरीके के रूप में पाई संचालित निगरानी प्रदर्शन का उपयोग किया, साथ ही व्यक्तिगत कैमरों को पूर्ण स्क्रीन प्रदर्शित किया। उन निर्देशों का पालन करें, हालाँकि आपको कैमरों को स्थिर तरीके से प्रदर्शित करने में बहुत सारी समस्याएँ हो सकती हैं।
समस्याओं में से एक यह है कि प्रोग्राम में सूचीबद्ध 4 विंडो आकार आपके विशेष टीवी रिज़ॉल्यूशन में फिट नहीं हो सकते हैं। पता लगाएं कि आपके कैमरे के कैमरा रिज़ॉल्यूशन को नोट करते समय आपका मॉनिटर किन रिज़ॉल्यूशन का समर्थन करता है। अधिकांश आईपी कैमरों में एक उच्च रिज़ॉल्यूशन (1080p) और एक कम रिज़ॉल्यूशन (640x480) स्ट्रीम होता है, इसलिए यदि आप सामने वाले दरवाजे का केवल एक उच्च रिज़ॉल्यूशन वाला वीडियो चाहते हैं, तो उच्च रिज़ॉल्यूशन स्ट्रीम rtsp: // प्रारूप के साथ जाएं। 4 क्वाड्रंट में कैमरों के लिए कम रिज़ॉल्यूशन स्ट्रीम के साथ जाएं, आपको छोटे चित्र आकारों के साथ बहुत अंतर दिखाई नहीं देगा। आप मेरी बैश स्क्रिप्ट (test.sh) विंडो साइज (1080p रेजोल्यूशन मोड में, फिट करने के लिए स्केल किए गए 4 बराबर आकार के 640x480 कैमरे प्रदर्शित करते हुए) के साथ जा सकते हैं। अन्यथा, अपने टीवी पिक्सल को लेआउट करने के लिए ग्राफ पेपर का उपयोग करें और फिर उस क्षेत्र में आप कितने आयत चाहते हैं, इसका स्केच बनाएं। इसके बाद पता लगाएं कि बहुत अधिक पहलू बदले बिना कितने 640x480 वीडियो फिट होंगे (क्षैतिज रूप से खींचना लंबवत से बेहतर दिखता है)। मुझे सीमाएं पसंद नहीं हैं, इसलिए उनके लिए गणना नहीं की। आयतों को ऊपर बाएँ से नीचे दाएँ 1, 2, 3…आदि क्रमांकित करें। फिर विंडो नंबरों का एक कॉलम बनाएं, उन नंबरों की प्रत्येक पंक्ति के लिए ऊपरी बाएँ x, y पिक्सेल और निचला दायाँ पिक्सेल x, y लिखें। कस्टम डिस्प्ले प्राप्त करने के लिए उन नंबरों को स्क्रिप्ट में प्रतिस्थापित किया जाता है, यदि वांछित हो तो आपके पास 3 x 3 डिस्प्ले हो सकता है। यदि आप केवल एक डिस्प्ले चाहते हैं, तो बस अन्य 3 कैमरों पर टिप्पणी करें और विंडो के आकार को पूर्ण स्क्रीन रिज़ॉल्यूशन बनाएं (और उच्च रिज़ॉल्यूशन आरटीएसपी स्ट्रीम का उपयोग करें) और स्क्रिप्ट को "test1.sh" शीर्षक दें। जितनी चाहें उतनी स्क्रिप्ट बनाएं, btn.py पायथन प्रोग्राम उन्हें कॉल करेगा क्योंकि GPIO पिन Arduino द्वारा बदल दिए जाते हैं।
एक स्थिर प्रदर्शन प्राप्त करने में एक समस्या (छवि के शीर्ष पर ठीक है, लेकिन निचली छवि लंबवत धारियाँ) यह है कि कई कैमरे tcp पर rtsp का उपयोग करके बेहतर तरीके से स्ट्रीम करते हैं (मैं Hikvision 2 से 5 Mp IP कैमरों का उपयोग करता हूं)। इसलिए, दिखाए गए अनुसार omxplayer में "--avdict rtsp_transport:tcp" का उपयोग करें। अन्य उपयोगी omxplayer कमांड हैं वॉल्यूम (--vol -6000 म्यूट के लिए) और बफर (--वीडियो कतार x) जहां x = 1 या अधिक।
IP कैमरा सेटिंग्स भी omxplayer के साथ समस्याएँ पैदा कर सकती हैं। सभी आईपी कैमरों को एक ही फ्रेम प्रति सेकेंड पर सेट किया जाना चाहिए या तस्वीर टूट जाएगी। जब मौलिक रूप से भिन्न फ़्रेम दर पर सेट किया जाता है, तो एक कैमरा टाइम स्टैम्प पर प्रदर्शित समय वास्तव में कुछ सेकंड के लिए पीछे चला जाता है, फिर आगे फिर पीछे आदि। सुनिश्चित करें कि आपकी omxplayer विंडो ओवरलैप नहीं होती है, या ओवरलैपिंग भाग झिलमिलाहट करेगा।
चरण 2: इसे एक साथ रखना
पाई को फ्रंट डोर कैमरा दिखाने की अनुमति देने के लिए आप केबल बॉक्स और टीवी को मैन्युअल रूप से नियंत्रित कर सकते हैं। हालाँकि, इसके लिए काफी कुछ बटन प्रेस की आवश्यकता होती है, जिसमें एचडीएमआई इनपुट स्रोत को पाई कैमरा डिकोडर (एचडीएमआई 2) में बदलने की अनुमति देने के लिए केबल मोड से टीवी मोड में यूनिवर्सल रिमोट को स्विच करना शामिल है। यदि आप अतिरिक्त कैमरा स्क्रीन दिखाने की क्षमता चाहते हैं, तो आपको Arduino और इस प्रकार Pi कैमरा चयन को नियंत्रित करने के लिए यूनिवर्सल रिमोट को AUX पर स्विच करना होगा। इस प्रक्रिया को सरल बनाने के लिए, एक हार्मनी हब और संबद्ध हार्मनी स्मार्टफोन ऐप का उपयोग करें, इसे एक गतिविधि में सामान्य टीवी देखने के लिए टीवी और केबल बॉक्स को नियंत्रित करना सिखाएं, फिर पाई वीडियो मॉनिटर को नियंत्रित करने के लिए दूसरी गतिविधि बनाएं। गतिविधि में टीवी चालू करना, एचडीएमआई 2 में टीवी इनपुट, और वर्चुअल एनईसीएक्स टीवी (यानी, Arduino और Pi) बटन 0 से 5 को नियंत्रित करना शामिल है। यह हार्मनी स्मार्टफोन ऐप के माध्यम से सब कुछ नियंत्रित करने की अनुमति देता है। चीजों को और भी आसान बनाने के लिए, अमेज़ॅन इको डॉट (एलेक्सा) ऐप को हार्मनी ऐप के साथ जोड़कर टीवी या डोर मॉनिटरिंग फंक्शन को वॉयस कंट्रोल करें। हार्मनी वेबसाइट इन नए एलेक्सा कौशल को सक्षम करने के तरीके के बारे में विवरण प्रदान करती है। नए कौशल । एक बार नए एलेक्सा कौशल के साथ जुड़ने के बाद, "टीवी चालू करें" या "दरवाजा मॉनिटर चालू करें" जैसे कीवर्ड सार्वभौमिक रिमोट से आईआर की आवश्यकता के बिना उचित कार्यों को सक्षम करेंगे।
पाई ईथरनेट के माध्यम से आपके लैन से और एचडीएमआई केबल के माध्यम से टीवी से जुड़ा है। मैंने अतिरिक्त कैमरा स्विचिंग जोड़ने के विकल्प के रूप में पाई को तारों के माध्यम से 3.3 वोल्ट प्रो मिनी स्थापित किया। प्रो मिनी को पाई के 3.3 वोल्ट पिन से संचालित किया जा सकता है। एक IR मॉड्यूल Arduino के पिन 2 से जुड़ता है, और संलग्न स्केच बटन को 0 से 5 तक दबाता है (वास्तव में 0 से 9, लेकिन कुछ Arduino पिन अभी तक कनेक्ट नहीं हैं)। Arduino आउटपुट Pi के डिजिटल इनपुट GPIO पिन से कनेक्ट होता है, जहां एक बैश स्क्रिप्ट इंटरप्ट निर्धारित करता है कि कौन सा "बटन" दबाया गया था, फिर एक डिस्प्ले व्यू विकल्प को रोकता है और दूसरा शुरू करता है।
मेरा केबल बॉक्स स्पेक्ट्रम (पूर्व में टाइम वार्नर केबल) से है, जो एक मोटोरोला डीवीआर मॉडल DCX3510 है। यह IR के लिए GI केबल प्रोटोकॉल का उपयोग करता है। सोनी टीवी सोनी प्रोटोकॉल 2 का उपयोग करता है। मैंने सोचा कि उनमें से एक या दूसरे कोड पीआई आईआर रिसीवर को नियंत्रित करने के लिए ठीक होंगे और या तो काम किया, हालांकि यह व्यावहारिक नहीं निकला। रिमोट कंट्रोल अतिरिक्त कमांड की अपेक्षा करता है, या 0 से 9 बटन दबाए जाने पर इनपुट स्रोत को स्वचालित रूप से बदल देता है। इसलिए, मुझे एक अलग कोड का उपयोग करना पड़ा जो केबल ट्यूनर या टीवी के साथ इंटरैक्ट नहीं करेगा। मैंने पाया कि मेरे यूनिवर्सल रिमोट में AUX डिवाइस के लिए पहले से प्रोग्राम किया गया कोड था (पता नहीं यह क्या नियंत्रित करता है) और इसका उपयोग करने का निर्णय लिया। उत्पादित कोड ने कहा कि यह NECx, एक 32 बिट कोड का उपयोग करता है, इसलिए मैंने उन बटन कोड को Arduino IR_Rev_Codes_Pi_Monitor स्केच में दर्ज किया। प्रोग्राम बदलें यदि आपके पास IRLib2 में प्राप्त प्रोग्राम का उपयोग करके एक अलग मॉडल है और दबाए गए बटन के लिए निर्माता, प्रोटोकॉल और हेक्स मान नोट करें।
चरण 3: निष्कर्ष
डोर मॉनिटर व्यावहारिक होम ऑटोमेशन प्रोजेक्ट है। पायथन के साथ पाई की प्रोग्रामिंग करने का यह मेरा पहला अनुभव था। पायथन प्रोग्रामिंग को बाधित करने की अनुमति देता है, एक ऐसी सुविधा जो मुझे लगा कि माइक्रोकंट्रोलर के लिए आरक्षित थी। इंटरप्ट प्रोग्राम को सामान्य रूप से चलाने की अनुमति देता है, omxplayer चला रहा है, बिना लगातार जाँच किए कि क्या किसी अन्य क्रिया की आवश्यकता है जैसे डिस्प्ले को नए कैमरा फीड में बदलना। हालांकि, अगर रुकावट आती है, तो प्रोग्राम यह निर्धारित करता है कि कौन सा नया वीडियो फीड लाया जाना चाहिए। Arduino को Python इंटरप्ट को ट्रिगर करने के लिए एक पल्स प्रदान करने के लिए स्थापित किया गया है। यदि रुकावट आती है, तो प्रोग्राम खोजता है कि कौन सा विशेष Arduino आउटपुट (दबाए गए IR रिमोट बटन के अनुरूप) सक्रिय है। अंत में, प्रोग्राम किसी भी मौजूदा omxplayer डिस्प्ले को खत्म कर देता है और नया omxplayer डिस्प्ले शुरू करता है।
मैंने सीखा है कि पीआई अपने जीपीआईओ पिन को इनपुट के लिए सेट नहीं करता है जैसे कि Arduino डिफ़ॉल्ट रूप से करता है- पीआई की गलती नहीं है, लेकिन यह ब्रॉडकॉम बीसीएम 2837 कारखाने से है। मुझे ४ कोर, १.२ गीगाहर्ट्ज़ प्रोसेसर, एक कम शक्ति, कम लागत वाला कंप्यूटर पसंद है जो शानदार एचडी वीडियो प्रदर्शित कर सकता है। आईआर बटन 1 क्वाड डिस्प्ले दिखाता है, और बटन 2 से 5 तक प्रत्येक हाई डेफिनिशन में कैमरे का एक बड़ा डिस्प्ले दिखाता है।
IR रिमोट बटन 0 दबाने से वीडियो डिस्प्ले रद्द हो जाता है और Pi कमांड लाइन दिखाई देती है। यदि आप Youtube वीडियो या इसी तरह के अन्य वीडियो देखना चाहते हैं, तो ब्लूटूथ कीबोर्ड का उपयोग करें, "startx" टाइप करें और Youtube वीडियो पर नेविगेट करने के लिए Pi ब्राउज़र का उपयोग करें और इसे हाई डेफिनिशन में पूर्ण स्क्रीन पर चलाएं।
सिफारिश की:
दरवाजे और दरवाजे की निगरानी से जुड़ी स्वचालित रोशनी: 5 कदम
दरवाजे और दरवाजे की निगरानी से जुड़ी स्वचालित रोशनी: अंधेरे में स्विच बोर्ड ढूंढना बहुत मुश्किल लगता है लेकिन यह परियोजना वास्तव में इस समस्या को हल करने में मददगार है। इसका समाधान जानने के लिए नीचे दिए गए चरणों का पालन करें
मेरे दरवाजे पर कौन है? पीर मोशन सेंसर/रेंज सेंसर प्रोजेक्ट: 5 कदम
मेरे दरवाजे पर कौन है? पीर मोशन सेंसर / रेंज सेंसर प्रोजेक्ट: हमारी परियोजना का उद्देश्य पीआईआर और दूरी सेंसर के माध्यम से गति को समझना है। Arduino कोड उपयोगकर्ता को यह बताने के लिए एक दृश्य और ऑडियो सिग्नल आउटपुट करेगा कि कोई निकट है। MATLAB कोड उपयोगकर्ता को सचेत करने के लिए ईमेल संकेत भेजेगा कि कोई निकट है। यह उपकरण
एलेक्सा, मेरी चाबियां कहां हैं ?: 4 कदम
एलेक्सा, माई कीज कहां हैं ?: एलेक्सा विशेष रूप से सूचना पुनर्प्राप्ति कार्यों और वायरलेस होम नेटवर्क का उपयोग करके संपत्ति की निगरानी के लिए उपयुक्त है। तेजी से पुनर्प्राप्ति के लिए क़ीमती सामान को ग्रिड पर रखने पर विचार करना स्वाभाविक है। हम नेटवर्क के लिए सस्ते ब्लूटूथ कम ऊर्जा बीकन हैक करते हैं
एलेक्सा का उपयोग करते हुए आवाज सक्रिय मीडिया उपकरण: 9 कदम (चित्रों के साथ)
एलेक्सा का उपयोग करते हुए वॉयस एक्टिवेटेड मीडिया अप्लायंसेज: यहां विकसित इकाई आपके उपकरणों जैसे टीवी, एम्पलीफायर, सीडी और डीवीडी प्लेयर को एलेक्सा और अरुडिनो का उपयोग करके वॉयस कमांड से नियंत्रित करती है। इस यूनिट का फायदा यह है कि आपको सिर्फ वॉयस कमांड देना है। यह इकाई सभी उपकरणों के साथ काम कर सकती है
जब आप बिस्तर पर जाते हैं तो एलेक्सा को अपना फोन म्यूट करें: 6 कदम
जब आप बिस्तर पर जाते हैं तो एलेक्सा को अपना फोन म्यूट करें: जब आप IFTTT और इको डिवाइस का उपयोग करके बिस्तर पर जाते हैं तो एलेक्सा को अपना फोन म्यूट करें