विषयसूची:

रास्पबेरी स्पाई रोबोट: 8 कदम (चित्रों के साथ)
रास्पबेरी स्पाई रोबोट: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी स्पाई रोबोट: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी स्पाई रोबोट: 8 कदम (चित्रों के साथ)
वीडियो: Raspberry Pi Coded Robot Dancing 2024, नवंबर
Anonim
Image
Image
रास्पबेरी जासूस रोबोट
रास्पबेरी जासूस रोबोट

यह प्रोजेक्ट आपको वेबपृष्ठ के माध्यम से रोबोट चलाने और लाइवस्ट्रीम देखने की अनुमति देता है। इसका उपयोग पालतू जानवरों की जासूसी करने के लिए किया जा सकता है, सुनिश्चित करें कि आपके ओवन में कुछ भी नहीं जल रहा है, और यहां तक कि बर्ड वॉच भी! DFRobot ने रास्पबेरी पाई 3 और रास्पबेरी पाई कैमरा मॉड्यूल प्रदान किया।

चरण 1: रोबोट इलेक्ट्रॉनिक्स

रोबोट इलेक्ट्रॉनिक्स
रोबोट इलेक्ट्रॉनिक्स

मैंने DFRobot से 2WD MiniQ चेसिस किट को असेंबल करके शुरू किया। मैंने पहियों को मोटर शाफ्ट पर सरकाया, फिर उन्हें ब्रैकेट में डाला और उन्हें चेसिस से जोड़ दिया। अंत में, मैंने मेटल सपोर्ट को जोड़ा। अब मुख्य बोर्ड बनाने का समय था। रास्पबेरी पाई के GPIO पिन पर चलने वाले तारों के साथ L293d मोटर चालक को जगह-जगह मिलाप किया गया। अगला, मैंने बैटरी के लिए एक कनेक्टर को मिलाया, क्योंकि यह मुख्य शक्ति प्रदान करेगा। शक्ति स्रोत जोड़े जाने के बाद, मैंने 5V नियामक स्थापित किया।

चरण 2: पाई की स्थापना

Pi. की स्थापना
Pi. की स्थापना

DFRobot मेरे पास पहुंचा और अपना रास्पबेरी पाई 3 और रास्पबेरी पाई कैमरा मॉड्यूल भेजा। इसलिए जब मैंने बक्से खोले तो मुझे एसडी कार्ड सेट करके काम करने का अधिकार मिल गया। सबसे पहले मैं रास्पबेरी पाई डाउनलोड पेज पर गया और रास्पियन का नवीनतम संस्करण डाउनलोड किया। मैंने फिर फ़ाइल निकाली और उसे एक सुविधाजनक निर्देशिका में डाल दिया। आप किसी.img फ़ाइल को SD कार्ड में कॉपी/पेस्ट नहीं कर सकते, आपको कार्ड पर "बर्न" करना होगा। OS छवि को आसानी से स्थानांतरित करने के लिए आप Etcher.io जैसी जलती हुई उपयोगिता डाउनलोड कर सकते हैं। मेरे एसडी कार्ड पर.img फ़ाइल होने के बाद मैंने इसे रास्पबेरी पाई में डाला और इसे शक्ति दी। लगभग 50 सेकंड के बाद मैंने कॉर्ड को अनप्लग किया और एसडी कार्ड निकाल दिया। इसके बाद मैंने एसडी कार्ड वापस अपने पीसी में डाल दिया और "बूट" निर्देशिका में चला गया। मैंने नोटपैड खोला और इसे बिना किसी एक्सटेंशन के "ssh" नाम की एक खाली फ़ाइल के रूप में सहेजा। एक फ़ाइल भी थी जिसे मैंने "wpa_supplicant.conf" नाम से जोड़ा और इस पाठ को उसमें डाला:

नेटवर्क = { एसएसआईडी = पीएसके = }

फिर मैंने कार्ड को सहेजा और निकाल दिया और इसे वापस रास्पबेरी पाई 3 में डाल दिया। इसे अब एसएसएच के उपयोग और वाईफाई से कनेक्ट करने की अनुमति देनी चाहिए।

चरण 3: कैमरा तैयार करना

कैमरा तैयार करना
कैमरा तैयार करना

डिफ़ॉल्ट रूप से, कैमरा पाई पर अक्षम है, इसलिए आपको मेनू को लाने के लिए टर्मिनल प्रकार sudo raspi-config खोलना होगा। "इंटरफेसिंग विकल्प" पर जाएं और फिर कैमरा सक्षम करें। अब बस "फिनिश" चुनें और कैमरा मॉड्यूल के रिबन केबल को पाई के सही क्षेत्र में डालें।

चरण 4: सॉफ़्टवेयर स्थापित करना

कई अलग-अलग सॉफ्टवेयर हैं जो वीडियो स्ट्रीम कर सकते हैं, जैसे कि वीएलसी और मोशन, लेकिन मैंने एमजेपीईजी-स्ट्रीमर का उपयोग करने का फैसला किया क्योंकि इसकी कम विलंबता और आसान स्थापना है। साइट पर दिए गए निर्देशों के अनुसार, एक फ़ोल्डर में एक गिट क्लोन https://github.com/jacksonliam/mjpg-streamer.git करें, फिर आवश्यक पुस्तकालयों को स्थापित करने के लिए sudo apt-get cmake libjpeg8-dev इंस्टॉल करें टाइप करें। अपनी निर्देशिका को आपके द्वारा डाउनलोड किए गए फ़ोल्डर में बदलें और फिर सॉफ्टवेयर को संकलित करने के लिए सुडो मेक इंस्टाल के बाद मेक टाइप करें। अंत में निर्यात LD_LIBRARY_PATH= दर्ज करें। और इसे चलाने के लिए./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicaam.so" टाइप करें। आप स्ट्रीम देखने के लिए https://:8080/stream.html पर जाकर स्ट्रीम तक पहुंच सकते हैं।

चरण 5: नियंत्रक

नियंत्रक
नियंत्रक
नियंत्रक
नियंत्रक

फिर वाईफाई पर रास्पबेरी पाई को नियंत्रित करने का तरीका आया, क्योंकि ब्लूटूथ की सीमा बहुत कम है। मैंने इसे डेटा भेजने के लिए रास्पबेरी पीआई और एक ईएसपी 8266 ईएसपी 12 ई मॉड्यूल पर चलने वाले फ्लास्क सर्वर का उपयोग करने का निर्णय लिया। ESP8266 में केवल एक एनालॉग इनपुट है, जिसका अर्थ है कि मैं सीधे जॉयस्टिक का उपयोग नहीं कर सकता, क्योंकि इसमें दो एनालॉग इनपुट होते हैं। सबसे अच्छा विकल्प ADS1115 था, जो एक I2C डिवाइस है जो 16 बिट रिज़ॉल्यूशन पर एनालॉग सिग्नल पढ़ता है। मैंने केवल VCC और GND के साथ SDA को 4 और SCL को 5 से जोड़ा। जॉयस्टिक X अक्ष ADS1115 पर A0 से जुड़ता है, और Y अक्ष A1 से जुड़ता है। लेकिन, मैंने गलती से ADS1115 को जला दिया, इसलिए मुझे अगली सबसे अच्छी चीज़ का सहारा लेना पड़ा: बटन! तो अब मेरा सेटअप एक ESP8266 स्पार्कफुन थिंग देव बोर्ड है जिसमें 3 बटन हैं- आगे, दाएं और बाएं। अब जब भी किसी को दबाया जाता है, तो वह उस दिशा में पहियों को घुमाने के लिए डेटा भेजता है।

चरण 6: रोबोट के लिए कोड

रोबोट के लिए कोड
रोबोट के लिए कोड

मैंने एक पिछली परियोजना बनाई थी जिसमें पीआई की जीपीआईओ पीडब्लूएम लाइब्रेरी का उपयोग जेसन के माध्यम से मोटर्स को नियंत्रित करने के लिए किया गया था, इसलिए मैंने इसके बजाय फ्लास्क ऐप के माध्यम से डेटा स्वीकार करने के लिए कोड को फिर से तैयार किया। फ्लास्क एक पायथन लाइब्रेरी है जो अनिवार्य रूप से आपके पीआई को डेटा भेजने और प्राप्त करने में सक्षम वेबसर्वर में बदल देती है। PWM का उपयोग करके, टैंक ड्राइव की तुलना में मोटर्स को अधिक सटीकता के साथ नियंत्रित किया जा सकता है। इसका मतलब यह भी है कि रोबोट एक निश्चित गति के बजाय परिवर्तनशील गति से जा सकता है। ESP12e से http के माध्यम से GET अनुरोध से डेटा प्राप्त करने के बाद मेरा फ्लास्क ऐप मोटर्स के PWM को बदलने के लिए कॉन्फ़िगर किया गया है। यह सबप्रोसेस का भी उपयोग करता है। पृष्ठभूमि में वेबस्ट्रीमिंग स्क्रिप्ट चलाने के लिए लाइब्रेरी को खोलें। मैंने प्रोजेक्ट पेज पर कोड संलग्न किया है, इसलिए जो आवश्यक है वह एक डाउनलोड है।

चरण 7: नियंत्रक कोड

कोड बहुत सरल था, बस 3 पिन से रीडिंग लें, व्हील दिशा निर्धारित करने के लिए कुछ if स्टेटमेंट्स के माध्यम से उन्हें चलाएं, और अंत में उन मानों को रास्पबेरी पाई पर भेजें। Arduino IDE के लिए ESP8266 बोर्ड अतिरिक्त HTTPClient लाइब्रेरी के साथ आता है, जो हेडर और डेटा भेजने को संभालता है। फ्लास्क सर्वर को POST कॉल के माध्यम से डेटा प्राप्त करने की आवश्यकता होती है, इसलिए कोड रास्पबेरी पाई वेबसर्वर के साथ एक कनेक्शन शुरू करता है, फिर डेटा में एक हेडर जोड़ता है जो दर्शाता है कि यह JSON एन्कोडेड है, और अंत में यह डेटा को JSON ऑब्जेक्ट के रूप में भेजता है।. मैंने रास्पबेरी पाई को डेटा के साथ अतिभारित होने से रोकने के लिए 40 एमएस विलंब जोड़ा।

चरण 8: रास्पबेरी स्पाई चलाना

रास्पबेरी जासूस चल रहा है
रास्पबेरी जासूस चल रहा है
रास्पबेरी जासूस चल रहा है
रास्पबेरी जासूस चल रहा है

बस इतना करना है कि sudo python.py टाइप करना है! आपको कैमरा लाइट अप देखना चाहिए, और पोर्ट 8080 के साथ पीआई के वेब पते पर जाकर स्ट्रीम दिखाई देनी चाहिए। अब आप घर में कहीं भी कंट्रोलर का इस्तेमाल कर सकते हैं और लाइव फीड भी ले सकते हैं।

सिफारिश की: