कैसे रास्पबेरी पाई के साथ एक DIY Google होम सहायक बनाने के लिए
विज्ञापन
आवाज नियंत्रित सहायक जल्दी से सामान्य हो गए हैं। कई घरों में एक एलेक्सा या Google होम है जो प्रकाश व्यवस्था से लेकर मीडिया और यहां तक कि टाइमकीपिंग तक सब कुछ नियंत्रित करता है।
इन उपकरणों पर चलने वाली तकनीक उपलब्ध है- कम से कम भाग में - सभी के लिए। Google का सहायक SDK आपको अपने उपकरणों पर सेवा का उपयोग करने की अनुमति देता है। यह ट्यूटोरियल कवर करता है कि आपके रास्पबेरी पाई पर Google सहायक कैसे सेट करें, और GPIO पिन के माध्यम से आवाज को सक्रिय करें।
एक रास्पबेरी पाई होम सहायक के लिए आवश्यक हार्डवेयर
आपको चाहिये होगा:
- रास्पबेरी पाई एसडी कार्ड पर एक ताजा रास्पबिन के साथ स्थापित करें रास्पबेरी पाई पर एक ऑपरेटिंग सिस्टम कैसे स्थापित करें रास्पबेरी पाई पर एक ऑपरेटिंग सिस्टम कैसे स्थापित करें यहां बताया गया है कि कैसे अपने रास्पबेरी पाई पर एक ओएस स्थापित करें और त्वरित के लिए अपने सही सेटअप को कैसे क्लोन करें। आपदा बहाली। अधिक पढ़ें ।
- USB वेबकैम या माइक्रोफोन।
- बाहरी वक्ता।
- पाई एलईडी ट्यूटोरियल से सर्किट एलईडी रास्पबेरी पाई को प्रोग्राम कैसे करें एलईडी लाइट्स को नियंत्रित करने के लिए कैसे करें एलईडी रोशनी को नियंत्रित करने के लिए अपने रास्पबेरी पाई को कैसे प्रोग्राम करें कोडिंग और इलेक्ट्रॉनिक्स के साथ शुरू करने के लिए एक आसान रास्पबेरी पाई प्रोजेक्ट की तलाश करें? कुछ एल ई डी को जोड़ने और उन्हें चालू और बंद करने के लिए कोडिंग करने का प्रयास करें! और पढ़ें (वैकल्पिक)
- आपके Google खाते में एक ब्राउज़र साइन इन है।
नोट: इस ट्यूटोरियल के उपकरण कुछ हद तक भिन्न हो सकते हैं। मैंने अपने माइक्रोफोन के लिए शुद्ध रूप से एक अतिरिक्त USB वेब कैमरा का उपयोग किया। किसी भी संगत वेबकैम या माइक्रोफ़ोन को ठीक करना चाहिए, और मदद करने के लिए पाई-संगत उपकरणों की व्यापक सूची है।
इसके अलावा, मैं ऑडियो के लिए 3.5 मिमी आउटपुट का उपयोग कर रहा हूं। एचडीएमआई और अन्य आउटपुट स्रोत भी काम करेंगे, हालांकि इसके लिए नीचे दिए गए ध्वनि सेटअप में संशोधन की आवश्यकता होगी।
USB वेब कैमरा और स्पीकर में प्लग करें, और यदि आप इसका उपयोग कर रहे हैं तो एलईडी सर्किट सेट करें।
ध्वनि की स्थापना
इस ट्यूटोरियल को सीधे Pi पर या SSH कनेक्शन के माध्यम से Pi में देखा जा सकता है।
ध्वनि सेटिंग्स की जांच करने के लिए दोनों तरीके टर्मिनल में शुरू होते हैं। उपलब्ध उपकरणों को सूचीबद्ध करने के लिए कमांड्स arecord -l और aplay -l का उपयोग करें।
ऊपर दी गई छवि कार्ड 1 और डिवाइस 0 के रूप में USB वेब कैमरा को दिखाती है। माइक्रोफ़ोन और स्पीकर आउटपुट दोनों के लिए कार्ड और डिवाइस नंबर पर ध्यान दें।
अब, सुनिश्चित करें कि आप / home / pi डायरेक्टरी में हैं, एक नई फ़ाइल बनाएं और इसे नैनो में खोलें:
sudo nano .asoundrc
इस निर्देशिका की सामग्री आपके द्वारा उपयोग किए जा रहे कार्ड और डिवाइस नंबर के आधार पर भिन्न होगी। यह वह जगह है जहाँ आप चाहें तो 3.5 मिमी के बजाय एचडीएमआई आउटपुट का पक्ष ले सकते हैं।
जब आपने उपरोक्त कोड का अपना संस्करण दर्ज किया है, तो सहेजने और बाहर निकलने के लिए Ctrl + X दबाएँ।
रिकॉर्डिंग और एक छोटी क्लिप वापस खेलकर अपने सेटअप का परीक्षण करें:
वैकल्पिक चरण: यदि आप अपने माइक्रोफ़ोन के इनपुट वॉल्यूम को बदलना चाहते हैं, तो एल्सेमिक्सर खोलें और F6 को उपकरणों के बीच में दबाएं।
बस! आवाज लगाई है।
Google प्रोजेक्ट बनाना
वैकल्पिक रूप से, यदि आप SSH के माध्यम से जुड़े हैं, तो पाई का ब्राउज़र खोलें, स्थानीय रूप से एक ब्राउज़र खोलें। Google क्रिया कंसोल पर नेविगेट करें और नई परियोजना पर क्लिक करें।
इसमें कुछ क्षण लग सकते हैं। समाप्त होने पर, खिड़की को सक्रिय छोड़ दें और एक नया टैब खोलें- हम एक क्षण में इस पर आ जाएंगे।
Google सहायक API को सक्षम करना
जारी रखने के लिए आपको कुछ ऑनलाइन समायोजन करने होंगे। Google सहायक API वेबसाइट पर नेविगेट करें और सक्षम करें पर क्लिक करें ।
परियोजना को गतिविधि अनुमति की भी आवश्यकता होती है। अपने गतिविधि नियंत्रण कक्ष के प्रमुख और सुनिश्चित करें कि निम्नलिखित गतिविधियाँ चालू हैं:
- वेब और ऐप गतिविधि (क्रोम इतिहास चेकबॉक्स सहित)
- डिवाइस जानकारी
- आवाज और ऑडियो गतिविधि
अब आप डिवाइस को पंजीकृत करने के लिए आगे बढ़ सकते हैं।
आपका रास्पबेरी पाई रजिस्टर करना
एक्शन कंसोल में वापस, बाएं पैनल से डिवाइस पंजीकरण चुनें। उत्पाद के तहत अपने डिवाइस के लिए नाम याद रखने में आसान बनाएँ। निर्माता का नाम महत्वपूर्ण नहीं है (लेकिन होना चाहिए), और डिवाइस प्रकार के लिए ऑटो का चयन करें।
रजिस्टर मॉडल पर क्लिक करें, और अगली स्क्रीन पर OAuth 2.0 क्रेडेंशियल डाउनलोड करें पर क्लिक करें । यह आपके कंप्यूटर पर एक JSON फ़ाइल डाउनलोड करता है। यदि आप JSON फ़ाइलों से परिचित नहीं हैं, तो चिंता न करें, लेकिन JSON JSON Python Parsing का उपयोग करना सीखें: एक साधारण गाइड JSON Python पार्सिंग: एक साधारण गाइड लगभग JSON को पार्स और जेनरेट करने के लिए लाइब्रेरी और टूल-किट उपलब्ध हैं। किसी भी भाषा और पर्यावरण यह लेख JSON python पार्सिंग से उत्पन्न होने वाले तरीकों और मुद्दों पर केंद्रित है। Read More भविष्य के लिए क्या करने योग्य है!
आधिकारिक Google गाइड फ़ाइल को / home / pi पर ले जाने की सलाह देता है, इसलिए फ़ाइल प्रबंधक खोलें और अभी ऐसा करें।
SSH उपयोगकर्ताओं के लिए अतिरिक्त कदम:
यदि आप SSH का उपयोग कर रहे हैं, तो आपने JSON फ़ाइल को Pi के बजाय अपनी स्थानीय मशीन पर डाउनलोड किया होगा। इसे स्थानांतरित करने के लिए, एसएसएच कनेक्शन के साथ एक अलग टर्मिनल विंडो खोलें। इस विंडो से, इस आदेश का उपयोग करके ग्राहक गुप्त JSON फ़ाइल की प्रतिलिपि बनाएँ:
scp ~/Downloads/client_secret_client-id.json :/home/pi/
अपने Pi के IP पते के साथ "रास्पबेरी-पाई-आईपी-एड्रेस" बदलें, और पथ से पहले कोलन को न भूलें। यदि आपने JSON फ़ाइल को किसी अन्य स्थान पर डाउनलोड किया है तो इसे प्रतिबिंबित करने के लिए अपने स्थानीय पथ को संशोधित करें। संकेत दिए जाने पर अपना पासवर्ड दर्ज करें, और फ़ाइल Pi के होम डायरेक्टरी में कॉपी हो जाएगी।
SSH टर्मिनल पर वापस जाएँ, और / home / pi पर जाएँ । निर्देशिका में फ़ाइलों को सूचीबद्ध करने के लिए ls -l दर्ज करें। आपको हस्तांतरित ग्राहक गुप्त JSON फ़ाइल देखनी चाहिए।
एसडीके स्थापित करना
Google पायथन आभासी वातावरण में काम करने की सलाह देता है। एक नया आभासी वातावरण बनाएँ जिसे एनवी कहा जाता है।
यदि आपने पहले कभी ऐसा नहीं किया है, तो यह ट्यूटोरियल आपको सीखने में मदद करेगा कि पायथन आभासी वातावरण का उपयोग कैसे करें।
Pip, Setuptools और Wheel के नवीनतम संस्करण स्थापित करें और अपने आभासी वातावरण को सक्रिय करें:
env/bin/python -m pip install --upgrade pip setuptools wheel source env/bin/activate
Google सहायक की कुछ निर्भरताएँ हैं जिन्हें आपको अब आभासी वातावरण में स्थापित करना चाहिए।
sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev
अंत में, Google सहायक SDK, नमूने और OAuth उपकरण स्थापित करें।
python -m pip install --upgrade google-assistant-library python -m pip install --upgrade google-assistant-sdk[samples] python -m pip install --upgrade google-auth-oauthlib[tool]
वह सब कुछ है जो उठने और चलने के लिए आवश्यक है। यदि कोई भी इंस्टॉलेशन विफल हो जाता है, तो वर्तनी और रिक्ति की अच्छी तरह से जाँच करें।
रास्पबेरी पाई का प्रमाणीकरण
अपने रास्पबेरी पाई को प्रमाणित करने के लिए पहले डाउनलोड किए गए क्रेडेंशियल JSON फ़ाइल के साथ google-Cort-oauthlib [टूल] का उपयोग करें।
google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https://www.googleapis.com/auth/gcm \ --save --headless --client-secrets /home/pi/YOUR_CLIENT_SECRET_ID.json
आपको डाउनलोड किए गए फ़ाइल से Your_CLIENT_SECRET_ID को बदलना होगा, इसलिए यह फ़ाइल नाम को पहले कॉपी करने के लायक है। यह क्लाइंट आईडी सही होनी चाहिए। फ़ाइल नाम न बदलें!
आपको एक लिंक के साथ एक संदेश प्राप्त करना चाहिए, जो आपको एक प्राधिकरण कोड में पेस्ट करने के लिए कहेगा।
लिंक पर क्लिक करने से ब्राउज़र खुल जाता है। आपको अपने Google खाते पर डिवाइस को सक्षम करने के लिए संकेत दिया जाएगा। प्राधिकरण कोड की प्रतिलिपि बनाएँ, जो निम्नानुसार है, और इसे अपने टर्मिनल विंडो में वापस पेस्ट करें।
आपको एक पुष्टिकरण रीडिंग प्राप्त करनी चाहिए क्रेडेंशियल सहेजा गया: / home / pi ..., जिसका अर्थ है कि पाई को आपके Google खाते के साथ सफलतापूर्वक अधिकृत किया गया है।
इसका परीक्षण करना
अब जब सब कुछ हो चुका है, तो अपने पाई Google सहायक का परीक्षण करने का समय आ गया है। इस कमांड के साथ सहायक को चलाएँ:
googlesamples-assistant-hotword --project-id my-dev-project --device-model-id my-model
आपको अपने प्रोजेक्ट आईडी के साथ माय-देव-प्रोजेक्ट को बदलने की आवश्यकता होगी (एक्शन कंसोल के सेटिंग्स कोग्व्हील के तहत पाया गया)। आपकी डिवाइस-मॉडल-आईडी एक्शन कंसोल के डिवाइस पंजीकरण अनुभाग के तहत सूचीबद्ध है।
कोशिश करके देखो! "ठीक है Google" कहें और एक प्रश्न पूछें। प्रतिक्रिया सुनते ही आप टर्मिनल में प्रोग्राम आउटपुट देख सकते हैं:
बस! Google सहायक अब आपके रास्पबेरी पाई पर चल रहा है। ध्यान दें कि यदि आउटपुट वॉल्यूम थोड़ा कम है, तो आप इसे कह सकते हैं कि "हे Google, अपनी मात्रा 80% तक बढ़ाएं।"
बोनस: आवाज सक्रिय GPIO
एक Arduino और सिरी के साथ रोशनी को नियंत्रित करना संभव है, लेकिन एक सरल विधि है। यदि आप एक एलईडी स्थापित करते हैं, तो आप अपनी आवाज को नियंत्रित करने के लिए Google सहायक का उपयोग कर सकते हैं।
GPIO पिन के साथ काम करने के लिए Google सहायक की स्थापना अपेक्षाकृत सरल है, लेकिन इसके लिए कुछ अतिरिक्त चरणों की आवश्यकता होती है। Google एक्शन कंसोल पर जाएं, और डिवाइस पंजीकरण के तहत अपना डिवाइस ढूंढें। उस पर क्लिक करें, और लक्षण मेनू खोलें:
ऑनऑफ विशेषता चालू करें, और सहेजें पर क्लिक करें।
अब सुनिश्चित करें कि आप env आभासी वातावरण के अंदर हैं, SDK के एक संस्करण को git का उपयोग करके अपने Pi में क्लोन करें:
git clone https://github.com/googlesamples/assistant-sdk-python
चूंकि यह एक आभासी वातावरण है, इसलिए आगे बढ़ने से पहले आपको RPi.GPIO इंस्टॉल करना होगा।
pip install rpi.gpio
अब, hotword.py स्क्रिप्ट वाले फ़ोल्डर में नेविगेट करें।
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
स्क्रिप्ट को संशोधित करना
आपको hotword.py स्क्रिप्ट में कुछ लाइनें जोड़ने की आवश्यकता होगी, इसलिए इसे नैनो एडिटर में खोलें:
nano hotword.py
आयात कथनों के तहत, RPi.GPIO के लिए अपना स्वयं का जोड़ें।
import RPi.GPIO as GPIO
Process_event विधि देखें। 66 पंक्ति में, प्रिंट स्टेटमेंट निकालें या टिप्पणी करें, और एलईडी को नियंत्रित करने के लिए एक इफ स्टेटमेंट जोड़ें।
#print('Do command', command, 'with params', str(params)) if command == "action.devices.commands.OnOff": if params['on']: print('---------------') print('Led turned on') print('---------------') GPIO.output(18, GPIO.HIGH) else: print('---------------') print('Led turned off') print('---------------') GPIO.output(18, GPIO.LOW)
यह तर्क एलईडी को नियंत्रित करता है, लेकिन अभी तक इसे आउटपुट में कॉन्फ़िगर नहीं किया गया है। Process_event विधि कहे जाने से पहले इसे मुख्य () फ़ंक्शन में सेट करें।
GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW)
अब GPIO पिन निम्न अवस्था में आउटपुट और इनिशियलाइज़ करने के लिए सेट है। सेव करके छोड़ो। आप अपने मॉडल-आईडी नंबर (एक्शन कंसोल में पाया गया) को एक तर्क के रूप में संशोधित करके अपनी स्क्रिप्ट चला सकते हैं।
python hotword.py --device-model-id YOUR-MODEL-ID-HERE
टर्मिनल आउटपुट पहले की तरह ही है, और सहायक मानक के रूप में काम करेगा। हालांकि, जब आप कहते हैं "ठीक है Google, चालू करें" आपको एक नया आउटपुट दिखाई देगा:
नोट: उपरोक्त छवि को क्रॉप कर दिया गया है, केवल सहायक को अनुरोध सुनकर, और प्रिंट विवरण स्क्रिप्ट में जोड़ा गया है।
आपको अपनी एलईडी लाइट को भी देखना चाहिए!
आपका अपना DIY रास्पबेरी पाई Google होम सहायक
यह परियोजना Google API सेवाओं का उपयोग करने के लिए एक अच्छा परिचय है। अब जब आपके पास एक Google सहायक उपकरण है, तो Google होम कमांड के कुछ बेहतरीन प्रयासों का प्रयास करें। Google होम कमांड्स चीट शीट, Google होम कमांड्स चीट शीट, Google होम कमांड्स की हमारी चीट शीट में मनोरंजन, सूचना और स्वचालन सहित कई आसान कार्य शामिल हैं। और पढ़ें -हमने कुछ महान Google होम मिनी गेम्स देखे हैं मिनी गेम्स के लिए 15 Google होम कमांड और मिनी गेम्स के लिए और अधिक 15 Google होम कमांड और अधिक आप Google होम कमांड के साथ बहुत सारे काम कर सकते हैं। यहाँ कई मनोरंजक Google होम कमांड्स कोशिश करने लायक हैं। अधिक पढ़ें ।
इसके बारे में अधिक जानें: DIY प्रोजेक्ट ट्यूटोरियल, गूगल असिस्टेंट, एलईडी लाइट्स, रास्पबेरी पाई, स्मार्ट हब।