विषयसूची:

रास्पबेरी पाई और डायलॉगफ़्लो (Chromecast वैकल्पिक) का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें: १३ कदम
रास्पबेरी पाई और डायलॉगफ़्लो (Chromecast वैकल्पिक) का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें: १३ कदम

वीडियो: रास्पबेरी पाई और डायलॉगफ़्लो (Chromecast वैकल्पिक) का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें: १३ कदम

वीडियो: रास्पबेरी पाई और डायलॉगफ़्लो (Chromecast वैकल्पिक) का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें: १३ कदम
वीडियो: Create Conversational AI Agents with Dialogflow CX: Challenge Lab || Lab Solution 2024, नवंबर
Anonim
रास्पबेरी पाई और डायलॉगफ्लो का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें (Chromecast वैकल्पिक)
रास्पबेरी पाई और डायलॉगफ्लो का उपयोग करके अपने Google होम के लिए एक स्क्रीन प्राप्त करें (Chromecast वैकल्पिक)

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

चरण 1:

Image
Image

इसके लिए मैंने निम्न सेटअप बनाया है

Google होम -> डायलॉगफ़्लो -> डेटाप्लिसिटी पर आरपीआई आईपी पता -> नोडज सर्वर -> यूआरएल खोलने के लिए कोड

डायलॉगफ़्लो एक Google की मानव-कंप्यूटर इंटरैक्शन तकनीक है जो प्राकृतिक-भाषा की बातचीत पर आधारित है। इसकी मदद से, हम Google होम को इनपुट के रूप में देने के लिए अपनी बातचीत या कार्य विकसित कर सकते हैं। यह निम्नानुसार काम करता है

आशय [इनपुट, प्रश्न, वार्तालाप, आदेश….] -> Google होम -> क्रिया [उत्तर]

यहां, उत्तर या तो एक साधारण बातचीत हो सकती है या फिर वेबहुक से प्राप्त डेटा, जिसे हम आरपीआई सर्वर का उपयोग करके बनाने जा रहे हैं। तो, डायलॉगफ्लो वेबसाइट पर जाएं और एक खाता और एक नया एजेंट बनाएं।

फिर एक नया इरादा बनाएँ….

चरण 2:

छवि
छवि

फिर प्रशिक्षण वाक्यांश दर्ज करें। ये वे आदेश हैं जो उपयोगकर्ता तब बोलते हैं जब वे Google होम से किसी विशिष्ट कार्य को एक्सेस करने का प्रयास करते हैं।

चरण 3:

यहां, 'वेबसाइट' शब्द को यूट्यूब, नेटफ्लिक्स, अमेज़ॅन प्राइम इत्यादि जैसी किसी भी चीज़ में बदला जा सकता है … इसलिए, यह शब्द एक चर के रूप में कार्य करता है और जब आप वेबसाइट शब्द [माउस का उपयोग करके] चुनते हैं तो आपको निम्न मिलता है

चरण 4:

छवि
छवि

ड्रॉप-डाउन मेनू से, '@sys.any' चुनें और एंटर दबाएं।

चरण 5:

छवि
छवि

फिर क्रिया अनुभाग में समान पैरामीटर नाम दर्ज करें। इस खंड में उल्लिखित मान वेबहुक को JSON फ़ाइल के रूप में भेजे जाते हैं, जिसे हमें यह जानने के लिए सर्वर में पुनः प्राप्त करने की आवश्यकता होती है कि उपयोगकर्ता ने किस वेबसाइट का आह्वान किया है।

एक चर का मान '$variable_name' का उपयोग करके पुनर्प्राप्त किया जाता है

चरण 6:

छवि
छवि

वह प्रतिक्रिया जोड़ें जो हमें Google होम को आदेश कहने के बाद सुनने की आवश्यकता है। फिर इरादा बचाओ। यदि आवश्यक हो तो इस आशय को बातचीत के अंत के रूप में सेट करें।

चरण 7:

अब हम अपने रास्पबेरी पाई पर वीडियो और वेबसाइट खोलने के लिए उन प्रश्नों को प्राप्त करने के लिए अपनी बैक-एंड सेवा स्थापित करेंगे।

शेष सेटअप

डेटाप्लिसिटी -> नोडज सर्वर -> कोड

हमें डेटाप्लिसिटी की आवश्यकता क्यों है? क्योंकि Google होम उन वेबहुक से जुड़ता है जो इंटरनेट पर उपलब्ध हैं। भले ही हमारा GHome स्थानीय नेटवर्क से जुड़ा है, फिर भी प्रश्न Google क्लाउड सेवा से आ रहे हैं और इसलिए, हमारे सर्वर को इंटरनेट पर पोर्ट करने की आवश्यकता है। उस सिरदर्द के बजाय, हम अपने रास्पबेरी पाई को इंटरनेट पर आसानी से रखने के लिए डेटाप्लिसिटी सेवाओं का उपयोग कर सकते हैं।

सबसे पहले, रास्पबेरी पाई से कनेक्ट करें [सीधे एचडीएमआई या यहां तक कि एसएसएच के साथ] टर्मिनल में निम्न कमांड से नवीनतम नोडज रन-टाइम प्राप्त करें।

कर्ल-एसएल https://deb.nodesource.com/setup_8.x | सुडो-ई बैश -

फिर इसका उपयोग करके स्थापित करें

sudo apt-get install -y nodejs

फिर एक नई फाइल बनाएं

नैनो वेबसर्वर.जेएस

चरण 8:

फिर, नीचे दिए गए कोड को फ़ाइल में डालें

यहां, प्रदर्शन के लिए, मैं केवल दो वेबसाइटों (गूगल, यूट्यूब) का उपयोग कर रहा हूं। कोई भी कोड को संपादित कर सकता है और तदनुसार बदल सकता है।

बॉडीपार्सर = की आवश्यकता होती है ('बॉडी-पार्सर'); वर निष्पादन = की आवश्यकता होती है ('चाइल्ड_प्रोसेस')। निष्पादन; वर एक्सप्रेस = आवश्यकता ('एक्सप्रेस'); वर ऐप = एक्सप्रेस (); app.use (bodyParser.json ()); app.post('/', function(req, res){ let वेरिएबल =req.body.queryResult.parameters.website; exec("midori www."+variable+.com", function(error, stdout, stderr) { कंसोल.लॉग ("stdout:" + stdout); कंसोल.लॉग ("stderr:" + stderr); अगर (त्रुटि! == शून्य) {कंसोल.लॉग ("निष्पादन त्रुटि:" + त्रुटि); }}); वापसी res.end (); }); ऐप.सुनो (80);

चरण 9:

छवि
छवि

उपरोक्त कोड केवल अवधारणा को समझाने के लिए लिखा गया था। मैंने कोड में मिडोरी ब्राउज़र का इस्तेमाल किया क्योंकि क्रोमियम रिमोट कमांड के साथ काम नहीं करता है। हम फायरफॉक्स का भी उपयोग कर सकते हैं। [हमें कोड लिखने से पहले npm की मदद से बॉडी-पार्सर, एक्सप्रेस मॉड्यूल स्थापित करना होगा]

याद रखें कि हमें केवल पोर्ट 80 पर सुनना चाहिए क्योंकि डेटाप्लिसिटी रास्पबेरी पाई के केवल पोर्ट 80 को अग्रेषित कर सकती है।

अब हमें डेटाप्लिसिटी सेट करने की आवश्यकता है

डेटाप्लिसिटी वेबसाइट पर जाएं और अपना अकाउंट बनाएं और रास्पबेरी पाई को डैशबोर्ड में जोड़ने के लिए निर्देशों का पालन करें।

चरण 10:

छवि
छवि

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

आईपी पते को क्लिपबोर्ड पर कॉपी करें।

चरण 11:

छवि
छवि

अब रास्पबेरी पाई टर्मिनल से कोड चलाएँ

sudo नोड webserver.js

यदि यह प्रदर्शन या प्रोटोकॉल के बारे में कोई त्रुटि दिखाता है…। निष्पादित करना

सुडो एक्सहोस्ट +

अब डायलॉगफ्लो पर वापस जाएं, और फुलफिलमेंट सेक्शन पर क्लिक करें

चरण 12:

छवि
छवि

उपरोक्त स्थान में IP पता या डेटाप्लिसिटी से URL दर्ज करें।

चरण 13:

छवि
छवि

अंत में, इंटेंट सेक्शन में जाएं और पूर्ति टैब से वेबहुक कॉल को सक्षम करें।

इतना ही! अब अपने Google होम पर वापस जाएं और जांचें कि यह कैसे काम करता है!

अगली बार तक, हैप्पी हैकिंग:)

सिफारिश की: