विषयसूची:

एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266: 9 कदम
एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266: 9 कदम

वीडियो: एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266: 9 कदम

वीडियो: एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266: 9 कदम
वीडियो: Home Automation using ESP01 ESP8266 Tasmota Alexa control Relay - IoT Project 2023 2024, जुलाई
Anonim
एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266
एलेक्सा वॉयस कंट्रोल टीवी रिमोट ईएसपी8266

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

आवश्यक हार्डवेयर:

  1. अमेज़न इको या डॉट
  2. एक वाईफाई राउटर जो आगे पोर्ट कर सकता है (मेरे सेवा प्रदाता ने मेरे लिए यह किया)
  3. एक Arduino NANO 3V3. में परिवर्तित हो गया
  4. ESP8266 -01 या समान
  5. आईआर ट्रांसमीटर मॉड्यूल या सर्किट
  6. IR रिसीवर मॉड्यूल यदि आप कोड कैप्चर करना चाहते हैं।

आवश्यक सॉफ्टवेयर और सेवाएं:

  1. Arduino IDE, मैंने 1.6.11. का उपयोग किया
  2. अमेज़न एलेक्सा स्किल अकाउंट (फ्री)
  3. अमेज़ॅन एडब्ल्यूएस खाता (फ्री टियर लेकिन खाता खोलने के लिए क्रेडिट कार्ड की आवश्यकता है) या वैकल्पिक सर्वर।

चरण 1: एलेक्सा कौशल सेटअप

एलेक्सा कौशल सेटअप
एलेक्सा कौशल सेटअप
एलेक्सा कौशल सेटअप
एलेक्सा कौशल सेटअप
एलेक्सा कौशल सेटअप
एलेक्सा कौशल सेटअप

एलेक्सा कौशल किट वॉयस कमांड लेती है और इसे 'मान' की सूची का उपयोग करके फ़िल्टर करती है

एक बार पंजीकृत होने के बाद:

अमेज़ॅन डेवलपर कंसोल में, एलेक्सा टैब> एलेक्सा स्किल किट [आरंभ करें] चुनें

[एक नया कौशल जोड़ें]

कौशल का प्रकार: कस्टम इंटरैक्शन मॉडल

भाषा: सही का चयन करें, जब यह अंग्रेजी (यूएस) पर सेट होता तो यह प्रतिक्रिया नहीं देता!

नाम: यह अब महत्वपूर्ण नहीं है क्योंकि हम प्रकाशित नहीं कर रहे हैं।

आह्वान नाम:, एक छोटा नाम चुनें, यह वह शब्द है जिसका उपयोग ऐप खोलने के लिए किया जाता है।

[अगला]

इरादा स्कीमा, कोड में पेस्ट करें

कस्टम स्लॉट प्रकार {स्लॉट प्रकार जोड़ें], EFFECT_ON_TV दर्ज करें

स्लॉट मूल्यों में, कोड में पेस्ट करें

नमूना कथन, डाल दें, TVCommandIntent tv {TVAction}

[सहेजें], अगले कौशल पृष्ठ पर हमें उस कोड के लिए एक लिंक जोड़ना होगा जिसे हम चलाने जा रहे हैं जब "इरादा" या तो ऐप प्रारंभ शब्द "क्लिकर" या उसके बाद "टीवी {स्लॉट वैल्यू}" द्वारा ट्रिगर किया जाता है।.

लैम्ब्डा सर्वर पायथन स्क्रिप्ट को सेटअप करने के बाद हम एलेक्सा पर वापस आएंगे।

चरण 2: एडब्ल्यूएस लैम्ब्डा सर्वर पायथन स्क्रिप्ट

एडब्ल्यूएस के फ्री टियर के लिए साइन अप करें, मुझे चिंता थी कि इससे मुझे वास्तविक पैसा खर्च हो सकता है, लेकिन इसे कुछ समय तक इस्तेमाल करने और मंचों को पढ़ने के बाद व्यक्तिगत और विकास के उपयोग के लिए उपयोग की सीमा इतनी अधिक है कि इसे कभी भी चार्ज पॉइंट तक नहीं पहुंचना चाहिए। अपने स्वयं के HTTPS सर्वर का उपयोग करने का एक विकल्प है और शायद यह कुछ ऐसा है जो esp8266 कर सकता है, एक और शिक्षाप्रद!

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

AWS Services में सबसे पहले अपना स्थान चुनें, ऊपर दाईं ओर एक विकल्प है।

अमेरिका के लिए एन वर्जीनिया का चयन करें, यूरोपीय संघ के लिए आयरलैंड का चयन करें।

कंप्यूट हेडिंग से लैम्ब्डा चुनें।

[एक लैम्ब्डा फंक्शन बनाएं]

[रिक्त समारोह]

ट्रिगर कॉन्फ़िगर करें: डॉटेड बॉक्स पर क्लिक करें और एलेक्सा स्किल्स किट चुनें

[अगला]

फ़ंक्शन कॉन्फ़िगर करें

आप जो चाहें नाम दें

विवरण, आप पर निर्भर है

रनटाइन: पायथन 2.7

पायथन कोड में पेस्ट करें,

कोड में URL HTTP पते को बाद में आपके अपने बाहरी आईपी पते में बदलना होगा।

लिंक = "https://185.255.255.255:777/text?data=" + पसंदीदा_color

स्क्रीन पर निचला एक ROLE है, टैब पर क्लिक करें और एक कस्टम भूमिका चुनें चुनें

यह एक नई स्क्रीन खोलेगा और अनुमति पर क्लिक करेगा।, यह मौजूदा भूमिका के रूप में चयनित लैम्डा मूल निष्पादन के साथ कॉन्फ़िगर फ़ंक्शन स्क्रीन पर वापस आ जाता है।

[अगला] समीक्षा, हिट [फ़ंक्शन बनाएं] और इसे संकलित करना चाहिए और आपको एक एआरएन नंबर देना चाहिए। इस कोड को कॉपी करें और हम इसे एलेक्सा स्किल किट में डाल देंगे।

चरण 3:

चरण 4: एलेक्सा स्किल किट लिंक को एडब्ल्यूएस लैम्ब्डा पर सेट करें

एलेक्सा स्किल किट लिंक को एडब्ल्यूएस लैम्ब्डा पर सेट करें
एलेक्सा स्किल किट लिंक को एडब्ल्यूएस लैम्ब्डा पर सेट करें

एलेक्सा स्किल्स किट में, कॉन्फ़िगरेशन पेज का चयन करें, ग्लोबल फील्ड्स का नेतृत्व करें और एडब्ल्यूएस लैम्ब्डा और अपने क्षेत्र का चयन करें और एआरएन कोड को बॉक्स में पेस्ट करें, [अगला], परीक्षण में, चेक सक्षम किया गया है।

हम अभी के लिए यहां काम कर रहे हैं, अब कुछ हार्डवेयर के लिए।

चरण 5: Arduino नैनो 3V3 रूपांतरण

Arduino नैनो 3V3 रूपांतरण
Arduino नैनो 3V3 रूपांतरण
Arduino नैनो 3V3 रूपांतरण
Arduino नैनो 3V3 रूपांतरण

ESP8266 3v3 से चलता है इसलिए या तो आप इसे बाहरी नियामक से चलाते हैं या नैनो को परिवर्तित करते हैं। मैंने CH340 यूएसबी चिप के साथ एक क्लोन नैनो का उपयोग किया है। मेरे पास दो अलग-अलग पीसीबी लेआउट हैं जिनके बारे में मुझे पता है, लेकिन उम्मीद है कि इसमें अधिकांश लेआउट शामिल होंगे।

हमें 5V नियामक को पिन संगत 3v3 one, 1117-3 से बदलने की आवश्यकता है। फिर 5V को USB सॉकेट से केवल रेगुलेटर में रूट करें और बाकी सब कुछ इसके आउटपुट से कनेक्ट करें। सौभाग्य से यह नियामक की जगह इनपुट डायोड को हटाकर और डायोड के इनपुट पक्ष से एक तार को नैनो बोर्ड पर विन में जोड़कर प्राप्त किया जा सकता है।

जांचें कि आप रूपांतरण के बाद नैनो को प्रोग्राम कर सकते हैं।

चरण 6: नैनो कोड

नैनो कोड
नैनो कोड
नैनो कोड
नैनो कोड

यह मेरे SKY यूके रिमोट के लिए कोड का उपयोग करता है, यह मॉडल विशिष्ट हो सकता है और यह आपके कोड को एक अलग स्केच में काम करने के लायक है जो esp8266 से जुड़ा नहीं है।

मैंने शिरिफ संस्करण 2.0.1. द्वारा IRremote पुस्तकालय का उपयोग किया

रिमोट कमांड को कैप्चर करने के लिए IRrecord उदाहरण का उपयोग करें जिसके लिए IR रिसीवर मॉड्यूल की आवश्यकता होती है या आपको वेब पर अपने कोड मिल सकते हैं? मैं यहां उस पर नहीं जा रहा हूं लेकिन यह वह जगह है जहां आप चुन सकते हैं कि आप क्या नियंत्रित करते हैं और कैसे।

ईबे पर उपलब्ध आईआर ट्रांसमीटर को कनेक्ट करें या एक का निर्माण करें। आपको 850nm IR एलईडी का उपयोग करना चाहिए क्योंकि ये रिसीवर्स में सबसे आम हैं। IR लाइब्रेरी ने D3 को अपने TX पिन के रूप में इस्तेमाल किया

एलेक्सा शब्द नैनो को पास हो जाता है, इसलिए यहां से इसका नैनो वॉयस कंट्रोल के साथ है।

चरण 7: ESP8266

ईएसपी8266
ईएसपी8266
ईएसपी8266
ईएसपी8266
ईएसपी8266
ईएसपी8266

कई ESP8266 मॉड्यूल हैं, मैंने एक का उपयोग किया था जिसे मुझे माइक्रोस्कोप के नीचे तार करना था, ESP8266-01 में 2x4 हेडर है और आपके लिए आवश्यक सभी पिन और यह सस्ता है। वेब पर ढेर सारे उदाहरण,. मेरे ट्रिप अप, GPIO_0 को पावर अप के दौरान gnd से कनेक्ट करने की आवश्यकता होती है (फिर फ़्लोट किया जा सकता है) प्रोग्रामिंग करते समय, इसका एक कॉन्फिग पिन, आंतरिक रूप से उच्च खींचा जाता है। एक बार प्रोग्राम करने के बाद GPIO_0 को तैरने दें और फिर से पावर दें। CHPD V+ से स्थायी रूप से जुड़ता है।

Arduino 1.6.11 में बोर्ड मैनेजर के पास esp8622 लिंक नहीं है, Arduino IDEfile> वरीयताएँ> अतिरिक्त बोर्ड प्रबंधक URL में, जोड़ें:

arduino.esp8266.com/stable/package_esp8266c…

फिर गोटो बोर्ड मैनेजर और esp8266 पैकेज ढूंढें। यह अब आपको esp8266 बोर्डों की एक बड़ी सूची देनी चाहिए, टूल्स> बोर्ड> ESP8266 जेनेरिक मॉड्यूल का चयन करें। USB से uart मॉड्यूल का उपयोग करके अब आप esp भाग को esp8266_server_text के साथ प्रोग्राम कर सकते हैं। 3V3 के साथ पावर, TX-RX, RX-TX और Gnd को कनेक्ट करें।

आपको अपना नेटवर्क SSID और पासवर्ड स्क्रिप्ट और पोर्ट फ़ॉरवर्डिंग के लिए सेट किए गए पोर्ट, जैसे 777 में दर्ज करना होगा।

आप USB से uart कनवर्टर से कनेक्ट होने के दौरान esp को फिर से पावर करके कोड चला सकते हैं और arduino सीरियल विंडो (9600 बॉड) को esp मॉड्यूल का स्थानीय आईपी पता प्रदर्शित करना चाहिए। इसे कोड में दर्ज करें और फिर से प्रोग्राम करें।

चरण 8: नेटवर्क सेटअप

नेटवर्क सेटअप
नेटवर्क सेटअप
नेटवर्क सेटअप
नेटवर्क सेटअप

इसलिए लैम्ब्डा यूआरएल कॉल को ईएसपी एचटीटीपी सर्वर से कनेक्ट करने की अनुमति देने के लिए हमें आपके राउटर को पोर्ट फ़ॉरवर्डिंग पर सेट करना होगा। मुझे अपना बाहरी आईपी पता https://www.whatsmyip.org/ से मिला है, मैं माइक्रोवेव लिंक पर हूं इसलिए मेरे प्रदाता के पास राउटर है और मुझे उनसे पोर्ट अग्रेषण का अनुरोध करना पड़ा। मुझे अपने नेटवर्क पर ESP8266 का IP पता देना था और मेरे द्वारा चुने गए पोर्ट, उदाहरण के लिए 777। बाहरी IP पते को लैम्ब्डा पायथन लिपि में दर्ज करने की आवश्यकता है और जब आप esp8266 कोड चलाते हैं तो आपका स्थानीय esp पता दिखाया जाएगा। यूएसबी से यूआर्ट लिंक।

यूएसबी से यूआर्ट कनेक्शन पर ईएसपी मॉड्यूल को टर्मिनल पर लैम्ब्डा से आने वाले शब्द को दिखाना चाहिए।

ESP को नैनो से कनेक्ट करें जैसा कि 3v3, gnd और TX को नैनो D2 सॉफ्ट सीरियल में दिखाया गया है। यदि आपके पास ईपीसी पर सीरियल कॉमस डिस्प्ले के लिए यूएसबी पर नैनो है तो इसे यह दिखाना चाहिए कि इसे एएसपी से क्या प्राप्त होता है।

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

चरण 9: एलेक्सा ओपन क्लिकर टीवी पॉज

एलेक्सा ओपन क्लिकर टीवी पॉज
एलेक्सा ओपन क्लिकर टीवी पॉज

मैंने मॉड्यूल को रिसीवर के बगल में रखा लेकिन उच्च शक्ति वाले IR आउटपुट के साथ यह एक कमरे में कहीं भी हो सकता है। मैं यूएसबी के माध्यम से बिजली खिलाने के लिए एक ज्ञात ब्रांड यूएसबी पावर एडाप्टर का उपयोग करता हूं।

वापस बैठो और कहो "एलेक्सा ओपन क्लिकर"

टीवी गाइड

टीवी नीचे जाओ

टीवी चुनें

टीवी प्ले

टीवी जंप फाइव

मिनटों की एक निर्धारित संख्या को आगे बढ़ाने के लिए मैक्रोज़ अनुरोधित समय के लिए 30x प्रतीक्षा में जाएंगे और फिर खेलेंगे।

यूके के विज्ञापन लगभग पांच मिनट के होते हैं।

ऐप से बाहर निकलने के लिए कहें कि एलेक्सा ने छोड़ दिया।

आनंद लेना।

सिफारिश की: