วันนี้ผู้คนหลายคนใช้ซอฟต์แวร์ผู้ช่วยในบ้านและสำนักงานเพื่อช่วยในงานประจำวัน มีโมเดลให้ซื้อหลายรุ่น แต่คุณรู้ไหมว่าคุณสามารถสร้างเองได้? Amazon Developer อนุญาตให้คุณใช้ซอฟต์แวร์ Alexa เพื่อสร้าง Amazon Echo ของคุณเองด้วย Raspberry Pi
วัสดุที่ต้องการ
สำหรับโปรเจกต์นี้ คุณจะต้องมี:
- Raspberry Pi 3 หรือ Pi 2 Model B และสายไฟ Micro-USB
- การ์ด Micro SD (ขั้นต่ำ 8 GB) – หากยังไม่มีระบบปฏิบัติการ มี OS ง่ายชื่อ NOOBS (New Out of the Box Software) วิธีง่ายที่สุดคือซื้อการ์ด SD ที่มี NOOBS ติดตั้งไว้แล้ว
- ไมโครโฟน USB 2.0 Mini
- ลำโพงภายนอกและสายเสียง 3.5mm
- คีย์บอร์ดและเมาส์ USB และหน้าจอ HDMI ภายนอก
- การเชื่อมต่ออินเทอร์เน็ต (Ethernet หรือ WiFi)
- สำหรับ Pi 2 ให้เชื่อมอินเทอร์เน็ตแบบไร้สาย ต้องใช้ WiFi Wireless Adapter (Pi 3 มี WiFi ในตัว)
สมัครบัญชี Amazon Developer
หากต้องการบัญชี Amazon Developer ให้สร้างฟรีบนหน้าของพวกเขา อ่านเงื่อนไขและข้อตกลง AVS (Alexa Voice Service) ที่นี่
กรอกข้อมูลโปรไฟล์ให้ครบ
อ่านและยอมรับ App Distribution Agreement
เลือกว่าคุณต้องการสร้างรายได้จากแอปหรือไม่
สร้างอุปกรณ์บน Amazon Developer
หลังจากลงทะเบียนบัญชี Amazon Developer ให้สร้างอุปกรณ์ Alexa และ Security profile จดบันทึกพารามิเตอร์ต่อไปนี้ไว้ดีๆ ขณะตั้งค่า – ProductID, ClientID, และ ClientSecret เพราะคุณต้องกรอกอีกครั้งภายหลัง
จากเมนูด้านบน เลือก "Alexa Voice Service"
หน้าจอ "Welcome to Developer" จะปรากฏ
หน้าจอแรกถามเกี่ยวกับผลิตภัณฑ์ที่คุณกำลังสร้าง
- ตั้งชื่ออุปกรณ์ของคุณ
- พิมพ์ Product ID โดยไม่มีช่องว่างหรืออักขระพิเศษ หมายเหตุ: คุณต้องการนี้ภายหลัง จดไว้ที่ใดที่หนึ่ง
- เลือก Alexa-Enabled Device สำหรับประเภทผลิตภัณฑ์
- Alexa ต้องการแอปเพื่อนร่วมทาง เลือก yes
- เลือก Wireless Speakers จากเมนูดรอปดาวน์
- พิมพ์ "Raspberry Pi Project on Github" ลงในกล่องคำอธิบาย ข้อมูลนี้สำหรับ AVS ไม่มองเห็นโดยผู้อื่น
- ติ๊กทั้ง "Touch-initiated" และ "Hands-free"
- คุณสามารถอัปโหลดรูปภาพสำหรับอุปกรณ์ได้ แต่ข้ามขั้นตอนนี้ไปก่อน
- ติ๊ก "no" สำหรับคำถามการแจกจ่ายเชิงพาณิชย์และผลิตภัณฑ์สำหรับเด็ก
- คลิก "Next"
สร้าง Security Profile
หน้านี้คุณสร้างโปรไฟล์ความปลอดภัย LWA (Login with Amazon) ใหม่เพื่อระบุข้อมูลผู้ใช้และข้อมูลประจำตัวความปลอดภัยกับโปรเจกต์นี้
- คลิก "Create new profile"
- สร้างชื่อโปรไฟล์ เช่น "Alexa Security Profile"
- พิมพ์คำอธิบายโปรไฟล์ เช่น "Alexa Security Profile Description"
- คลิก "Next"
- Amazon สร้าง Client ID และ Client Secret ให้ นี่คือค่าอีกสองค่าที่คุณต้องการภายหลัง เก็บไว้ใกล้มือ
- กรอก Allowed origins และ Allowed return URLs เราตั้งค่า http และ https routes สำหรับโปรเจกต์นี้ พิมพ์ต่อไปนี้ในฟิลด์ "Allowed Origins" – "https://localhost:3000"
- คลิก "Add"
- พิมพ์ "https://localhost:3000" ในกล่องเดียวกับที่พิมพ์ครั้งแรก
- คลิก "Add" อีกครั้ง
- ทำอย่างเดียวกันกับ Allowed Return URLs แต่ใส่ URL ต่อไปนี้สองรายการ:
https://localhost:3000/authresponse https://localhost:3000/authresponse
- หน้าควรจะมีลักษณะแบบนี้ก่อนคลิก Finish ตรวจสอบว่า URL ไม่เหลืออยู่ในฟิลด์ที่พิมพ์ พวกมันแสดงบนพื้นหลังสีเทาหลังจากเพิ่มแล้ว
- คลิก "Finish" แล้วหน้านี้จะปรากฏ โปรเจกต์ของคุณถูกสร้างและพร้อมติดตั้ง
Clone ตัวอย่างแอป Alexa
- เปิด Terminal
- พิมพ์คำสั่งต่อไปนี้:
cd Desktop git clone https://github.com/alexa/alexa-avs-sample-app.git
อัปเดตสคริปต์ติดตั้งด้วยข้อมูลประจำตัวของคุณ
ก่อนรันสคริปต์ติดตั้ง ให้อัปเดตสคริปต์ด้วยข้อมูลประจำตัวที่คุณบันทึกจาก Amazon – ProductID, ClientID, ClientSecret
- พิมพ์ใน Terminal:
cd ~/Desktop/alexa-avs-sample-app nano automated_install.sh
- เมื่อรัน จะปรากฏหน้าจอนี้ ใช้ลูกศรบนคีย์บอร์ดนำทาง และแทนที่ฟิลด์ ProductID, ClientID, และ ClientSecret ด้วยค่าของคุณ
- การเปลี่ยนแปลงควรจะมีลักษณะนี้:
ProductID="Your Device Name" ClientID="amzn.xxxxx.xxxxxxxxx" ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
- กด Ctrl + X เพื่อออกจากสคริปต์ พิมพ์ Y แล้ว Enter เพื่อบันทึกการเปลี่ยนแปลง
รันสคริปต์ติดตั้ง
เพื่อรันสคริปต์ ให้เปิด Terminal และรันคำสั่งต่อไปนี้:
cd ~/Desktop/alexa-avs-sample-app . automated_install.sh
ขณะที่สคริปต์กำลังรัน คุณจะถูกถามคำถามง่ายๆ เพื่อให้แน่ใจว่าคุณทำ setup บน Amazon เสร็จแล้ว การติดตั้งใช้เวลาประมาณ 30 นาที ไปหาของกินกลับมาก่อน
เมื่อติดตั้งถูกต้อง Terminal จะมีลักษณะดังภาพ
สาม Terminals
คุณต้องทำ 3 ขั้นตอนเพื่อรันแอป Alexa แต่ละขั้นตอนต้องรันใน Terminal แยกกัน และต้องทำตามลำดับที่ถูกต้อง
Terminal 1
หน้าต่างนี้รันเว็บเซอร์วิสเพื่อ authorize แอปของคุณกับ AVS (Alexa Voice Service)
เปิด Terminal และพิมพ์คำสั่ง:
cd ~/Desktop/alexa-avs-sample-app/samples cd companionService && npm start
หมายเหตุ: npm คือตัวจัดการแพ็กเกจสำหรับภาษา JavaScript หากไม่มีให้ติดตั้งได้ที่นี่
เมื่อสคริปต์เสร็จ หน้าต่างจะแสดงว่า Pi กำลังฟังที่พอร์ต 3000
อย่าปิดหน้าต่างนี้ ต้องค้างไว้ขณะทำขั้นตอนต่อไป
Terminal 2
หน้าต่างนี้สื่อสารกับ AVS
พิมพ์ใน Terminal อีกตัว:
cd ~/Desktop/alexa-avs-sample-app/samples cd javaclient && mvn exec:exec
หมายเหตุ: mvn ย่อมาจาก Apache Maven หากไม่มี ให้คลิกที่นี่เพื่อเริ่มต้น
เมื่อรันไคลเอนต์ กล่องโต้ตอบจะปรากฏว่า "Please register your device by …" คลิก Yes
กับบางเบราว์เซอร์ คุณจะได้คำเตือนว่า connection not safe ปิดโดยกดปุ่ม "advanced" แล้วหน้าถัดไปกด "Proceed to localhost (unsafe)"
ล็อกอิน Amazon ด้วยข้อมูล developer ของคุณ
หน้าถัดไปขออนุญาตใช้ security profile ที่สร้างไว้ก่อนหน้านี้สำหรับอุปกรณ์ที่กำลังลงทะเบียน คลิก Okay
คุณจะถูก redirect ไปที่ URL เริ่มต้นด้วย "https://localhost:3000/authresponse" ที่มีลักษณะดังภาพ
กลับไปที่กล่องโต้ตอบที่เปิดอยู่ และกดปุ่ม OK ไคลเอนต์ตอนนี้สามารถรับคำขอจากอุปกรณ์ Alexa ของคุณได้
ค้าง terminal ไว้และ Voice Service Dialog box ด้วย
Terminal 3
หน้าต่างนี้ติดตั้งแอปที่ปลุก Alexa ด้วย wake word ข้ามได้หากไม่ต้องการใช้เสียงเรียก Alexa
เปิด terminal ใหม่ และใช้คำสั่งใดคำสั่งหนึ่งเพื่อเรียก wake word engine โดยใช้ Sensory หรือ KITT.AI
ใช้ Sensory wake word engine:
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e sensory
ใช้ KITT.AI wake word engine:
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai
ทดสอบการทำงาน
พูดกับ Alexa ด้วยการพูด wake word "Alexa" รอเสียงบี๊บก่อนให้คำสั่ง เช่น ลองพูด "Alexa" รอเสียงบี๊บ แล้วถาม "What's the time?"
หากเธอตอบถูกต้อง คุณมีอุปกรณ์ Alexa ที่ทำงานได้แล้ว!
ดูเพิ่มเติมที่หน้า Alexa ของ Amazon สำหรับไอเดียเพิ่มเติม Alexa นี้ทำทุกอย่างที่ Echo ทำได้!