विषयसूची:

DIY डिजिटल आउट ऑफ बॉडी अनुभव: 6 कदम
DIY डिजिटल आउट ऑफ बॉडी अनुभव: 6 कदम

वीडियो: DIY डिजिटल आउट ऑफ बॉडी अनुभव: 6 कदम

वीडियो: DIY डिजिटल आउट ऑफ बॉडी अनुभव: 6 कदम
वीडियो: मैंने भगवान को देखा I मृत्यु को मात दे कर लौटी - सत्य अनुभव I Dr. BK Sushila Near Death Experience 2024, जुलाई
Anonim
DIY डिजिटल आउट ऑफ बॉडी एक्सपीरियंस
DIY डिजिटल आउट ऑफ बॉडी एक्सपीरियंस

इस ट्यूटोरियल में, आप सीखेंगे कि एक सिस्टम कैसे बनाया जाए जो आपको यह देखने की अनुमति देता है कि आप कहीं और थे। मैंने इस डिजिटल आउट ऑफ बॉडी अनुभव को कहा क्योंकि पहली बार मैंने इस प्रणाली के बारे में सोचा था जब मैं योग का अभ्यास कर रहा था और मैंने सोचा था कि कुछ वीडियो गेम की तरह खुद को 3 डी व्यक्ति दृश्य के साथ देखते हुए अभ्यास करना बहुत दिलचस्प होगा। अंतत: मैंने यह भी सोचा कि यह एक दिलचस्प उपकरण हो सकता है कि मैं गैर-आत्म पर ध्यान करूँ, खुद को बाहर से देखूँ, एक उपकरण के रूप में जो मुझे कुछ दूरी लेने में मदद करेगा और बस मेरे विचारों, भावनाओं और भावनाओं का निरीक्षण करेगा। लेकिन मुझमें शुरुआती योगी और ध्यानी सही लोग नहीं थे जो मुझे इस परियोजना से दूर ले गए। आखिरकार यह गेमर/खिलाड़ी है, मैंने सोचा था कि यह परियोजना पहले व्यक्ति दृश्य के माध्यम से नियंत्रित मोबाइल रोबोट बनाने की दिशा में एक अच्छा वृद्धिशील कदम होगा, किसी प्रकार का मोबाइल रोबोट फर्स्ट-व्यू रेसिंग!

चरण 1: चीजें जिनकी आपको आवश्यकता होगी

चीजें आप की आवश्यकता होगी
चीजें आप की आवश्यकता होगी
चीजें आप की आवश्यकता होगी
चीजें आप की आवश्यकता होगी
चीजें आप की आवश्यकता होगी
चीजें आप की आवश्यकता होगी
  1. 2xरास्पबेरी पाई 3 मॉडल बी प्रत्येक कैमरा और केबल मापन (15 सेमी और 30 सेमी) से सुसज्जित है
  2. रास्पबेरी से कनेक्ट करने के लिए एक बैटरी शील्ड, 2 बैटरी और यूएसबी से 2xmini-USB केबल (मैंने USB आउटपुट, 2xLiitoKala Lii-35A 18650 बैटरी और इस केबल के साथ एक दोहरी 10650 बैटरी शील्ड का उपयोग किया)
  3. एमडीएफ लकड़ी का 240x140x5 मिमी टुकड़ा (या लेजर कटर के साथ संगत कोई अन्य लकड़ी)
  4. एक लेजर क्यूटर तक पहुंच
  5. M2 स्क्रू और बोल्ट
  6. अजगर के साथ एक कंप्यूटर
  7. क्रोम वाला स्मार्टफोन
  8. एक गूगल कार्डबोर्ड या कोई भी सिस्टम जो आपको अपने फोन से वीआर अनुभव प्राप्त करने की इजाजत देता है (मुझे एडनेट वर्चुअल रियलिटी ब्रिल मिला है जो मैंने जो पढ़ा है उससे 159.2 मिमी x 75.2 मिमी तक के आयाम वाले फोन के साथ संगत है)

चरण 2: लाइव वीडियो कैप्चर करने और इसे साझा करने के लिए रास्पबेरी पाई प्राप्त करें

पहले यह सुनिश्चित कर लें कि हमारा पाई कैमरा रास्पबेरी पाई से जुड़ा है। किया हुआ ? वह इस कदम के लिए हार्डवेयर हिस्सा था। आइए सॉफ्टवेयर भाग के साथ जारी रखें।

सॉफ्ट के संबंध में, यदि आप मेरे मामले में हैं और आपके पीआई पर कोई ओएस स्थापित नहीं है और आपके पास कोई अतिरिक्त कीबोर्ड, माउस और स्क्रीन नहीं है, तो आइए यहां रास्पियन लाइट डाउनलोड करें और यहां वर्णित सरल चरणों का पालन करें: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… अगर सब कुछ ठीक रहा, तो आपका पाई अब आपके वाईफ़ाई से जुड़ा है, आप इसका आईपी पता जानते हैं और आप ssh के माध्यम से इससे जुड़े हैं।

एसएसएच का उपयोग करके पीआई को जो कुछ भी देखता है उसे साझा करें। इसके लिए हम UV4L का इस्तेमाल करेंगे। इसके लिए निम्नलिखित वेबपेज पर दिए गए चरणों का पालन करें: https://raspberry-valley.azurewebsites.net/UV4L/। यदि आप लिंक में बताए अनुसार UV4L सेटअप के साथ काम कर चुके हैं, तो अब आप अपने कंप्यूटर पर अपने रास्पबेरी का लाइव वीडियो देखने में सक्षम होना चाहिए। इसके लिए बस https://raspberryip:8080/stream पते पर अपने ब्राउज़र पर जाएं, "रास्पबेरीप" को रास्पबेरी पाई के आईपी से बदलें जो आपको लैनस्कैन के माध्यम से मिला था।

अब यह हमारी दो "आँखों" में से एक के लिए है। दूसरे के बारे में क्या? या तो हम उसी प्रक्रिया को दोहराते हैं, या तो हम अपने रास्पबेरी पाई पर जो है उसे दूसरे एसडी कार्ड में क्लोन करते हैं। दूसरे विकल्प के बारे में अधिक जानने के लिए आप इस जीथब को देख सकते हैं:

और वहां आप जाते हैं, अब आपके पास अपने दो रास्पबेरी पाई स्थानीय नेटवर्क पर अपनी लाइव वीडियो स्ट्रीम साझा करना चाहिए! हमने काम करते हुए आँखें खोल दीं, अब इस छोटी सी स्ट्रैबिस्म समस्या को हल करते हैं और अपने छोटे सिस्टम को पोर्टेबल बनाते हैं!

चरण 3: इसे पोर्टेबल बनाएं: लेजर कट और माउंट

इसे पोर्टेबल बनाएं: लेजर कट और माउंट
इसे पोर्टेबल बनाएं: लेजर कट और माउंट
इसे पोर्टेबल बनाएं: लेजर कट और माउंट
इसे पोर्टेबल बनाएं: लेजर कट और माउंट
इसे पोर्टेबल बनाएं: लेजर कट और माउंट
इसे पोर्टेबल बनाएं: लेजर कट और माउंट

कैमरा सिस्टम को पोर्टेबल बनाने के लिए, मैंने एक लकड़ी की संरचना तैयार की, जिस पर मैं रास्पबेरी पाई कैमरा और बैटरी शील्ड को पेंच कर सकता हूं। डिज़ाइन यहाँ एक svg फ़ाइल के रूप में संलग्न है। आपको अपनी लकड़ी की मोटाई के आधार पर अपनी ढाल और/या डिज़ाइन के आधार पर बैटरी शील्ड के लिए पेंच की स्थिति को संशोधित करना पड़ सकता है।

एक बार जब आप सब कुछ काट लेंगे:

  1. डिज़ाइन के बाएँ भाग पर कैमरों को माउंट करें (5 मिमी के 8 M2 स्क्रू, 8 मिमी के 8 M2 स्क्रू और 8 मिमी के 8 बोल्ट)
  2. बैटरी शील्ड को माउंट करें (5 मिमी के 4 एम2 स्क्रू, 8 मिमी के 4 एम2 स्क्रू और 8 मिमी के 4 बोल्ट)
  3. रास्पबेरी पाई "क्लस्टर" को ऊपर की तस्वीर में दिखाए अनुसार माउंट करें (5 मिमी के 4 एम 2 स्क्रू, 8 मिमी के 4 एम 2 स्क्रू, 5 मिमी या उससे अधिक के 4 पुरुष-महिला बोल्ट, 4 21 मिमी बोल्ट)। नोट: मेरे पास २१ मिमी बोल्ट नहीं थे इसलिए मैंने १६ बोल्ट और ५ महिला-पुरुष बोल्ट के साथ मेरा किया।

चेतावनी: यहां परिभाषित बोल्ट की लंबाई को बदला जा सकता है, केवल एक चीज यह सुनिश्चित करती है कि रास्पबेरी पाई के बीच की दूरी इतनी बड़ी हो कि कोई शॉर्ट सर्किट न हो …

बैटरी शील्ड मिनी-यूएसबी कनेक्टर का उपयोग करके अपनी लिथियम बैटरी चार्ज करें, और लकड़ी के टुकड़े को एक साथ माउंट करें जैसा कि ऊपर चित्र में दिखाया गया है। आप अपनी बैटरी शील्ड को रसभरी से जोड़ने के लिए तैयार हैं! और अधिक ssh-ing की आवश्यकता नहीं है, जैसे ही हम रास्पबेरी पाई को पावर देते हैं, यह अब यूवी4एल के लिए धन्यवाद शुरू होते ही वीडियो स्ट्रीम को ऑनलाइन साझा करता है। ट्रांसमिशन खत्म!

चरण 4: स्टीरियो छवि की कल्पना करें

स्टीरियो छवि को विज़ुअलाइज़ करें
स्टीरियो छवि को विज़ुअलाइज़ करें

अब हमारे पास दो छवि धाराएं हैं जो स्थानीय नेटवर्क के माध्यम से सुलभ हैं, हमने देखा कि हम ब्राउज़र पर https://raspberryip{1, 2}/stream/ पते का उपयोग करके उन्हें व्यक्तिगत रूप से देख सकते हैं। इसलिए क्या हम अपने ब्राउज़र पर दो पेज खोलने का प्रयास कर सकते हैं? नहीं हम नहीं करेंगे! 1. यह बहुत बदसूरत होगा 2 पर आओ। यह काम नहीं करेगा क्योंकि यह डिस्प्ले कुछ समय बाद सो जाएगा! यह कदम आपको दिखाएगा कि उन समस्याओं को कैसे हल किया जाए।

पहले देखते हैं कि पहले इस्तेमाल किए गए पते के पीछे क्या है। यदि आप खोले गए पृष्ठ के html कोड की जांच करते हैं, तो आप देखेंगे कि पृष्ठ पर दिखाई जाने वाली स्ट्रीम में एक

raspberryip/stream/video.mjpeg के रूप में परिभाषित स्रोत के साथ टैग करें। नतीजतन अंतिम चरण काफी सरल हो सकता है। छवि स्ट्रीम दिखाने के लिए दो वेबव्यू के साथ एक एंड्रॉइड ऐप प्रोग्राम करने का एक तरीका हो सकता है, हमारे कंप्यूटर पर एक स्थानीय सर्वर चलाने के लिए एक आसान तरीका है जो "https://raspberryip/stream/" के समान एक HTML पृष्ठ की सेवा करेगा। कि यह आपको एक के बजाय दोनों स्ट्रीम देखने और डिवाइस को सक्रिय रखने की अनुमति देगा।

हम ऐसा सर्वर कैसे स्थापित करते हैं? पायथन के साथ कुछ भी आसान नहीं है। एक फोल्डर बनाएं जिसमें आप index.txt और NoSleep.txt फाइल्स डालते हैं जिसका नाम बदलकर आप index.html और NoSleep.js कर देंगे। index.html में, दोनों को खोजें

टैग करें और रास्पबेरी आईपीएस को अपने साथ बदलें। यह एचटीएमएल पेज होगा जो जावास्क्रिप्ट के साथ हमारी दो इमेज स्ट्रीम दिखाएगा जो इसे जागृत रहने की इजाजत देता है। अब आप इस पृष्ठ को अपने मोबाइल फोन के लिए सुलभ बनाना चाहते हैं, जहां अजगर काम आता है: फ़ाइल server.py को उसी फ़ोल्डर में रखें और कमांड का उपयोग करके स्क्रिप्ट शुरू करें python server.py (ध्यान दें कि यह स्क्रिप्ट अजगर 3 के साथ संगत है, यदि आप अजगर 2 का उपयोग करते हैं तो आपको server.py संपादित करना होगा और SocketServer को SocketServer से बदलना होगा)।

बस आप अपने स्थानीय नेटवर्क से जुड़े ब्राउज़र के साथ किसी भी डिवाइस से स्टीरियो स्ट्रीम तक पहुंच सकते हैं। इसे आज़माएं, अपने कंप्यूटर का आईपी प्राप्त करें और https://computerip:8080 खोलें। आप शायद तीन चीजें नोटिस कर सकते हैं:

  • यह बहुत अच्छा है कि हम लगभग वहाँ हैं!
  • यह पूर्णस्क्रीन में नहीं है,
  • यह अंततः सो जाता है।

ऐसा कैसे ? जैसा कि आप यहां पढ़ सकते हैं नो-स्लीप मोड को सक्रिय करने के लिए फ़ंक्शन को कॉल करने के लिए एक डमी क्रिया की आवश्यकता होती है। इस आवश्यकता का सम्मान करने के लिए मैंने इस फ़ंक्शन के लिए पहली छवि पर एक क्लिक लिंक किया। नतीजतन, बस पहली छवि पर क्लिक करें और आपको एक चेतावनी दिखाई देगी जो आपको बताएगी कि नींद नहीं सक्रिय है और पृष्ठ अब पूर्णस्क्रीन में भी होना चाहिए।

इतना ही! अब आप अपने फोन को अपने वीआर हेडसेट में डाल सकते हैं और देख सकते हैं कि आपके पीआई के सामने क्या चल रहा है! या यह है?

चरण 5: चिकनी चीजें ऊपर

वास्तव में, यदि आपके पाई और नेटवर्क मेरे जैसे हैं, तो आप अपने हेडसेट में जो देखते हैं वह थोड़ा अजीब हो सकता है क्योंकि इसमें कुछ मजबूत देरी हो सकती है। तो वास्तव में एक सुचारू प्रणाली के साथ समाप्त करने के लिए आइए इस अंतिम मुद्दे को हल करें। देरी को कैसे हल करें? मैंने बस अनुमान लगाया कि समस्या वास्तविक समय में पीआई द्वारा संपीड़न से आ सकती है जो कि बहुत कम्प्यूटेशनल रूप से गहन है, या तो वायरलेस कनेक्शन से जो मुझे संदेह होगा। वैसे भी, इसे हल करने के लिए आप कुछ बहुत ही सरल कर सकते हैं जो कि रिज़ॉल्यूशन और बिटरेट को कम करना है जिसके साथ आपकी छवियां प्राप्त की जाती हैं और पीआई पर एन्कोड की जाती हैं।

उन मापदंडों को बदलने के लिए, अपने टर्मिनल पर वापस आएं और अपने रास्पबेरी पाई पर लॉग इन करें। UV4L एक कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है। यह फ़ाइल /etc/uv4l/uv4l-raspicam.conf है। इसे संपादित करने के लिए sudo nano /etc/uv4l/uv4l-raspicaam.conf कमांड टाइप करें। अब आप अपनी पसंद के अनुसार चौड़ाई, ऊंचाई और परिमाणीकरण सेट कर पाएंगे। मैंने मान चौड़ाई = 320, ऊंचाई = 240 और परिमाणीकरण = 40 का उपयोग किया और उनके साथ एक सहज संचरण प्राप्त किया।

चरण 6: आनंद लें

अब केवल एक चीज बची है, वह है उस प्रणाली को स्थापित करना जहां आप इसे चाहते हैं, अपने फोन को अपने कार्डबोर्ड में रखें, और अपना योग सत्र, ध्यान, बीयर पोंग अपने दोस्तों के साथ करें, या जो भी हो! कैमरे की दिशा के अभ्यस्त होने के लिए आपको कुछ समय (1 या 2 मिनट) की आवश्यकता हो सकती है, जिससे पहली बार में आपको ऐसा लगेगा कि आपको अचानक स्ट्रैबिस्मस की समस्या है। मेरे लिए जल्दी से इसकी आदत डालने का एक तरीका यह है कि पहले निकट की वस्तुओं पर ध्यान केंद्रित किया जाए और फिर आगे की वस्तुओं पर ध्यान दिया जाए।

मैंने कुछ एक्सटेंशन के बारे में सोचा जो दिलचस्प हो सकते हैं:

  • अपने घर के बाहर देखना संभव बनाते हैं, जो आपके स्थानीय नेटवर्क के बाहर से स्ट्रीम को सुलभ बनाता है।
  • ड्रोन रेस करने के लिए इसे मोबाइल रोबोटिक प्लेटफॉर्म पर रखें!

एक शिक्षक के रूप में मुझे लगता है कि इस परियोजना के बारे में और जानने के लिए दिलचस्प हो सकता है:

  • रास्पबेरी पाई, कंप्यूटर के मूल घटक क्या हैं, ओएस सिस्टम क्या है,
  • स्थानीय और बाहरी आईपी के साथ सामान्य नेटवर्क अवधारणाएं, HTTP प्रोटोकॉल,
  • एचटीएमएल और जावास्क्रिप्ट।

मुझे आशा है कि यह शिक्षाप्रद जो मेरा पहला था वह पढ़ने के लिए बहुत भारी होने के बिना पर्याप्त स्पष्ट है।

सिफारिश की: