สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าทักษะของ Alexa
- ขั้นตอนที่ 2: สคริปต์ Python ของเซิร์ฟเวอร์ AWS Lambda
- ขั้นตอนที่ 3:
- ขั้นตอนที่ 4: ตั้งค่าลิงก์ Alexa Skills Kit เป็น AWS Lambda
- ขั้นตอนที่ 5: การแปลง Arduino NANO 3V3
- ขั้นตอนที่ 6: รหัส NANO
- ขั้นตอนที่ 7: ESP8266
- ขั้นตอนที่ 8: ตั้งค่าเครือข่าย
- ขั้นตอนที่ 9: Alexa เปิด Clicker Tv Pause
วีดีโอ: Alexa Voice Control TV Remote ESP8266: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
มีใครในบ้านของคุณทำรีโมทคอนโทรลหาย คุณเดินเข้าไปในห้องว่างๆ แล้วพบว่าทีวีส่งเสียงดัง แบตเริ่มเสื่อมและไม่มีการควบคุมจากด้านหลังห้อง ตอนนี้คุณสามารถควบคุมทีวี DVR อะไรก็ได้ด้วยการควบคุม IR ที่คุณสามารถจับสัญญาณ IR ได้ ฉันสร้างระบบนี้เพื่อควบคุม SKY DVR ของฉันด้วยอินเทอร์เฟซเสียงที่เรียบง่าย
ฮาร์ดแวร์ที่จำเป็น:
- Amazon Echo หรือ Dot
- เราเตอร์ไร้สายที่สามารถส่งต่อได้ (ผู้ให้บริการของฉันทำสิ่งนี้ให้ฉัน)
- Arduino NANO แปลงเป็น 3V3
- ESP8266 -01 หรือเทียบเท่า
- โมดูลหรือวงจรส่งสัญญาณ IR
- โมดูลรับสัญญาณ IR หากคุณต้องการจับรหัส
ซอฟต์แวร์และบริการที่จำเป็น:
- Arduino IDE ฉันใช้1.6.11
- บัญชีทักษะ Amazon Alexa (ฟรี)
- บัญชี Amazon AWS (รุ่นฟรี แต่ต้องใช้บัตรเครดิตในการเปิดบัญชี) หรือเซิร์ฟเวอร์สำรอง
ขั้นตอนที่ 1: การตั้งค่าทักษะของ Alexa
ชุดทักษะของ Alexas ใช้คำสั่งเสียงและกรองโดยใช้รายการ 'ค่า'
เมื่อลงทะเบียนแล้ว:
ในคอนโซล Amazon Developer เลือกแท็บ Alexa> Alexa Skills Kit [เริ่มต้นใช้งาน]
[เพิ่มทักษะใหม่]
ประเภททักษะ: โมเดลการโต้ตอบแบบกำหนดเอง
ภาษา: เลือกภาษาที่ถูกต้อง เมื่อตั้งค่าเป็นภาษาอังกฤษ (US) จะไม่ตอบสนอง !
ชื่อ: ตอนนี้ไม่สำคัญเพราะเราไม่ได้เผยแพร่
Invocation Name:, เลือกชื่อย่อ, เป็นคำที่ใช้เปิดแอพ
[ต่อไป]
เจตนา สคีมา วางในโค้ด
ประเภทสล็อตที่กำหนดเอง {เพิ่มประเภทสล็อต] ป้อน EFFECT_ON_TV
ในค่า Slot ให้วางโค้ด
ตัวอย่างคำพูด ใส่ TVCommandIntent ทีวี {TVAction}
[บันทึก] ในหน้าทักษะถัดไป เราต้องเพิ่มลิงก์ไปยังโค้ดที่เราจะเรียกใช้เมื่อ "Intent" ถูกเรียกโดยคำว่า "clicker" ของแอปหรือหลังจากนั้นโดย "tv {slot value}".
เราจะกลับมาที่ Alexa หลังจากที่เราตั้งค่าสคริปต์หลามเซิร์ฟเวอร์แลมบ์ดา
ขั้นตอนที่ 2: สคริปต์ Python ของเซิร์ฟเวอร์ AWS Lambda
ลงชื่อสมัครใช้ Free Tier ของ AWS ฉันกังวลว่าสิ่งนี้อาจทำให้ฉันต้องเสียเงินจริง แต่หลังจากใช้งานมาระยะหนึ่งและอ่านฟอรัมแล้ว ขีดจำกัดการใช้งานนั้นสูงมากสำหรับการใช้งานส่วนบุคคลและเพื่อการพัฒนา ไม่ควรถึงจุดชาร์จ มีทางเลือกอื่นในการใช้เซิร์ฟเวอร์ HTTPS ของคุณเอง และนี่อาจเป็นสิ่งที่ esp8266 สามารถทำได้ อีกวิธีหนึ่งที่สอนได้!
นี่คือรหัสที่ทำงานเมื่อมีการเอ่ยชื่อเรียก (เช่น "Alexa open clicker") และรับคำวิเศษจาก Alexa เมื่อแอปเริ่มต้น คุณจะต้องพูดว่า "เล่นทีวี ทีวีกระโดดห้า" และ Alexa จะส่ง "เล่น", "ข้าม 5" ไปยังสคริปต์หลามนี้ แอปหมดเวลาหากไม่มีการตอบสนองหลังจากผ่านไประยะหนึ่ง
ในบริการของ AWS ก่อนอื่นให้เลือกตำแหน่งของคุณ ที่ด้านบนขวาจะมีตัวเลือก
สำหรับสหรัฐฯ เลือก N Virginia สำหรับ EU เลือกไอร์แลนด์
เลือก Lambda จากหัวข้อ Compute
[สร้างฟังก์ชันแลมบ์ดา]
[ฟังก์ชันว่าง]
กำหนดค่าทริกเกอร์: คลิกที่กล่องจุดและเลือก Alexa Skills Kit
[ต่อไป]
กำหนดค่าฟังก์ชัน
ตั้งชื่ออะไรก็ได้
คำอธิบาย ขึ้นอยู่กับคุณ
Runtine: Python 2.7
วางในรหัสหลาม
ในรหัสที่อยู่ URL HTTP จะต้องเปลี่ยนเป็นที่อยู่ IP ภายนอกของคุณเองในภายหลัง
link="https://185.255.255.255:777/text?data=" + favorite_color
ด้านล่างของหน้าจอคือ ROLE คลิกที่แท็บและเลือก Select a custom Role
ซึ่งจะเปิดหน้าจอใหม่และคลิกอนุญาต จะกลับไปที่หน้าจอกำหนดค่าฟังก์ชันโดยเลือกการทำงานพื้นฐานของ Lamda เป็นบทบาทที่มีอยู่
[ถัดไป] รีวิว กด [สร้างฟังก์ชัน] และควรรวบรวมและให้หมายเลข ARN แก่คุณ คัดลอกรหัสนี้แล้วเราจะใส่ลงในชุดทักษะ alexa
ขั้นตอนที่ 3:
ขั้นตอนที่ 4: ตั้งค่าลิงก์ Alexa Skills Kit เป็น AWS Lambda
ในชุดทักษะของ Alexa ให้เลือกหน้าการกำหนดค่า ไปที่ Global Fields แล้วเลือก AWS Lambda และภูมิภาคของคุณ แล้ววางโค้ด ARN ลงในช่อง [NEXT] ในการทดสอบ ให้ตรวจสอบว่าได้เลือก ENABLED แล้ว
ตอนนี้เราทำเสร็จแล้ว สำหรับฮาร์ดแวร์บางตัว
ขั้นตอนที่ 5: การแปลง Arduino NANO 3V3
ESP8266 ทำงานจาก 3v3 ดังนั้นคุณจึงเรียกใช้จากตัวควบคุมภายนอกหรือแปลงนาโน ฉันใช้โคลนนาโนกับชิป USB CH340 ฉันมีเค้าโครง pcb ที่แตกต่างกันสองแบบที่ฉันรู้จัก แต่หวังว่านี่จะครอบคลุมเค้าโครงส่วนใหญ่
เราจำเป็นต้องเปลี่ยนตัวควบคุม 5V ด้วยพินที่รองรับ 3v3 one, 1117-3 จากนั้นกำหนดเส้นทาง 5V จากซ็อกเก็ต usb ไปยังตัวควบคุมและเชื่อมต่อทุกอย่างอื่นเข้ากับเอาต์พุต โชคดีที่สามารถทำได้โดยการถอดไดโอดอินพุตแทนที่ตัวควบคุมและเพิ่มสายหนึ่งเส้นจากด้านอินพุตของไดโอดไปยัง Vin บนบอร์ดนาโน
ตรวจสอบว่าคุณสามารถตั้งโปรแกรมนาโนหลังจากการแปลง
ขั้นตอนที่ 6: รหัส NANO
รหัสที่ใช้สำหรับรีโมต SKY UK ของฉันอาจเป็นเฉพาะรุ่นและควรตรวจสอบรหัสของคุณทำงานในแบบร่างแยกต่างหากซึ่งไม่ได้เชื่อมโยงกับ esp8266
ฉันใช้ไลบรารี IRremote โดย shirriff เวอร์ชัน 2.0.1
ใช้ตัวอย่าง IRrecord เพื่อจับภาพคำสั่งระยะไกลที่ต้องใช้โมดูลตัวรับสัญญาณ IR หรือคุณอาจพบรหัสของคุณบนเว็บ ฉันจะไม่พูดถึงที่นี่ แต่นี่คือที่ที่คุณสามารถเลือกสิ่งที่คุณควบคุมและวิธี
เชื่อมต่อเครื่องส่งสัญญาณ IR ที่มีอยู่ในอีเบย์หรือสร้างใหม่ คุณควรใช้ไฟ LED IR 850nm เนื่องจากเป็นเครื่องรับทั่วไป ไลบรารี IR ใช้ D3 เป็นพิน TX
คำของ Alexa ถูกส่งผ่านไปยังนาโน ดังนั้นจากที่นี่ นาโนจึงพร้อมการควบคุมด้วยเสียง
ขั้นตอนที่ 7: ESP8266
มีโมดูล ESP8266 มากมาย ฉันใช้อันหนึ่งเพื่อต่อสายใต้กล้องจุลทรรศน์ ESP8266-01 มีส่วนหัว 2x4 และหมุดทั้งหมดที่คุณต้องการและราคาถูก ตัวอย่างมากมายบนเว็บ,. การเดินทางของฉัน GPIO_0 ต้องเชื่อมต่อกับ gnd ระหว่างเปิดเครื่อง (จากนั้นสามารถลอยได้) เมื่อตั้งโปรแกรมซึ่งเป็น config pin ดึงสูงภายใน เมื่อตั้งโปรแกรมแล้ว ให้ GPIO_0 ลอยและเปิดเครื่องอีกครั้ง CHPD เชื่อมต่อกับ V+ อย่างถาวร
ผู้จัดการบอร์ดใน Arduino 1.6.11 ไม่มีลิงก์ esp8622
ใน Arduino IDEfile>preferences>Additional Board Manager URL ให้เพิ่ม:
arduino.esp8266.com/stable/package_esp8266c…
จากนั้นไปที่ตัวจัดการบอร์ดและค้นหาแพ็คเกจ esp8266 ตอนนี้ควรให้รายชื่อบอร์ด esp8266 จำนวนมาก เลือก Tools>Board>ESP8266 Generic Module การใช้โมดูล usb เป็น uart คุณสามารถตั้งโปรแกรมส่วน esp ด้วย esp8266_server_text จ่ายไฟด้วย 3V3 เชื่อมต่อ TX-RX, RX-TX และ Gnd
คุณต้องป้อน SSID เครือข่ายและรหัสผ่านของคุณลงในสคริปต์และพอร์ตที่คุณจะตั้งค่าสำหรับการส่งต่อพอร์ต เช่น 777
คุณสามารถเรียกใช้รหัสโดยเปิดเครื่อง esp ใหม่ในขณะที่เชื่อมต่อกับตัวแปลง usb เป็น uart และหน้าต่างอนุกรมของ arduino (9600 บอด) ควรแสดงที่อยู่ IP ในเครื่องของโมดูล esp ป้อนรหัสนี้และตั้งโปรแกรมใหม่
ขั้นตอนที่ 8: ตั้งค่าเครือข่าย
ดังนั้น เพื่อให้การเรียก Lambda URL เชื่อมต่อกับเซิร์ฟเวอร์ ESP HTTP เราจำเป็นต้องตั้งค่าเราเตอร์ของคุณให้เป็นการส่งต่อพอร์ต ฉันได้รับที่อยู่ IP ภายนอกจาก https://www.whatsmyip.org/ ฉันใช้ลิงก์ไมโครเวฟ ดังนั้นผู้ให้บริการของฉันจึงมีเราเตอร์ และฉันต้องขอส่งต่อพอร์ตจากพวกเขา ฉันต้องให้ที่อยู่ IP ของ ESP8266 บนเครือข่ายของฉันและพอร์ตที่ฉันเลือก เช่น 777 ต้องป้อนที่อยู่ IP ภายนอกลงในสคริปต์ lambda python และที่อยู่ esp ในเครื่องของคุณจะแสดงเมื่อคุณเรียกใช้รหัส esp8266 ผ่าน ลิงค์ usb กับ uart
โมดูล ESP บนการเชื่อมต่อ usb กับ uart ควรแสดงคำที่เข้ามาจากแลมบ์ดาบนเทอร์มินัล
เชื่อมต่อ ESP กับนาโนตามที่แสดง 3v3, gnd และ TX ไปยัง nano D2 soft serial หากคุณมีนาโนบน usb เพื่อแสดงการสื่อสารแบบอนุกรมบน th epc มันควรแสดงว่าได้รับอะไรจาก esp
หาก ESP ไม่ได้เชื่อมต่อกับเครือข่ายหรือไม่ตอบสนองต่อการเรียก URL จาก lambda แลมบ์ดาจะหมดเวลาและ Alexa จะรายงานการตอบสนองของทักษะที่ล้มเหลว
ขั้นตอนที่ 9: Alexa เปิด Clicker Tv Pause
ฉันวางโมดูลไว้ข้างเครื่องรับ แต่ด้วยเอาต์พุต IR ที่มีกำลังสูงกว่า มันอาจจะอยู่ที่ใดก็ได้ในห้อง ฉันใช้อะแดปเตอร์แปลงไฟ usb ยี่ห้อที่รู้จักเพื่อป้อนพลังงานผ่าน usb
นั่งลงแล้วพูดว่า "Alexa open Clicker"
คู่มือทีวี
ทีวีลง
เลือกทีวี
ละครโทรทัศน์
ทีวีกระโดดห้า
เพื่อข้ามไปข้างหน้าตามจำนวนนาทีที่ตั้งไว้มาโครจะไปที่ 30x รอตามเวลาที่ร้องขอแล้วเล่น
โฆษณาในสหราชอาณาจักรใช้เวลาประมาณห้านาที
หากต้องการออกจากแอป ให้พูดว่า Alexa ออก
สนุก.
แนะนำ:
Alexa Voice ควบคุม Raspberry Pi Drone ด้วย IoT และ AWS: 6 ขั้นตอน (พร้อมรูปภาพ)
Alexa Voice ควบคุม Raspberry Pi Drone ด้วย IoT และ AWS: สวัสดี! ฉันชื่ออาร์ม ฉันอายุ 13 ปีจากแมสซาชูเซตส์ บทช่วยสอนนี้แสดงให้เห็นว่าคุณสามารถอนุมานจากชื่อได้อย่างไรว่าจะสร้าง Raspberry Pi Drone ได้อย่างไร ต้นแบบนี้แสดงให้เห็นว่าโดรนมีการพัฒนาอย่างไร และพวกมันจะมีบทบาทสำคัญขนาดไหนใน
SONOFF เพิ่ม Alexa และ Google Home Voice Control ให้กับ ZigBee Smart Devices: 3 ขั้นตอน
SONOFF เพิ่ม Alexa และ Google Home Voice Control ให้กับ ZigBee Smart Devices: ตั้งแต่สวิตช์และปลั๊กอัจฉริยะ Wi-Fi ไปจนถึงสวิตช์และปลั๊กอัจฉริยะ ZigBee การควบคุมด้วยเสียงเป็นจุดเริ่มต้นการควบคุมแบบแฮนด์ฟรียอดนิยม ปลั๊กอัจฉริยะช่วยให้คุณควบคุมบ้านที่เชื่อมต่อได้โดยตรงผ่านการทำงานร่วมกับ Amazon Alexa หรือ Google Home
MATRIX Voice และ MATRIX Creator ใช้งาน Alexa (เวอร์ชัน C++): 7 ขั้นตอน
MATRIX Voice และ MATRIX Creator ใช้งาน Alexa (เวอร์ชัน C++): ฮาร์ดแวร์ที่จำเป็น ก่อนเริ่มต้น มาทบทวนสิ่งที่คุณต้องการกัน Raspberry Pi 3 (แนะนำ) หรือ Pi 2 Model B (รองรับ) MATRIX Voice หรือ MATRIX Creator - Raspberry Pi ไม่มีไมโครโฟนในตัว MATRIX Voice/Creator มี
Amazon Alexa ควบคุม 433mHz Remote Smart Outlets ด้วย ESP8266: 4 ขั้นตอน
Amazon Alexa Controlled 433mHz Remote Smart Outlets ด้วย ESP8266: ในคำแนะนำนี้ฉันจะแสดงวิธีทำให้ Amazon Echo ควบคุมเต้ารับควบคุมระยะไกล 433mHz ด้วยความช่วยเหลือของ ESP8266 สิ่งที่คุณต้องการ: เต้ารับควบคุมระยะไกล 433mHz พร้อมสวิตช์ DIP ESP8266 (ง่ายที่สุด วิธีคือ NodeMCU Boar
Alexa Voice Control DIY: 7 ขั้นตอน (พร้อมรูปภาพ)
Alexa Voice Control DIY: สวัสดี นี่เป็นคำสั่งแรกของฉัน ฉันจะแสดงวิธีสร้างสวิตช์ควบคุมด้วยเสียงสำหรับ Amazon Alexa ซึ่งสามารถทำงานร่วมกับ Google Assistant ได้ กรุณาลงคะแนนให้ฉัน