विज्ञापन
एक रास्पबेरी पाई के साथ दूरस्थ रूप से देखने योग्य पैन और झुकाव सुरक्षा कैमरा बनाने का तरीका जानें। यह परियोजना केवल सुबह सबसे सरल भागों के साथ पूरी की जा सकती है। यहाँ अंतिम परिणाम है:
जिसकी आपको जरूरत है
- माइक्रो एसडी कार्ड के साथ रास्पबेरी पाई 2 या 3
- Arduino UNO या समान
- 2 एक्स माइक्रो या मिनी हॉबी सर्वोस
- USB वेब कैमरा
- पुरुष से पुरुष हुकअप तार
- नर से मादा हुकअप तार
- मिश्रित ज़िप टाई
सुरक्षा कैमरा का निर्माण
दिए गए पेंच का उपयोग करके प्रत्येक सर्वो को एक सर्वो हॉर्न (थोड़ा प्लास्टिक "आकार") संलग्न करें। विशेष आकार वास्तव में मायने नहीं रखता है, हालांकि बड़ा बेहतर है। पेंच को ज्यादा कसें नहीं।
अब एक समकोण पर दूसरे को एक कोण से जोड़ने के लिए ज़िप संबंधों का उपयोग करें। इनमें से एक पैन (बाएं से दाएं) होगा, जबकि दूसरा झुकाव (ऊपर और नीचे) होगा। इससे कोई फर्क नहीं पड़ता कि कौन क्या करता है, इसे कोड में समायोजित किया जा सकता है।
अंत में, अपने वेबकैम को सर्वोस में से एक में संलग्न करें। आप इसके लिए जिप-संबंधों का उपयोग कर सकते हैं, हालांकि मेरा वेबकैम नीचे क्लिप के साथ आया था - मैंने इसे हटा दिया और इसे सींग पर पकड़ने के लिए स्क्रू का उपयोग किया। स्थिरता के लिए, आप किसी मामले या बॉक्स में संपूर्ण रिग को माउंट करना चाह सकते हैं। एक साधारण कार्डबोर्ड बॉक्स चाल को काफी अच्छी तरह से करता है। आप एक साफ चौकोर छेद काट सकते हैं और सतह पर एक सर्वो फ्लश माउंट कर सकते हैं, हालांकि एक ज़िप टाई पर्याप्त होगी।
वेबकैम के बारे में एक शब्द
सभी USB वेबकैम समान रूप से नहीं बनाए गए हैं। अपने वेबकैम को अपने Pi के USB पोर्ट से कनेक्ट करें और यह कमांड चलाएँ:
lsusb
यह कमांड पाई से जुड़े सभी USB उपकरणों के बारे में जानकारी प्रदर्शित करता है। यदि आपका वेब कैमरा यहां सूचीबद्ध नहीं है, तो आप एक संचालित यूएसबी हब और कमांड को दोहराने की कोशिश कर सकते हैं। यदि वेबकैम अभी भी मान्यता प्राप्त नहीं है, तो आपको एक खरीद करनी पड़ सकती है संगत वेब कैमरा.
सर्वो सेटअप
जबकि सर्वोस डरावने और जटिल लग सकते हैं, वे वास्तव में कनेक्ट करने के लिए काफी सरल हैं। सर्वो पल्स चौड़ाई मॉड्यूलेशन (पीडब्लूएम) पर संचालित होता है, जो डिजिटल सिस्टम के लिए एनालॉग सिग्नल की नकल करने का एक तरीका है। PWM सिग्नल अनिवार्य रूप से एक रैपिड ऑन-ऑफ सिग्नल हैं। एक संकेत जो चालू या उच्च है उसे कर्तव्य चक्र का उपयोग करके वर्णित किया गया है। कर्तव्य चक्र को प्रतिशत के रूप में व्यक्त किया जाता है, और यह बताता है कि सिग्नल कितने समय के लिए चालू है। 25% कर्तव्य चक्र का PWM सिग्नल 25% समय के लिए चालू रहेगा, और शेष 75% के लिए रवाना होगा। संकेत शुरू में चालू नहीं होता है और फिर हमेशा के लिए बंद हो जाता है, यह बहुत कम समय में नियमित रूप से स्पंदित होता है।
सर्वो इन दालों के लिए सुनता है और तदनुसार कार्य करता है। 100% के एक कर्तव्य चक्र का उपयोग करना "नियमित" 5v के समान होगा, और 0% जमीन के समान होगा। चिंता न करें यदि आप पूरी तरह से नहीं समझते हैं कि पीडब्लूएम कैसे काम करता है, तो आप अभी भी सर्वो को नियंत्रित कर सकते हैं (चरम इलेक्ट्रॉनिक्स अधिक जानने के लिए एक अच्छी जगह है)।
PWM - हार्डवेयर या सॉफ्टवेयर का उपयोग करने के दो मुख्य तरीके हैं। हार्डवेयर पीडब्लूएम अक्सर सॉफ्टवेयर पीडब्लूएम की तुलना में कम विलंबता (कमांड प्राप्त करने और चलने वाले सर्वो के बीच) प्रदान करता है, हालांकि पाई में केवल एक हार्डवेयर पीडब्लूएम सक्षम पिन होता है। बाहरी सर्किट हार्डवेयर PWM के कई चैनल उपलब्ध कराने के लिए उपलब्ध हैं, हालांकि एक साधारण Arduino भी कार्य को संभाल सकता है, क्योंकि उनके पास कई हार्डवेयर PWM पिन हैं।
यहाँ सर्किट है:
डबल-चेक करें अपने पाई के लिए पिनआउट करें, वे मॉडल के बीच थोड़ा भिन्न होते हैं। आपको यह पता लगाने की आवश्यकता है कि आपका सर्व कैसे वायर्ड है। उन्हें नियंत्रित करने के लिए सर्वो को तीन तारों की आवश्यकता होती है, हालांकि रंग थोड़ा भिन्न होते हैं:
- लाल सकारात्मक है, इसे Pi + 5v से कनेक्ट करें
- भूरा या काला नकारात्मक है, इसे जीएनडी पर पाई से कनेक्ट करें
- नारंगी या सफेद संकेत है, इसे Arduino पिन 9 और 10 से कनेक्ट करें
Arduino सेटअप
Arduino के लिए नया? यहाँ से शुरुआत करें Arduino के साथ शुरुआत करना: एक शुरुआती गाइडArduino एक ओपन-सोर्स इलेक्ट्रॉनिक्स प्रोटोटाइपिंग प्लेटफॉर्म है जो लचीले, आसानी से उपयोग होने वाले हार्डवेयर और सॉफ्टवेयर पर आधारित है। यह कलाकारों, डिजाइनरों, शौकीनों और इंटरैक्टिव वस्तुओं या वातावरण बनाने में रुचि रखने वाले किसी भी व्यक्ति के लिए अभिप्रेत है। अधिक पढ़ें .
एक बार सर्वो कनेक्ट हो जाने के बाद, अपने कंप्यूटर पर Arduino IDE खोलें और इस परीक्षण कोड को अपलोड करें। सही बोर्ड का चयन करना न भूलें और से पोर्ट करें उपकरण> बोर्ड तथा उपकरण> पोर्ट मेनू
#शामिल // पुस्तकालय इमदादी इमदाद आयात, इमदादी आयात; // सर्वो ऑब्जेक्ट्स बनाएँ। int servoMin = 20, servoMax = 160; // सर्वसम्मति शून्य सीमा की सीमा निर्धारित करें () {// PWM सक्षम पिन सर्वोसो पर सेटअप सेट ।Pan.attach (9); servoTilt.attach (10); } शून्य लूप () {के लिए (int i = servoMin; i सर्वोइन; --i) {// अधिकतम सर्वो से न्यूनतम सर्वोपचार पर ले जाएं। राइट (i); servoTilt.write (i); देरी (100); // प्रतीक्षा करें 100ms} }
सभी अच्छी तरह से होने के नाते आपको दोनों सर्विंग्स को धीरे-धीरे आगे और पीछे देखना चाहिए। ध्यान दें कि "सर्वो" और सर्वोमैक्स को 20 और 160 डिग्री (0 और 180 के बजाय) के रूप में कैसे परिभाषित किया जाता है। यह आंशिक रूप से है क्योंकि ये सस्ते सर्वोस पूरी तरह से पूर्ण 180 डिग्री को स्थानांतरित करने में असमर्थ हैं, और यह भी कि वेबकैम के भौतिक आकार के कारण पूरी रेंज का उपयोग करने से रोकता है। आपको अपने सेटअप के लिए इन्हें समायोजित करने की आवश्यकता हो सकती है।
यदि वे सभी डबल-चेक पर काम नहीं कर रहे हैं, तो सर्किट सही ढंग से वायर्ड है। ब्रेडबोर्ड कभी-कभी गुणवत्ता में भी भिन्न हो सकते हैं, इसलिए सत्यापित करने के लिए मल्टीमीटर में निवेश करने पर विचार करें।
सर्वोस हैं लगभग Arduino को सत्ता में लाने के लिए बहुत शक्तिशाली है, इसलिए वे पाई द्वारा संचालित होंगे। पाई पर 5v रेल है पूरे पीआई को प्रदान किए गए 750 एमएएम तक सीमित है, और पीआई लगभग 500 एमएएच का है, इसके लिए 250 एमएएच छोड़ता है servos। ये माइक्रो सर्वोस लगभग 80mA हैं, जिसका अर्थ है कि पाई को उनमें से दो को संभालने में सक्षम होना चाहिए। यदि आप अधिक सर्वो या बड़े, उच्च शक्ति वाले मॉडल का उपयोग करना चाहते हैं तो आपको बाहरी बिजली की आपूर्ति का उपयोग करना पड़ सकता है।
अब निम्नलिखित कोड को Arduino पर अपलोड करें। यह आने वाले सीरियल डेटा (यूनिवर्सल में धारावाहिक के रूप में सुनेंगे) धारावाहिक बस, या USB)। Pi इस डेटा को Arduino पर USB पर भेजेगा, जिसमें यह बताया जाएगा कि सर्वो को कहां स्थानांतरित करना है।
#शामिल // पुस्तकालय इमदादी इमदाद आयात, इमदादी आयात; // सर्वो ऑब्जेक्ट बनाएं। स्ट्रिंग डेटा = ""; // स्टोर इनकमिंग कमांड्स (बफ़र) शून्य सेटअप () {// सेटअप सर्वोस पीडब्लूएम सक्षम पिंस सर्वो.नेट (9) पर; servoTilt.attach (10); सीरियल.बेगिन (9600); // 9600 बीपीएस पर धारावाहिक शुरू करें (गति) } शून्य लूप () {जबकि (Serial.available ()> 0) {// अगर डेटा चार सिंगल है = Serial.read (); // प्रत्येक वर्ण पढ़ें (singleChar == 'P') {// मूव पैन सर्वो सर्वो.इराइट (data.toInt ()); data = ""; // साफ़ बफर} और अगर (SingleChar == 'T') {// मूव टिल सर्वो सर्वो। data = ""; // स्पष्ट बफर} और {डेटा + = सिंगलचेयर; // नया डेटा जोड़ें}} }
आप सीरियल मॉनीटर खोलकर इस कोड का परीक्षण कर सकते हैं (शीर्ष दाएं> सीरियल मॉनिटर) और कुछ परीक्षण डेटा भेजना:
- 90P
- 0p
- 20T
- 100T
आदेशों के प्रारूप पर ध्यान दें - एक मूल्य और फिर एक पत्र। मान सर्वो की स्थिति है, और पत्र (कैप में) पैन या झुकाव सर्वो को निर्दिष्ट करता है। जैसा कि यह डेटा पाई सीरियल से प्रसारित होता है, प्रत्येक वर्ण एक समय में एक के माध्यम से आता है। Arduino को "स्टोर" करना होता है जब तक कि पूरे कमांड को प्रेषित नहीं किया जाता है। अंतिम पत्र न केवल सर्वो को निर्दिष्ट करता है, यह Arduino को यह भी बताता है कि इस कमांड में अधिक डेटा नहीं है।
अंत में, कंप्यूटर से अपने Arduino को डिस्कनेक्ट करें, और इसे सामान्य यूएसबी पोर्ट कनेक्शन के माध्यम से रास्पबेरी पाई में प्लग करें.
पाई सेटअप
अब पाई को सेटअप करने का समय आ गया है। प्रथम, एक ऑपरेटिंग सिस्टम स्थापित करें कैसे एक रास्पबेरी पाई पर एक ऑपरेटिंग सिस्टम स्थापित करने के लिएयहां बताया गया है कि अपने रास्पबेरी पाई पर ओएस कैसे स्थापित करें और त्वरित आपदा वसूली के लिए अपने आदर्श सेटअप को कैसे क्लोन करें। अधिक पढ़ें . वेबकैम और Arduino को Pi USB से कनेक्ट करें।
पाई अपडेट करें:
sudo apt-get update। sudo apt-get उन्नयन
गति स्थापित करें:
sudo apt-get install गति
मोशन एक कार्यक्रम है जो वेबकैम स्ट्रीमिंग को संभालने के लिए बनाया गया है। यह सभी भारी उठाने को संभालता है, और यहां तक कि रिकॉर्डिंग और गति का पता लगाने (प्रयास करें) कर सकता है एक गति पकड़ने सुरक्षा प्रणाली का निर्माण एक रास्पबेरी पाई का उपयोग करके एक मोशन कैप्चर सुरक्षा प्रणाली का निर्माण करेंकई परियोजनाओं में से आप रास्पबेरी पाई के साथ बना सकते हैं, सबसे दिलचस्प और स्थायी रूप से उपयोगी में से एक मोशन कैप्चर सुरक्षा प्रणाली है। अधिक पढ़ें ). मोशन कॉन्फ़िगरेशन फ़ाइल खोलें:
सुडो नैनो /etc/motion/motion.conf
यह फ़ाइल मोशन को कॉन्फ़िगर करने के लिए बहुत सारे विकल्प प्रदान करती है। सेटअप निम्नानुसार है:
- डेमॉन ऑन - प्रोग्राम चलाएं
- framerate: 100 - स्ट्रीम करने के लिए कितने फ़्रेम या चित्र / सेकंड
- stream_localhost बंद - पूरे नेटवर्क तक पहुंच की अनुमति दें
- चौड़ाई 640 - वीडियो की चौड़ाई, अपने वेबकैम के लिए समायोजित करें
- ऊंचाई 320 - वीडियो की ऊँचाई, अपने वेबकैम के लिए समायोजित करें
- स्ट्रीम_पोर्ट 8081 - वीडियो को आउटपुट करने के लिए पोर्ट
- output_picture बंद - कोई चित्र सेव न करें
यह काफी बड़ी फ़ाइल है, इसलिए आप उपयोग करना चाह सकते हैं CTRL + W लाइनों के लिए खोज करने के लिए। एक बार समाप्त होने के बाद, दबाएं CTRL + X और फिर बचाने और बाहर निकलने की पुष्टि करें।
अब एक और फ़ाइल संपादित करें:
सुडो नैनो / आदि / डिफ़ॉल्ट / गति
"Start_motion_daemon = हां" सेट करें। मोशन रन सुनिश्चित करने के लिए यह आवश्यक है।
अब अपने आईपी पते का पता लगाएं:
ifconfig
यह कमांड पाई के लिए नेटवर्क कनेक्शन विवरण दिखाएगा। दूसरी पंक्ति देखें, inet addr. आप एक स्थिर IP पता सेट करना चाह सकते हैं (एक स्थिर आईपी क्या है? स्टेटिक आईपी एड्रेस क्या है? यहाँ आपको एक की आवश्यकता क्यों नहीं हैएक स्थिर IP पता वह है जो कभी नहीं बदलता है। डायनेमिक आईपी पते बदलते हैं। हम बताते हैं कि आपको एक स्थिर आईपी पते की आवश्यकता क्यों नहीं है। अधिक पढ़ें ), लेकिन अब इस संख्या पर ध्यान दें।
अब मोशन शुरू करें:
सुडो सेवा गति शुरू
आप "स्टॉप" को "स्टॉप" या "रीस्टार्ट" में बदलकर मोशन को रोक या रिस्टार्ट कर सकते हैं।
अपने कंप्यूटर पर स्विच करें और वेब ब्राउज़र से Pi पर नेविगेट करें:
http://xxx.xxx.x.xx: 8081
जहां xxx.xxx.x.xx पाई आईपी एड्रेस है। एक नंबर के बाद वाला कोलन वह पोर्ट है जो पहले सेटअप था। सब कुछ ठीक है आपको अपने वेबकैम से स्ट्रीम देखना चाहिए! घूमने की कोशिश करें और देखें कि चीजें कैसे दिखती हैं। आपको कॉन्फ़िगरेशन फ़ाइल में चमक और कंट्रास्ट सेटिंग्स को समायोजित करने की आवश्यकता हो सकती है। आपको वेबकैम पर ध्यान केंद्रित करने की आवश्यकता हो सकती है - कुछ मॉडलों में लेंस के चारों ओर एक छोटी फोकस रिंग होती है। इसे तब तक चालू करें जब तक कि छवि सबसे तेज न हो।
Pi पर वापस जाएं, एक फ़ोल्डर बनाएं और उसमें नेविगेट करें:
mkdir सुरक्षा-कैम। सीडी सुरक्षा-कैम /
अब ट्विस्टेड स्थापित करें:
सुडोल apt-get install अजगर-मुड़ा हुआ
ट्विस्टेड एक वेबसर्वर है जिसे पायथन में लिखा गया है, जो कमांड के लिए सुनेगा और फिर उसके अनुसार कार्य करेगा।
एक बार स्थापित होने के बाद, कमांड निष्पादित करने के लिए एक पायथन स्क्रिप्ट बनाएं (सर्वो को स्थानांतरित करें)।
सूडो नैनो सर्वोस.क्रि
ध्यान दें कि फ़ाइल एक्सटेंशन "py" के बजाय ".rpy" कैसे है। यहाँ कोड है:
# आवश्यक फाइलें आयात करें। आयात धारावाहिक। Twisted.web.resource आयात संसाधन # सेटअप Arduino से सही गति से। try: arduino = धारावाहिक। सीरियल ('/ देव / ttyUSB0', 9600) सिवाय: arduino = धारावाहिक। धारावाहिक ('/ देव / ttyUSB1', 9600) वर्ग मूव सरस्वो (संसाधन): isLeaf = True def रेंडर_GET (सेल्फ, रिक्वेस्ट): कोशिश: # मूल्य पर भेजें Arduino के लिए धारावाहिक arduino। MoveServo ()
अब वेबसर्वर शुरू करें:
sudo twdd -n web -p 80 --path / home / pi / security-cam /
इसे तोड़ दें - "-पी 80" पोर्ट (80) को निर्दिष्ट करता है। यह वेबपृष्ठों के लिए डिफ़ॉल्ट पोर्ट है। "-पैथ / होम / पीआई / सिक्योरिटी-कैम /" निर्दिष्ट निर्देशिका में सर्वर शुरू करने के लिए ट्विस्टेड को बताता है। यदि आप "सुरक्षा-कैम" फ़ोल्डर के अंदर स्क्रिप्ट में कोई बदलाव करते हैं, तो आपको सर्वर को पुनरारंभ करना होगा ()CTRL + X बंद करने के लिए, फिर कमांड चलाएं)।
अब वेबपेज बनाएं:
sudo nano index.html
यहाँ वेबपृष्ठ कोड है:
DIY सुरक्षा कैमरे का उपयोग करें
अपने PI के वास्तविक IP पते पर "PI_IP_ADDRESS" (दो बार उपयोग किया गया) बदलेंraspberrypi.local यदि आप नवीनतम रास्पियन चला रहे हैं) भी काम करना चाहिए। वेबसर्वर को पुनरारंभ करें और फिर अपने कंप्यूटर से पाई पर नेविगेट करें, पोर्ट को निर्दिष्ट करने की आवश्यकता नहीं है। आपको बाएँ और दाएँ पैन करने में सक्षम होना चाहिए, और वीडियो स्ट्रीम देखें:
ये लो। आपका अपना पैन और झुकाव नेटवर्क कैमरा है। यदि आप अपने वेबकैम को इंटरनेट पर उजागर करना चाहते हैं, तो याद रखें खतरों पर विचार करें 5 अपने होम सिक्योरिटी कैमरों की ओर इशारा करते समय विचार करने के लिए खतरेयह ध्यान से विचार करना महत्वपूर्ण है कि आप अपने कैमरों को कहाँ रखते हैं, और अपने घर के किन हिस्सों को आप उन्हें इंगित करते हैं। चीजों को सुरक्षित रखना महत्वपूर्ण है, लेकिन इसलिए अपनी गोपनीयता बनाए रखना है। अधिक पढ़ें - तो देखो पोर्ट फॉरवार्डिंग पोर्ट अग्रेषण क्या है और यह मुझे कैसे मदद कर सकता है? [MakeUseOf बताते हैं]क्या आप थोड़ा अंदर रोते हैं जब कोई आपको बताता है कि पोर्ट अग्रेषण समस्या है और यही कारण है कि आपका चमकदार नया ऐप काम नहीं कर रहा है? आपके Xbox ने आपको गेम नहीं खेलने दिया, आपके टोरेंट डाउनलोड को मना कर देते हैं ... अधिक पढ़ें , इसलिए आपका राउटर जानता है कि आने वाले अनुरोध कहां भेजें। आप जोड़ सकते हैं एक बाहरी बिजली की आपूर्ति पोर्टेबल परियोजनाओं के लिए 3 रास्पबेरी पाई बैटरी पैकएक रास्पबेरी पाई बैटरी एक पोर्टेबल कंप्यूटर में एक नियमित पाई बना सकती है। आरंभ करने के लिए आपको इनमें से एक बैटरी समाधान की आवश्यकता होगी। अधिक पढ़ें और वास्तव में पोर्टेबल रिग के लिए वाई-फाई एडाप्टर।
क्या आपने वेबकेम और पाई के साथ कुछ अच्छा बनाया है? मुझे टिप्पणियों में बताएं, मुझे देखना पसंद है!
जो ब्रिटेन के लिंकन विश्वविद्यालय से कंप्यूटर विज्ञान में स्नातक हैं। वह एक पेशेवर सॉफ़्टवेयर डेवलपर है, और जब वह ड्रोन नहीं उड़ा रहा है या संगीत नहीं लिख रहा है, तो उसे अक्सर तस्वीरें लेने या वीडियो बनाने के लिए पाया जा सकता है।