สารบัญ:

อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa: 9 ขั้นตอน (พร้อมรูปภาพ)
อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ใช้ Google Assistant, Alexa และ HomeKit กับ Home Assistant 2024, พฤศจิกายน
Anonim
อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa
อุปกรณ์สื่อที่เปิดใช้งานด้วยเสียงโดยใช้ Alexa

หน่วยที่พัฒนาขึ้นที่นี่ทำให้อุปกรณ์ของคุณ เช่น ทีวี เครื่องขยายเสียง เครื่องเล่นซีดีและดีวีดีควบคุมด้วยคำสั่งเสียงโดยใช้ Alexa และ Arduino ข้อดีของยูนิตนี้คือคุณต้องให้คำสั่งเสียงเท่านั้น เครื่องนี้สามารถทำงานร่วมกับอุปกรณ์ทั้งหมดที่ใช้พอร์ต RS-232 พอร์ตเหล่านี้มีประโยชน์มากในการเชื่อมต่อ ส่วนใหญ่จะใช้ในอุปกรณ์สื่อ ตอนนี้ไม่จำเป็นต้องใช้รีโมท IR

ยูนิตมีราคาไม่แพง ประกอบด้วย บอร์ด Arduino คุณสามารถใช้บอร์ด Arduino ใดก็ได้ แต่ฉันชอบ Arduino Nano เพราะมันกะทัดรัด สิ่งอื่นๆ ได้แก่ ESP 8266, Amazon Alexa, RS 232-TTL Converter ฉันได้รวมคำแนะนำสำหรับอนุภาคไว้ด้วย

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

1. อนุภาคโฟตอน

2. อเมซอน อเล็กซ่า

3. Amazon Echo Dot

4. ESP 8266

5. ตัวแปลง RS232-TTL

6. Arduino UNO/นาโน/ไมโคร…

ขั้นตอนที่ 2: เชื่อมต่อ Arduino กับ ESP 8266

การเชื่อมต่อ Arduino กับ ESP 8266
การเชื่อมต่อ Arduino กับ ESP 8266

เชื่อมต่อเอาต์พุต 3v3 (3.3V) ของ Arduino กับ ESP8266 ESP8266 ใช้งานได้กับ 3.3V ไม่ใช่ 5V ดังนั้นจึงจำเป็น

เชื่อมต่อพิน RES หรือ RESET เมื่อคุณต่อสายดินพินรีเซ็ต Arduino ทำงานเป็นตัวเชื่อมต่อ USB แบบใบ้กับซีเรียล ซึ่งเป็นสิ่งที่เราต้องการคุยกับ ESP8266

เชื่อมต่อพิน RXD ของ Arduino กับพิน RX ของ ESP8266

เชื่อมต่อพิน TXD ของ Arduino กับพิน TX ของ ESP เมื่อเราต้องการให้สองสิ่งคุยกันผ่านซีเรียล เราจะเชื่อมต่อพิน TX ของอันหนึ่งกับ RX ของอีกอันหนึ่ง ที่นี่เราไม่มี Arduino พูดคุยกับ ESP8266 แม้ว่าคอมพิวเตอร์ของเรากำลังพูดคุยกับ Arduino ผ่าน Arduino เชื่อมต่อ GND และ VCC

ในที่สุด CH_PD ก็เชื่อมต่อ

ขั้นตอนที่ 3: การเชื่อมต่อตัวแปลง RS 232-TTL

ตอนนี้ ง่ายต่อการเชื่อมต่อตัวแปลง RS 232-TTL กับ Arduino และ ESP ซึ่งเราเชื่อมต่อก่อนหน้านี้ตามการเชื่อมต่อที่กล่าวถึงด้านล่าง:

เชื่อมต่อ GND ของ Arduino/อนุภาคกับ GND ของตัวแปลง

เชื่อมต่อ VCC ของ Arduino/Particle กับ VCC ของตัวแปลง

เชื่อมต่อ TX ของ Arduino/Particle กับ TX ของตัวแปลง

เชื่อมต่อ RX ของ Arduino/Particle กับ RX ของตัวแปลง

ขั้นตอนที่ 4: การสร้างทักษะของ Amazon

การสร้างทักษะอเมซอน
การสร้างทักษะอเมซอน
การสร้างทักษะอเมซอน
การสร้างทักษะอเมซอน
การสร้างทักษะอเมซอน
การสร้างทักษะอเมซอน

หากคุณกำลังใช้พาร์ติเคิลบอร์ด ให้ทำตามขั้นตอนนี้

คุณต้องมีบัญชีนักพัฒนากับ Amazon หากคุณไม่มี คุณสามารถลงชื่อเข้าใช้ได้ฟรี ไปที่

ในบัญชีนักพัฒนาซอฟต์แวร์ ไปที่ชุดทักษะของ Alexa

จากนั้นคลิก "สร้างทักษะใหม่"

คุณต้องเลือกสิ่งต่อไปนี้: "Smart Home Skill API" ใน Skill Type

ในเวอร์ชันเพย์โหลด ให้เลือก v3

แล้วคลิกบันทึก

ขั้นตอนที่ 5: หน้าต่างการกำหนดค่า

หน้าต่างการกำหนดค่า
หน้าต่างการกำหนดค่า
หน้าต่างการกำหนดค่า
หน้าต่างการกำหนดค่า

เมื่อบันทึกแล้ว ขั้นตอนต่อไปจะแสดง ID แอปพลิเคชันของคุณ

คลิกปุ่มถัดไปจากนั้นหน้าต่างการกำหนดค่าก็มาถึง ที่นี่คุณต้องใช้คำสั่ง curl โดยที่ ID ผู้ใช้จะวางโทเค็นการเข้าถึง และใน www.example.com คุณต้องให้เว็บไซต์อนุภาค

ขั้นตอนที่ 6: Amazon AWS

สำหรับสิ่งนี้คุณต้องลงชื่อเข้าใช้

เลือกตัวเลือกการขีดข่วนแบบฟอร์มผู้เขียน

จากนั้นคัดลอกโค้ดที่อยู่ในไฟล์ข้อความ

ตั้งค่า ID อุปกรณ์ของคุณในโปรแกรม คุณต้องเปลี่ยนคำสั่งไปยังอุปกรณ์เฉพาะของคุณ

หลังจากทำตามขั้นตอนทั้งหมดแล้ว ให้ทดสอบทักษะใน Lambda Configuration

ขั้นตอนที่ 7: สำหรับ Arduino

สำหรับการใช้ทักษะด้านเสียงกับ Arduino คุณจะต้องใช้ Amazon Echo Dot

เชื่อมต่อกับ wifi โดยใช้รหัสต่อไปนี้:

#include "debug.h" // การพิมพ์ดีบักแบบอนุกรม#include "WifiConnection.h" // การเชื่อมต่อ Wifi // ไฟล์นี้เป็นส่วนหนึ่งของรหัสการสอนของฉัน #include // ไลบรารี IR

การเชื่อมต่อ Wifi* wifi; // การเชื่อมต่อ wifi IRsend* irSend; // เครื่องส่งอินฟราเรด

// ตั้งค่า WIFI CREDS ของคุณ const char* myWifiSsid = "***"; const char* myWifiPassword = "*******";

//ตั้งค่าให้ตรงกับฮาร์ดแวร์ของคุณ #define SERIAL_BAUD_RATE 9600

//PIN 0 คือ D3 บนชิป #define IR_PIN 0

/*---------------------------------------*/ // เรียกใช้ครั้งเดียวเมื่ออุปกรณ์ เปิดอยู่หรือโค้ดเพิ่งถูกแฟลช void setup() { //หากตั้งค่าผิด serial Debugger จะไม่สามารถอ่าน Serial.begin(SERIAL_BAUD_RATE);

// เริ่มต้นการเชื่อมต่อ wifi wifi = WifiConnection ใหม่ (myWifiSsid, myWifiPassword); wifi->begin();

// เชื่อมต่อกับ wifi ถ้า (wifi->เชื่อมต่อ ()) { debugPrint ("เชื่อมต่อ WiFi"); } }

/*---------------------------------------*/ // เรียกใช้วงเป็นโมฆะอย่างต่อเนื่อง () { }

ขั้นตอนที่ 8: เชื่อมต่อเซิร์ฟเวอร์ WEMO

จากนั้นเรียกใช้เซิร์ฟเวอร์ WEMO ซึ่งเป็นวิธีที่ดีที่สุดสำหรับ ESP8266

ตอนนี้ เราต้องติดตั้งไลบรารี่ ESPAsyncTCP

รหัสสำหรับการทดสอบ:

#include "debug.h" // การพิมพ์ดีบักแบบอนุกรม#include "WifiConnection.h" // การเชื่อมต่อ Wifi #include "Wemulator.h" // โปรแกรมจำลอง Wemo #include // ไลบรารี IR

การเชื่อมต่อ Wifi* wifi; // การเชื่อมต่อ wifi Wemulator* wemulator; // โปรแกรมจำลอง wemo IRsend* irSend; // เครื่องส่งอินฟราเรด

// ตั้งค่า WIFI CREDS ของคุณ const char* myWifiSsid = "***"; const char* myWifiPassword = "*******";

//ตั้งค่าให้ตรงกับฮาร์ดแวร์ของคุณ #define SERIAL_BAUD_RATE 9600

//PIN 0 คือ D3 บนชิป #define IR_PIN 0 /*----------------------------------- ----*/ // เรียกใช้ครั้งเดียว เมื่ออุปกรณ์เปิดอยู่หรือเพิ่งแฟลชตั้งค่าเป็นโมฆะ () { //หากตั้งค่าผิด ดีบักเกอร์อนุกรมของคุณจะไม่สามารถอ่าน Serial.begin (SERIAL_BAUD_RATE);

// เริ่มต้นการเชื่อมต่อ wifi wifi = WifiConnection ใหม่ (myWifiSsid, myWifiPassword); wifi->begin();

// เริ่มต้น IR irSend = IRsend ใหม่ (IR_PIN, เท็จ); irSend->begin();

// เริ่มต้น wemo emulator wemulator = ใหม่ Wemulator();

// เชื่อมต่อกับ wifi if (wifi->connect()) { wemulator->begin();

//เริ่มโปรแกรมจำลอง wemo (มันทำงานเป็นชุดของเว็บเซิร์ฟเวอร์) wemulator->addDevice("tv", ใหม่ WemoCallbackHandler(&commandReceived)); wemulator->addDevice("โทรทัศน์", WemoCallbackHandler ใหม่ (&commandReceived)); wemulator->addDevice("ทีวีของฉัน", WemoCallbackHandler ใหม่ (&commandReceived)); wemulator->addDevice("ทีวีของฉัน", WemoCallbackHandler ใหม่ (&commandReceived)); } }

/*-------------------------------------------------*/ // เรียกใช้วงเป็นโมฆะอย่างต่อเนื่อง () { // ให้ wemulator ฟังคำสั่งเสียงถ้า (wifi->isConnected) { wemulator->listen(); } }

ขั้นตอนที่ 9: ขอบคุณ

ตอนนี้ คุณได้สร้างอุปกรณ์สั่งงานด้วยเสียงของคุณเองเพื่อควบคุมอุปกรณ์สื่อของคุณแล้ว

ลองพูดว่า "Alexa เปิดทีวี"

ด้วยวิธีนี้คุณสามารถสร้างหน่วยควบคุมเสียงของคุณเองโดยใช้ Arduino หรืออนุภาค

ขอบคุณสำหรับการหยุดโดย!

แนะนำ: