สารบัญ:
- ขั้นตอนที่ 1: ตั้งค่าการอนุญาตบัญชี Google ของคุณ
- ขั้นตอนที่ 2: สร้างการกระทำของคุณ
- ขั้นตอนที่ 3: การเรียกใช้การดำเนินการ
- ขั้นตอนที่ 4: เพิ่มการดำเนินการแรกของคุณ
- ขั้นตอนที่ 5: วลีฝึกอบรมสำหรับความตั้งใจของคุณ
- ขั้นตอนที่ 6: เอนทิตี
- ขั้นตอนที่ 7: การดำเนินการและพารามิเตอร์
- ขั้นตอนที่ 8: การปฏิบัติตาม
- ขั้นตอนที่ 9: ความตั้งใจในการต้อนรับ
- ขั้นตอนที่ 10: บริการเว็บ Python ของคุณ
- ขั้นตอนที่ 11: ทดสอบการกระทำของคุณ
- ขั้นตอนที่ 12: ปล่อยการกระทำของคุณ
วีดีโอ: สร้างการดำเนินการที่กำหนดเองสำหรับ Google Assistant: 12 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
เมื่อเห็นศักยภาพของ Google Assistant ตามที่ปรากฏใน Google I/O 18 และ Volvo Cars ในระบบสาระบันเทิง ฉันก็อดไม่ได้ที่จะลองใช้มัน ฉันนำ VasttraPi โปรเจ็กต์เก่าของฉันกลับมาใช้ใหม่ และเชื่อมต่อกับ Google Assistant หากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับโครงการนี้ ฉันยินดีที่จะอ่านบทความที่เกี่ยวข้องในบล็อกของฉัน: การดำเนินการที่กำหนดเองสำหรับ Google Assistant
ในคำแนะนำนี้ เราจะดำเนินการตามขั้นตอนที่จำเป็นเพื่อเปิดตัว Google Assistant Action ของคุณเอง ซึ่งจะสื่อสารกับเซิร์ฟเวอร์ของคุณและพูดคุยกับคุณโดยระบุรายการออกเดินทางที่กำลังจะมาถึง โปรดทราบว่าเราจะไม่ใช้ SDK เนื่องจากเรากำลังเรียกใช้สิ่งนี้อย่างสมบูรณ์ใน Google Assistant ไม่ใช่อุปกรณ์ของเราเอง โดยรวมก็จะเป็นแบบเรียบง่าย การกระทำของคุณจะใช้ได้กับอุปกรณ์ที่รองรับ Google Assistant เช่น โทรศัพท์ แท็บเล็ต ผู้ช่วยในบ้าน และอุปกรณ์สวมใส่ และคุณยังสามารถแชร์ได้เหมือนที่ทำกับแอปใน Play Store!
ข้อดีอย่างหนึ่งของการสร้างสิ่งนี้มากกว่าการใช้บริการเช่น IFTTT คือคุณสามารถสร้างการตอบสนองที่กำหนดเองในเซิร์ฟเวอร์ของคุณซึ่ง Google Assistant จะอ่าน ใน IFTTT การสื่อสารนั้นไกลเท่าที่ฉันกังวลทางเดียว
หัวข้อต่อไปนี้จะครอบคลุม:
- การสร้างโครงการ Action แรกของคุณ
- การสร้างความตั้งใจของคุณเอง
- การสร้างเอนทิตีแบบกำหนดเองของคุณ
- การตั้งค่าเว็บฮุคเพื่อเติมเต็มการกระทำของคุณ
- การตั้งค่าเซิร์ฟเวอร์ REST อย่างง่ายที่เขียนด้วย Python ด้วย Flask ซึ่งจะให้การตอบสนองหรือ "การปฏิบัติตาม"
- การทดสอบโครงการดำเนินการของคุณ
- ปล่อยโครงการปฏิบัติการของคุณ
คุณจะไม่พบรายละเอียดหรือทฤษฎีมากมายเกี่ยวกับฟังก์ชันและแนวคิดต่างๆ ของ Google Assistant ที่นี่ หากคุณสนใจฉันขอแนะนำอย่างยิ่งให้คุณทำตามบทช่วยสอนอย่างเป็นทางการหรือดูวิดีโอนี้
ขั้นตอนที่ 1: ตั้งค่าการอนุญาตบัญชี Google ของคุณ
ก่อนที่เราจะเริ่ม เราต้องแน่ใจว่า Google Assistant มีสิทธิ์ที่เหมาะสม
- ไปที่ส่วนควบคุมกิจกรรม
-
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานสิ่งต่อไปนี้:
- กิจกรรมบนเว็บและแอป
- ข้อมูลอุปกรณ์
- กิจกรรมเสียงพูดและเสียง
ขั้นตอนที่ 2: สร้างการกระทำของคุณ
- ไปที่ Actions Console และคลิกที่ "Add/import project"
- เรียกโปรเจ็กต์การดำเนินการนี้ว่า "local-traffic-planner"
- คลิกที่ "สร้างโครงการ"
- ในหน้าถัดไป อย่าเลือกหมวดหมู่แล้วคลิก "ข้าม"
- คุณควรอยู่ในหน้าหลักของ Actions Console ทันที
ขั้นตอนที่ 3: การเรียกใช้การดำเนินการ
กำหนดว่าคุณต้องการกระตุ้นให้ Google Assistant เริ่มดำเนินการอย่างไร
- คลิกที่ "ตัดสินใจว่าจะเรียกใช้การดำเนินการของคุณอย่างไร" ใต้ "การตั้งค่าด่วน"
- เรียกมันว่า "เครื่องมือวางแผนการจราจรในพื้นที่ของฉัน" แล้วคลิก "บันทึก"
-
คลิกที่ข้อความแจ้ง "UPDATE SAMPLE INVOCATIONS" ที่ปรากฏขึ้นหลังจากคลิกบันทึก
คุณยังค้นหาตัวเลือกนี้ใน "ข้อมูลไดเรกทอรี" ได้อีกด้วย
- เพิ่ม "ถามผู้วางแผนการจราจรในพื้นที่ของฉัน" เป็นคำขอใหม่และคลิก "บันทึก"
ขั้นตอนที่ 4: เพิ่มการดำเนินการแรกของคุณ
- คลิกที่ "การดำเนินการ" ที่แถบด้านซ้ายมือ
- คลิกที่ "เพิ่มการดำเนินการครั้งแรกของคุณ"
- เลือก "ความตั้งใจที่กำหนดเอง" จากนั้นคลิกที่ "สร้าง"
- คุณจะถูกนำไปที่หน้า Dialogflow ซึ่งเป็นที่ที่คุณจะนำตรรกะหลักไปใช้
ขั้นตอนที่ 5: วลีฝึกอบรมสำหรับความตั้งใจของคุณ
- เลือกเขตเวลาของคุณและคลิก "สร้าง"
- ในหน้าถัดไป ปล่อยให้ความตั้งใจที่มีอยู่เป็นและคลิก "สร้างความตั้งใจ"
- ให้ชื่อที่สมเหตุสมผลแก่เจตนาเช่น "ออกเดินทาง"
- ไปที่ "วลีการฝึกอบรม" และคลิกที่ "เพิ่มวลีการฝึกอบรม"
-
ใช้วลีต่อไปนี้เพื่อฝึกโมเดลของคุณ เพื่อให้สามารถตีความสิ่งที่คุณกำลังบอกได้:
- ฉันอยู่บ้านตอนนี้
- ช่วงนี้ฉันอยู่บ้าน
- ฉันอยู่ที่อพาร์ตเมนต์ของเราในขณะนี้
- ฉันนั่งอยู่ที่บ้าน
- ตอนนี้ฉันอยู่ใกล้ที่ทำงาน
- ฉันทำงานอยู่
- ฉันอยู่ที่ออฟฟิศ
- ทำงาน
- บ้าน
ขั้นตอนที่ 6: เอนทิตี
ตอนนี้คุณได้ระบุสิ่งที่ควรจะคาดหวังมากหรือน้อยว่าเป็นอินพุต เราจำเป็นต้องกำหนดว่าส่วนใดของอินพุตที่น่าสนใจต่อตรรกะทางธุรกิจของเรา เพื่อให้สามารถแยกและเน้นไปที่เซิร์ฟเวอร์ของเราได้ ในกรณีของเรา เราต้องการทราบว่าผู้ใช้อยู่ที่บ้านหรือที่ทำงาน เพื่อให้เราสามารถตอบกลับด้วยการออกเดินทางจากสถานีเฉพาะ มาดูกันว่าเราจะทำได้อย่างไร
- หากคุณดับเบิลคลิกที่คำในวลีฝึกอบรมหนึ่งคำขึ้นไป คุณจะได้รับรายการของเอนทิตีที่กำหนดไว้ล่วงหน้า คุณสามารถอ่านเพิ่มเติมเกี่ยวกับแต่ละคำได้ที่นี่ โดยรวมแล้ว สิ่งที่เหมาะสมที่สุดคือ @sys.location แต่ฉันคิดว่ามันดีที่สุดและง่ายที่สุดถ้าเราสร้างเอนทิตีของเราเองซึ่งเราควรเรียกว่า @current-location
- คลิกที่ตัวเลือก "เอนทิตี" ทางด้านซ้าย
- คลิกที่ "สร้างเอนทิตี"
-
ตั้งชื่อเป็น "ตำแหน่งปัจจุบัน" และกำหนดค่าอ้างอิงสองค่าพร้อมกับคำพ้องความหมาย:
-
บ้าน
บ้าน, บ้าน, อพาร์ตเมนต์, เปล
-
งาน
ทำงาน, ออฟฟิศ, Aptiv, Code Mines (ฮ่า ๆ ล้อเล่น)
-
- คลิก "บันทึก" หากต้องการเอฟเฟกต์พิเศษ คุณยังสามารถคลิก "อนุญาตการขยายอัตโนมัติ" เพื่อให้ Google Assistant มีสิทธิ์เพิ่มเติมในการลองจับคู่คำพ้องความหมายเพิ่มเติมกับค่าอ้างอิงของคุณ
ขั้นตอนที่ 7: การดำเนินการและพารามิเตอร์
ถึงเวลาให้ความหมายกับคำหลักภายในวลีการฝึกอบรมของคุณ
- คลิกที่ "เจตนา" แล้วไปที่ความตั้งใจที่กำหนดเองของคุณ เช่น "ออกเดินทาง" หากคุณได้ปฏิบัติตามคำแนะนำชื่อของฉัน
- เลื่อนลงไปที่ "วลีการฝึกอบรม"
- ดับเบิลคลิกที่คำที่ระบุตำแหน่งปัจจุบันของคุณ และเลือกแท็ก @current-location จากหน้าต่างป๊อปอัป
- เลื่อนลงไปที่ "การดำเนินการและพารามิเตอร์" คลิกที่ "จัดการ"
- หากทำทุกอย่างถูกต้อง คุณจะเห็นรายการใหม่ของคุณแสดงอยู่ที่นั่น
- ทำเครื่องหมายที่ช่อง "จำเป็น" ซึ่งจะทำให้คอลัมน์ใหม่ "พร้อมท์" ปรากฏขึ้น พรอมต์คือสิ่งที่ผู้ใช้จะได้ยินหากไม่มีการให้ข้อมูลที่ตรงกับความคาดหวัง
- คลิกที่ "กำหนดข้อความแจ้ง" และแทรกบางอย่างเช่น "ฉันไม่เข้าใจตำแหน่งของคุณ ตอนนี้คุณอยู่ที่ไหน"
ขั้นตอนที่ 8: การปฏิบัติตาม
ถึงเวลาเชื่อมต่อบริการเว็บของคุณกับ Google Assistant Action เบ็ดของคุณจะถูกเรียกเมื่อมีการกระตุ้นความตั้งใจเฉพาะนี้และควรทำให้เกิดการดำเนินการตามการกระทำนี้ ก่อนหน้านั้น เราต้องการตั้งเจตนาที่จะสรุปการกระทำหลังจากสำเร็จลุล่วงไปด้วยดี
- ไปที่ "ตอบกลับ" และคลิกที่ "เพิ่มการตอบสนอง"
- อย่าเพิ่มคำตอบใดๆ เพียงเปิดใช้งาน "ตั้งเจตนานี้เป็นการสิ้นสุดการสนทนา"
- เลื่อนลงไปที่ "Fulfillment" คลิก "ENABLE FULFILLMENT" จากนั้นเปิด "Enable webhook call for this Intent"
- คลิก "บันทึก" จากนั้นไปที่ตัวเลือก "การปฏิบัติตาม" ทางด้านซ้ายมือ
-
เปิดใช้งานตัวเลือก "Webhook" และใส่ URL ที่ "ฟัง" โดยเว็บเซิร์ฟเวอร์ของคุณ
เมื่อใดก็ตามที่เจตนาถูกเรียก มันจะส่งคำขอ POST ไปยังเว็บไซต์ของคุณพร้อมกับเนื้อหาของคำขอที่มีออบเจ็กต์ JSON พร้อมตำแหน่งปัจจุบันของผู้ใช้
- คลิกบันทึก
- ตอนนี้เราพร้อมที่จะสร้างบริการบนเว็บแล้ว แต่ก่อนหน้านั้น ให้ตรวจสอบให้แน่ใจว่าการดำเนินการของเรายินดีต้อนรับเราอย่างเหมาะสม
ขั้นตอนที่ 9: ความตั้งใจในการต้อนรับ
เพื่อปรับแต่งประสบการณ์ผู้ใช้ เราควรสร้างคำทักทายที่เหมาะสมกับเราทุกครั้งที่เรากระตุ้นการกระทำของเรา
- ไปที่ "Intents" จากนั้นคลิกที่ "Default Welcome Intent"
- เลื่อนลงไปที่ "คำตอบ" ลบสิ่งที่มีอยู่แล้วใส่สิ่งที่คุณต้องการให้การกระทำของคุณเป็นการต้อนรับคุณเมื่อเริ่มต้น
- คลิก "บันทึก"
ขั้นตอนที่ 10: บริการเว็บ Python ของคุณ
มาสร้างเซิร์ฟเวอร์ Python ที่รวดเร็วและสกปรกโดยใช้ Flask ไม่มีภาพหน้าจอสำหรับขั้นตอนนี้ แต่ควรตรงไปตรงมา
- เปิดแท็บใหม่และสร้างบัญชีบน pythonanywhere.com
- ยืนยันอีเมลของคุณ
- ตั้งค่าเว็บแอปพลิเคชันของคุณโดยคลิกที่ "เปิดแท็บเว็บ"
- คลิกที่ "เพิ่มเว็บแอปใหม่" และเลือก "ขวด" เป็นเฟรมเวิร์กเว็บ Python ของคุณ
- เลือก Python 3.6 แล้วคลิก "ถัดไป"
- เลือกเส้นทางที่คุณต้องการให้ "flask_app.py" ของคุณอยู่ ฉันวางไว้ในโฟลเดอร์บ้านของฉันโดยตรงเป็น "/home/your-username/flask_app.py"
- กลับไปที่หน้าหลักโดยคลิกที่โลโก้ Python ที่มุมซ้ายบน
- ใต้ไฟล์ ให้คลิกที่ "flask_app.py" เพื่อเริ่มแก้ไข
- เมื่อโปรแกรมแก้ไขข้อความบนเว็บเปิดขึ้น ให้วางโค้ดต่อไปนี้แล้วคลิก "บันทึก" แนวคิดโดยรวมก็คือขึ้นอยู่กับ JSON ที่แยกวิเคราะห์ที่มาจาก Google Assistant เซิร์ฟเวอร์ของเราจะดำเนินการ (เช่น อ่านหรือเขียน) และรายงานกลับเป็นการตอบสนอง /fulfillment ที่ควรอ่านให้ผู้ใช้ฟัง
- คลิกที่ "เปิดแท็บเว็บ" อีกครั้งจากนั้นคลิกที่ "ปุ่มโหลดซ้ำ" สีเขียว
- ถึงตอนนี้คุณควรจะมีเว็บเซิร์ฟเวอร์ Python ของตัวเองทำงานที่ "https://your-username.pythonanywhere.com/departures"
ขั้นตอนที่ 11: ทดสอบการกระทำของคุณ
ตกลง คุณทำเสร็จแล้วสวยมาก มาทดสอบสแต็กทั้งหมดกันตอนนี้ และทำให้ตัวอย่าง "สวัสดีชาวโลก" ใช้งานได้!
- คลิกที่ "บูรณาการ" จากแถบด้านซ้ายมือ
- คลิกที่ "การตั้งค่าการรวม" ใต้ตัวเลือก Google Assistant
- ใต้ "การเรียกโดยนัย ให้เพิ่มชื่อความตั้งใจของคุณ เช่น "ออกเดินทาง" เพื่อให้เรียกใช้ได้โดยตรงโดยพูดว่า "Ok Google พูดคุยกับนักวางแผนการจราจรในพื้นที่ของฉันเกี่ยวกับการออกเดินทางจากบ้าน"
- เปิดใช้งานการเปลี่ยนแปลง "แสดงตัวอย่างอัตโนมัติ"
- คลิกที่ "ทดสอบ" ซึ่งจะเปิดหน้าใหม่
- พิมพ์ "พูดคุยกับนักวางแผนการจราจรในพื้นที่ของฉัน"
- การกระทำของคุณควรถูกเรียกใช้ซึ่งควรทักทายคุณด้วยการตอบรับความตั้งใจต้อนรับที่กำหนดไว้ก่อนหน้านี้
- จากนั้นพิมพ์ "ฉันอยู่ที่ทำงาน" คุณควรติดต่อเซิร์ฟเวอร์ Python ของคุณและ Google Assistant จะอ่านคำตอบ
เจ๋งใช่มั้ยล่ะ? ลองนึกภาพว่าคุณสามารถโต้ตอบกับเซ็นเซอร์ แอคทูเอเตอร์ และ API อื่นๆ ได้อย่างไรผ่าน Google Assistant
ขั้นตอนที่ 12: ปล่อยการกระทำของคุณ
หลังจากที่คุณทดสอบการกระทำของคุณเสร็จแล้วและมันอยู่ในสภาพดีแล้ว ก็ถึงเวลาแบ่งปันความรักกับคนทั้งโลกหรือถ้าไม่สมเหตุสมผล กับเพื่อนและครอบครัวของคุณ
- กลับไปที่คอนโซลการดำเนินการและเลือกการดำเนินการวางแผนการจราจรในพื้นที่ของคุณ
- ภายใต้ "เตรียมพร้อมสำหรับการปรับใช้" ให้คลิกที่ "ป้อนข้อมูลที่จำเป็นสำหรับการแสดงการดำเนินการของคุณในไดเรกทอรีการดำเนินการ"
- ป้อนคำอธิบายสั้น ๆ คำอธิบายที่ยาวขึ้น โลโก้ขนาดเล็ก รายละเอียดการติดต่อของคุณ ลิงก์นโยบายความเป็นส่วนตัว (หากคุณจะไม่แชร์สิ่งนี้ต่อสาธารณะ ให้ใส่ลิงก์ไปยังเว็บไซต์ของคุณหรือบางอย่าง) และหมวดหมู่
- เลื่อนขึ้นและคลิกที่ "บันทึก"
- คลิกที่ตัวเลือก "ปล่อย" จากแถบด้านซ้ายมือ
- ที่นี่คุณสามารถเลือกได้ว่าการดำเนินการของคุณอยู่ในสถานะใด หากคุณไม่ต้องการได้ยินคำตอบ "มาลองดาวน์โหลด My Local Traffic Planner รุ่นทดสอบกันเถอะ" คุณต้องเผยแพร่สู่สาธารณะโดยสมบูรณ์ อย่างไรก็ตาม เรื่องนี้ต้องได้รับการตรวจสอบจาก Google และจะไม่ครอบคลุมในบทแนะนำนี้ คุณยังสามารถแชร์สิ่งนี้กับผู้คนได้ถึง 20 คนโดยเลือกรุ่นอัลฟ่าและเพิ่มพวกเขาเป็นผู้ทดสอบอัลฟ่า
- เพิ่มผู้ทดสอบอัลฟ่าโดยส่งลิงก์หรือเพิ่มอีเมลให้พวกเขา
- คลิกที่ "ส่งสำหรับอัลฟ่า" ทำเครื่องหมายในช่อง คลิก "ส่ง" เท่านี้ก็เรียบร้อย!
ตอนนี้ Action ของคุณพร้อมใช้งานแล้วและคุณและเพื่อนของคุณสามารถเข้าถึงได้ มีความสุข!
หากคุณสนใจโค้ดที่ฉันใช้ ลองดูโครงการบน GitHub
แนะนำ:
WLED (บน ESP8266) + IFTTT + Google Assistant: 5 ขั้นตอน
WLED (บน ESP8266) + IFTTT + Google Assistant: บทช่วยสอนนี้จะช่วยให้คุณเริ่มต้นใช้งาน IFTTT และ Google Assistant สำหรับ WLED บน ESP8266 ในการตั้งค่า WLED & ESP8266 ทำตามคำแนะนำนี้ใน tynick:https://tynick.com/blog/11-03-2019/getting-started…ขอตะโกนใส่ Aircookie สำหรับซอฟต์แวร์ที่ยอดเยี่ยมเช่น
เมทริกซ์ LED ที่ควบคุมโดย Google Assistant !: 7 ขั้นตอน (พร้อมรูปภาพ)
เมทริกซ์ LED ที่ควบคุมโดย Google Assistant !: ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีสร้างเมทริกซ์ LED ที่ควบคุมโดย Google Assistant ซึ่งคุณควบคุมรูปแบบได้ทุกที่โดยใช้สมาร์ทโฟน มาเริ่มกันเลย
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: 3 ขั้นตอน
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: เฮ้! ในโครงการนี้ เราจะใช้การควบคุมด้วย Google Assistant ของ LED โดยใช้ Raspberry Pi 4 โดยใช้ HTTP ใน Python คุณสามารถเปลี่ยน LED เป็นหลอดไฟได้ (แน่นอนว่าไม่ใช่อย่างแท้จริง คุณจะต้องมีโมดูลรีเลย์ในระหว่างนั้น) หรือบ้านอื่นๆ
Google Assistant แบบแฮนด์ฟรีสำหรับ Raspberry Pi: 14 ขั้นตอน (พร้อมรูปภาพ)
Google Assistant แบบแฮนด์ฟรีสำหรับ Raspberry Pi: สวัสดีและยินดีต้อนรับสู่ Instructable แรกของฉัน! ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นสิ่งที่ฉันคิดว่าเป็นวิธีที่ง่ายที่สุดในการติดตั้งการร้องเพลงทั้งหมด Google Assistant ที่กำลังเต้นบน Raspberry Pi ของคุณ เธอเป็นอิสระอย่างสมบูรณ์กับ OK Googl
Google Assistant-Home Automation Iot โดยใช้ Esp8266: 6 ขั้นตอน
Google Assistant | Home Automation Iot โดยใช้ Esp8266: ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็น Google Assistant ควบคุมระบบอัตโนมัติภายในบ้าน