สร้างทักษะ Alexa ด้วย Cloud9- ไม่ต้องใช้บัตรเครดิตหรือฮาร์ดแวร์: 7 ขั้นตอน (พร้อมรูปภาพ)

สร้างทักษะ Alexa ด้วย Cloud9- ไม่ต้องใช้บัตรเครดิตหรือฮาร์ดแวร์: 7 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim

สวัสดีวันนี้ฉันจะแสดงวิธีสร้างทักษะ Amazon Alexa ของคุณเองโดยใช้ Cloud9 สำหรับคนที่ไม่รู้ Cloud9 เป็น IDE ออนไลน์ที่รองรับภาษาต่าง ๆ มากมายและเป็นฟรีหนึ่งร้อยเปอร์เซ็นต์ไม่ต้องใช้บัตรเครดิต ทักษะของ Alexa เปรียบเสมือนแอพ แต่สำหรับอุปกรณ์ของ Alexa

ฉันรักการเขียนโปรแกรมและผู้ช่วยด้านเสียงมาโดยตลอด แต่เพิ่งจะเขียนโปรแกรม Amazon Echoปัญหาของฉันคือฉันไม่รู้ node.js มากมายดังนั้นฉันจะเขียนโปรแกรมเป็น python สำหรับบทช่วยสอนนี้และในฐานะนักเรียนมัธยมฉันไม่มีบัตรเครดิตหมายความว่าฉันไม่สามารถใช้ AWS lamda ได้. วิธีที่ฉันแก้ไขปัญหานี้คือใช้ Cloud9

ฉันหวังว่าคุณจะสนุกกับการกวดวิชานี้ หากคุณติดอยู่ที่ใดก็ตามลองภาพที่ฉันได้พยายามที่จะเพิ่มคำแนะนำในสถานที่ที่ถูกต้องและหากคุณยังคงติดอยู่โปรดอย่าลังเลที่จะเพิ่มคำถามหรือความคิดเห็น

(ขอบคุณ HeikoAL บน Pixabay สำหรับภาพปก)

วัสดุ:

ขั้นตอนที่ 1: ลงชื่อเข้าใช้ Cloud9 และ Amazon Developer Console

เพื่อให้ทักษะของเราเราจะต้องสร้างตรรกะหลักสำหรับทักษะใน python บน Cloud9 และวิธีที่มันทำงานร่วมกับ Alexa บน Amazon Developer Console

1. Cloud9

คุณน่าจะต้องมีบัญชี Cloud9 อยู่แล้วเพื่อให้สามารถทำงานได้เมื่อเร็ว ๆ นี้ Amazon เข้าครอบครอง Cloud9 โดยรวมเข้ากับ AWS อย่างไรก็ตามดูเหมือนว่าจะเป็นไปได้ที่จะลงชื่อเข้าใช้ด้วย Github, Bitbucket หรือ Google บนแพลตฟอร์มเก่าซึ่งเป็นสิ่งที่เราต้องการ ทำ.

เยี่ยมชมเว็บไซต์นี้: http://c9.io/login และเข้าสู่ระบบ

2. Amazon Developer Console

ตอนนี้ไปที่ http://developer.amazon.com แล้วลงชื่อเข้าใช้ที่มุมบนขวา ตอนนี้คลิกที่ Alexa จากนั้นคลิกที่ Alexa Dashboards ของคุณที่ด้านบนขวา คุณควรเห็นหน้าจอที่ดูเก่ากว่าเช่นหน้าจอด้านบน ตอนนี้เราต้องคลิกที่เริ่มต้นในกล่องชุดทักษะ Alexa

ขั้นตอนที่ 2: ตั้งค่าทักษะ Alexa ใน Amazon Dev Console

ตอนนี้เรากำลังจะตั้งค่าทักษะในเซิร์ฟเวอร์อเมซอน หากคุณรู้วิธีการทำสิ่งนี้อยู่แล้วคุณไม่จำเป็นต้องอ่านสิ่งนี้และคุณอาจข้ามไปยังขั้นตอนถัดไป

คลิกที่เพิ่มทักษะใหม่และคุณควรจะมีหน้าจอเหมือนด้านบน

ในปุ่มตัวเลือกที่ด้านบนเราควรเลือก Custom Interaction Model

ตอนนี้เลือกภาษาของทักษะของคุณ การเลือก English UK เป็นสิ่งสำคัญหากบัญชี amazon ของคุณมีที่อยู่ในสหราชอาณาจักรเนื่องจากการทดสอบจะไม่ทำงานบนอุปกรณ์ echo ในชีวิตจริงหากคุณเลือก US มันอาจยังคงทำงานกับ Echoism แม้ว่า

ตอนนี้คุณควรป้อนชื่อและชื่อการเรียกร้องทักษะของคุณ ฉันอยากจะแนะนำสิ่งเหล่านี้เหมือนกันเพื่อความสะดวก ชื่อคือสิ่งที่ผู้ใช้จะเห็นในแอป Alexa และชื่อการเรียกร้องคือสิ่งที่ผู้ใช้พูดเมื่อเรียกทักษะเช่น Alexa ถาม "Invocation name" เกี่ยวกับสภาพอากาศ สำหรับทักษะแรกของฉันฉันตั้งชื่อพวกเขาทั้งการทดสอบ

ความสามารถของเราจะไม่ใช้สามสิ่งสุดท้ายเพื่อให้พวกเขาสามารถถูกทิ้งให้อยู่คนเดียว

ตอนนี้คุณต้องคลิกบันทึกและต่อไป คอนโซล Dev อาจฟอร์แมตใหม่ที่นี่เล็กน้อย แต่จะไม่สูญเสียข้อมูลใด ๆ

ขั้นตอนที่ 3: รูปแบบการโต้ตอบ

ตอนนี้คุณควรจะอยู่ในแท็บรูปแบบการโต้ตอบของคอนโซล นี่คือที่เราบอก Alexa ว่าเราต้องการตีความคำสั่งของเราอย่างไร เลือกตัวเลือก Launch Skill Builder Beta

ตอนนี้เราต้องตั้งค่าเจตนาสำหรับทักษะของเราซึ่งเป็นเหมือนฟังก์ชั่นที่ใช้งาน คลิกปุ่มเพิ่มเจตนาและป้อนชื่อที่เหมาะสม สิ่งนี้สามารถเป็นอะไรก็ได้และไม่จำเป็นต้องเป็นที่รู้จักของผู้ใช้อย่างไรก็ตามเราจะต้องใช้มันสำหรับการเขียนโปรแกรมในภายหลัง ฉันตั้งชื่อ HelloWorld ของฉันแล้ว

ตอนนี้เราควรเพิ่มคำพูดบางอย่างซึ่งเป็นสิ่งที่ผู้ใช้อาจบอกว่าพวกเขาต้องการที่จะเรียกสิ่งนี้ ฉันพิมพ์คำว่า "สำหรับคำทักทาย" และ "สำหรับคำว่าสวัสดี" ลงในช่องนี้ ตรวจสอบให้แน่ใจว่ากด Enter ระหว่างนั้น เพื่อเปิดใช้งานความตั้งใจนี้ผู้ใช้จะพูดว่า "Alexa, ขอให้ทดสอบคำทักทาย"

เมื่อสิ่งนี้เสร็จสมบูรณ์ตอนนี้เราต้องกดบันทึกแบบจำลองและสร้างแบบจำลองที่ด้านบน ตรวจสอบให้แน่ใจว่าได้บันทึกก่อนแล้วจึงสร้าง อาคารอาจใช้เวลาสักครู่

สุดท้ายเราต้องคลิกปุ่มการตั้งค่าที่ด้านบนซ้าย

ขั้นตอนที่ 4: ไปยัง Cloud9

ณ จุดนี้เราต้องกลับไปที่ Cloud9 และสร้างจุดสิ้นสุดกลับไปสู่ความสามารถของเรา

ในแดชบอร์ดของคุณสร้างพื้นที่ทำงานใหม่และป้อนชื่อที่น่าจดจำ คุณสามารถเพิ่มคำอธิบายได้หากต้องการ แต่ไม่จำเป็น คุณควรเลือก Python เป็นภาษา ตอนนี้กดสร้างพื้นที่ทำงาน จะใช้เวลาในการโหลด แต่ในที่สุดคุณควรจะปรากฏหน้าจอเหมือนด้านบน นี่คือพื้นที่ทำงานของคุณ

พื้นที่ทำงานของ Cloud9 เป็นเครื่องที่ใช้ Ubuntu Linux ซึ่งคล้ายกับราสเบอร์รี่ปี่ พวกเขามีข้อได้เปรียบอย่างหนึ่งที่โฮสต์ ก่อนที่เราจะสามารถเขียนโค้ดของเราในสภาพแวดล้อมนี้เราจะต้องดำเนินการคำสั่งบางอย่างเพื่อให้พร้อม

1. อัพเกรด pip: sudo -H pip2 install - อัพเกรด pip

2. ติดตั้ง Flask: sudo pip install flask

3. ติดตั้ง Flask-Ask, ไลบรารีที่เชื่อมต่อกับ Alexa: sudo pip install flask-ask

ตอนนี้เราสามารถเขียนโปรแกรมของเรา คลิกเครื่องหมายบวกสีเขียวที่ด้านบนแล้วเลือกไฟล์ใหม่ กดไฟล์บันทึกและป้อนชื่อที่เหมาะสมด้วย. py ที่ส่วนท้ายเช่น HelloAlexa.py ตอนนี้กดบันทึก ในขั้นตอนต่อไปเราจะป้อนรหัสของโปรแกรมของเรา

ขั้นตอนที่ 5: รหัส!

ตอนนี้คุณจำเป็นต้องป้อนรหัสต่อไปนี้แทน HelloWorld ให้ใช้ชื่อที่คุณสร้างไว้ก่อนหน้านี้:

จากการนำเข้าขวดขวดขวด, render_template

จากการนำเข้า flask_ask ถาม, คำสั่ง

นำเข้าระบบปฏิบัติการ

แอพ = Flask (__ name__)

ถาม = ถาม (แอป '/')

@ ask.intent ('HelloWorld)

def hello ():

ข้อความสั่งคืน ("สวัสดีโลก")

ถ้า __name__ == "__main__":

host = os.getenv ('IP', '0.0.0.0')

พอร์ต = int (os.getenv ('PORT', 8080))

app.debug = จริง

app.run (โฮสต์ = โฮสต์, พอร์ต = พอร์ต)

มารันโค้ดกันเถอะ:

สามบรรทัดแรกนำเข้าโมดูลที่จำเป็นของเรา Flask-Ask สำหรับ amazon Alexa และ Flask ซึ่งเป็นข้อกำหนดเบื้องต้นของ Flask-Ask อีกสองบรรทัดถัดไปสร้างแอพขึ้นมาและถามว่าอะไรคือตัวแปรหลักของโปรแกรมของเรา ในการเข้าถึงบิตที่เราต้องการเข้าถึงเราต้องการพวกเขา บรรทัดที่ 6 เป็นมัณฑนากร มันบอกว่าเมื่อเราได้รับสายไปยังที่อยู่เว็บที่โปรแกรมของเราทำงานถ้า url มี "HelloWorld" แล้วบล็อกรหัสต่อไปนี้จะทำงาน ฟังก์ชั่นด้านล่างมัณฑนากรไม่เรียกใช้รหัสใด ๆ แต่จะส่งคืนค่า Hello, โลก จำเป็นต้องใช้คำสั่ง statement () เพื่อแปลงสตริงให้เป็นรูปแบบที่ Alexa เข้าใจได้ สุดท้ายรหัสที่เหลือเป็นวิธีการตรวจสอบให้แน่ใจว่าโปรแกรมของเราทำงานอย่างถูกต้องบน Cloud9 โดยพื้นฐานแล้วมันบอกว่า: ถ้าเราเรียกใช้รหัสนี้โดยตรงไม่ใช่ในฐานะที่เป็นโมดูลรหัสนั้นจะฟังในพอร์ต 8080 บรรทัด app.debug บรรทัดทำให้แน่ใจได้ว่ารหัสจะไม่หยุดก่อนกำหนด หากคุณเคยสร้างแอปพลิเคชันอื่นเช่นนี้ใน Cloud9 คุณจะต้องจำ 5 บรรทัดสุดท้ายเสมอมิฉะนั้นคุณจะได้รับข้อผิดพลาด "ไม่มีแอปพลิเคชันทำงานที่นี่" พอร์ต Cloud9 ที่ใช้คือ 8080,8081 และ 8082 ดังนั้นสิ่งเหล่านี้จะใช้ได้

ตรวจสอบให้แน่ใจว่าได้บันทึกรหัสของคุณแล้วไปยังขั้นตอนถัดไป

ขั้นตอนที่ 6: เชื่อมโยง Cloud9 กับ Alexa

ตอนนี้เราจำเป็นต้องเชื่อมโยงรหัส Cloud9 ของเรากับแอป Alexa ของเราในพอร์ทัล Dev

กดปุ่มเรียกใช้สีเขียวที่มุม ตอนนี้คัดลอกและวางลิงค์ที่ด้านบนสุดของเทอร์มินัลลงในเว็บเบราว์เซอร์ของคุณ ดูภาพหากคุณไม่พบมัน หากคุณเห็นหน้าจอสีส้มพร้อมปุ่มเปิดแอปพลิเคชันคุณควรคลิก คุณควรเห็นหน้าจอสีขาวซึ่งระบุว่าไม่อนุญาตให้ใช้วิธีนี้ สิ่งนี้อาจฟังดูไม่ดีอย่างไรก็ตามวิธีการทั้งหมดนี้คือการตั้งค่า Flask-Ask อย่างถูกต้องเพื่อให้บริการ Alexa เท่านั้นที่สามารถเข้าชมหน้านั้นได้ หากสิ่งนี้ทำงานได้ดีให้กลับไปที่ Dev Console ใน Amazon และตรวจสอบให้แน่ใจว่าคุณอยู่ในแท็บการกำหนดค่า ตอนนี้กด HTTPS และวาง URL ที่คุณเพิ่งมีในกล่องข้อความที่ปรากฏขึ้น คุณสามารถละเว้นการตั้งค่าที่เหลือเพียงกดบันทึกและถัดไป ตอนนี้คุณควรเห็นกล่องเล็ก ๆ ที่ถามคุณเกี่ยวกับใบรับรอง เลือกตัวเลือกที่สอง "ปลายทางการพัฒนาของฉันคือโดเมนย่อยของโดเมนที่มีใบรับรองไวด์การ์ดจากหน่วยงานผู้ออกใบรับรอง" จากนั้นกดบันทึกจากนั้นคลิกถัดไป

คุณควรเข้าสู่ขั้นตอนการทดสอบทันที ถ้าคุณเป็นนั่นคือความก้าวหน้าที่ดีในขั้นต่อไป ถ้าไม่ใช่ให้ตรวจสอบว่าคุณทำตามคำแนะนำอย่างถูกต้อง

ขั้นตอนที่ 7: ทดสอบ!

ตอนนี้คุณควรเห็นหน้าเว็บดังกล่าวข้างต้น หากช่อง i ที่มีข้อความระบุว่า Please Complete โมเดลการโต้ตอบถูกตั้งเป็น Disabled ให้เปิดใช้งาน เราสามารถเริ่มต้นได้โดยการทดสอบทักษะที่นี่และจากนั้นเราสามารถลองใช้อุปกรณ์ echo จริง ลงไปที่ส่วนเครื่องมือจำลองการบริการแล้วป้อนหนึ่งในคำที่คุณสร้างไว้ก่อนหน้านี้ ตอนนี้กดถามทดสอบ คุณควรเห็นข้อความสีน้ำเงินทั้งสองด้าน มือขวาควรมีคำว่า "Hello, World" หรือข้อความอื่น ๆ ที่คุณตั้งค่าความสามารถของคุณในการตอบสนอง หากมือขวาของคุณมีข้อผิดพลาดให้ตรวจสอบว่ารหัสของคุณยังคงทำงานอยู่และคุณพิมพ์รหัสนั้นถูกต้อง

เมื่อทำงานแล้วคุณสามารถไปยังการทดสอบด้วยอุปกรณ์ echo จริง ตรวจสอบให้แน่ใจว่าอุปกรณ์ echo ลงชื่อเข้าใช้ด้วยบัญชีเดียวกันจากนั้นคุณควรจะสามารถลองได้ จำไว้ว่าให้พูดว่า "Alexa, Ask Test" แล้วพูดคำของคุณ หากคุณไม่มีอุปกรณ์ echo คุณสามารถใช้ echo simulator http://echosim.io/welcome คุณจะต้องลงชื่อเข้าใช้ด้วยบัญชี Amazon Developer ของคุณ

ขอบคุณที่อ่านคำแนะนำของฉัน ฉันหวังว่ามันจะทำงานให้คุณ หากคุณมีคำถามใด ๆ โปรดโพสต์ความคิดเห็นและหากคุณชอบโปรดโหวตให้ฉันในการแข่งขันเปิดใช้งานด้วยเสียงและการประกวดครั้งแรกของผู้เขียน

ขอบคุณ!