מילוי הזמנה מקומי

ערכת ה-SDK של 'הבית החכם' משפרת את השילוב של הבית החכם עם Google Assistant על ידי הוספה של נתיב מקומי למילוי הזמנות כוונות לבית חכם.

באמצעות ה-SDK אפשר לכתוב אפליקציית מילוי הזמנות מקומית באמצעות TypeScript או JavaScript, שכולל את הלוגיקה העסקית לבית חכם. מכשירי Google Home או Google Nest יכולים לטעון להריץ את האפליקציה במכשיר. האפליקציה מתקשרת ישירות עם המכשירים החכמים הקיימים מכשירים בחיבור Wi-Fi ברשת תקשורת מקומית (LAN) כדי למלא פקודות משתמשים, על פני פרוטוקולים קיימים.

השילוב של ה-SDK מציע שיפורי ביצועים לבית החכם פעולה, כולל זמן אחזור קצר ואמינות גבוהה יותר. מילוי ההזמנות המקומי הוא נתמכת בכל סוגי המכשירים ותכונות המכשירים, למעט אלה שמשתמשים בהם משתמש משני אימות.

מתחילים לפתח רוצים לנסות את הדוגמה?

איך זה עובד

אחרי קבלת התשובה SYNC ממילוי ההזמנות בענן, פלטפורמת Local Home סורקת את רשת תקשורת מקומית באמצעות mDNS, שידור UDP או UPnP כדי לגלות מכשירים חכמים שמחוברים ל-Assistant.

הפלטפורמה שולחת Intent מסוג IDENTIFY כדי לבדוק אם המכשיר לשלוט באופן מקומי, על ידי השוואה בין מזהה המכשיר בתשובה IDENTIFY לאלה שהוחזרו על ידי התשובה הקודמת של SYNC. אם המכשיר שזוהה הוא רכזת או גשר, הפלטפורמה שולחת Intent מסוג REACHABLE_DEVICES ומתייחסת Hub כמכשיר proxy לתקשורת מקומית.

כשהיא מקבלת תגובה שמאשרת מכשיר מקומי, הפלטפורמה יוצרת נתיב של מילוי הזמנות מקומי למכשיר Google Home או Google Nest של המשתמש, ולאחר מכן מתבצע ניתוב פקודות משתמש למילוי הזמנות מקומי.

כשמשתמש מפעיל פעולה של בית חכם שיש לה נתיב מקומי למילוי הזמנות, Assistant שולחת את EXECUTE Intent או QUERY מכשיר Google Home או Google Nest במקום למילוי ההזמנות בענן. לאחר מכן המכשיר מפעיל את אפליקציית מילוי ההזמנות המקומית כדי לעבד את הכוונה.

האיור הזה מציג את תהליך הביצוע של מילוי ההזמנות המקומי. 
            נתיב הביצוע מתעד את כוונת המשתמש בטלפון עם
            Google Assistant, ואחר כך לעבד את כוונת המשתמש על ידי
            ב-Google Cloud, ואז מבצעים אותו באופן מקומי
            של המכשיר והפקודה תונפק ישירות אל מרכז המכשיר,
            ישירות למכשיר. ענן המפתחים זמין בתור
            גיבוי בענן.
איור 1: הוספת נתיב מקומי למילוי הזמנות לבית החכם פעולה.

לפלטפורמת 'בית מקומי' אין אפשרות לבחור איזה מכשיר של Google Home או Google Nest מפעילים את הפקודה. ה-Intents EXECUTE ו-QUERY יכולים לעבור כל מכשיר Google Home או Google Nest שמוגדר באותו Home Graph של הארגון כמכשיר היעד.

אפליקציה מקומית למילוי הזמנות

אפליקציית מילוי ההזמנות המקומית מכילה את הלוגיקה העסקית לעיבוד ה-Intents שנשלחים על ידי פלטפורמת 'בית מקומי' ולגשת למכשיר החכם שלך דרך רשת האזור המקומית. לא צפויים שינויים בחומרה שלכם כדי לשלב מילוי הזמנות מקומי. ממלאת בקשות פעולה לבית חכם על ידי שליחת פקודות בקרה של מכשיר חכם באמצעות פרוטוקולים בשכבת האפליקציה, כולל HTTP, TCP או UDP. אם הנתיב המקומי למילוי הזמנות נכשל, נעשה שימוש במילוי ההזמנות בענן כנתיב הפעלה חלופי.

כדי לתמוך בבניית האפליקציה, ה-Local Home SDK מספק את מחלקות:

  • DeviceManager מספקת שיטות לתקשורת עם מכשירים חכמים באמצעות TCP, שקעי UDP או בקשות HTTP.
  • App מספקת שיטות לצירוף handlers של כוונות ש-Google שולחת אחרי שגיליתי מכשירים שנשלטים באופן מקומי (IDENTIFY, REACHABLE_DEVICES). הכיתה הזו גם ממלאת פקודות משתמש (EXECUTE), עונה לשאילתות של משתמשים על המצב הנוכחי של המכשיר (QUERY).

במהלך הפיתוח, אפשר ליצור ולבדוק את האפליקציה על ידי טעינה עצמאית שרת אירוח או מכונת פיתוח מקומית. בסביבת הייצור, Google מארחת את בסביבת ארגז חול מאובטחת של JavaScript במכשיר Google Home או Google Nest של המשתמש.

ה-API של Report State הוא אין כרגע תמיכה במילוי הזמנות מקומי. Google מסתמכת על של Cloud Storage לצורך עיבוד הבקשות האלה.

מחזור החיים של אפליקציה

אפליקציית מילוי ההזמנות המקומית נטענת על פי דרישה כשפלטפורמת Home Home מגלה מכשירים מקומיים חדשים שתואמים לתצורה של סריקת הפרויקט, או שנמצאים בהמתנה מנסה לספק מידע שקשור למכשיר שזוהה בעבר.

במכשירי Google Home או Google Nest יש הגבלת זיכרון ואפליקציית מילוי ההזמנות המקומית עשוי להיפסק בכל שלב בגלל לחץ על הזיכרון במערכת. מי יכול מצב שבו האפליקציה מתחילה לצרוך יותר מדי זיכרון או אם המערכת צריכה לפנות מקום לאפליקציה אחרת. פלטפורמת 'בית מקומי' תפעיל את האפליקציה מחדש רק כשיש כוונות חדשות לספק משאבי זיכרון מספיקים כדי לאפשר הפעלה של האפליקציה.

פלטפורמת הבית המקומית מסירה את הטעינה של האפליקציה אחרי שעבר הזמן הקצוב לתפוגה שהוגדר לחוסר פעילות, כשהמשתמש מבטל את הקישור של החשבון שלו או שאין יותר מכשירים שתומכים בחיפוש מקומי מילוי הזמנות שמשויך לagentUserId של המשתמש.

מכשירים נתמכים

פלטפורמת 'בית מקומי' מפעילה את אפליקציית מילוי ההזמנות המקומית במכשירים נתמכים מכשירי Google Home או Google Nest בטבלה הבאה מתוארים המכשירים הנתמכים. בכל מכשיר. מידע נוסף על הדרישות לגבי זמן ריצה זמין בכתובת סביבת הפעלה

מכשיר סוג סביבה
Google Home רמקול Chrome
Google Home Mini רמקול Chrome
Google Home Max רמקול Chrome
Nest Mini רמקול Chrome
Nest Hub רשת המדיה Chrome
Nest Hub Max רשת המדיה Chrome
Nest Wifi נתב Node.js
נקודה Chrome

סביבת הפעלה

סביבת ההפעלה של אפליקציית מילוי ההזמנות המקומית תלויה device. פלטפורמת 'בית מקומי' תומכת סביבות זמן ריצה:

  • Chrome: אפליקציית מילוי ההזמנות המקומית מופעלת בהקשר של Chrome דפדפן window עם Chrome M80 ואילך עם תמיכה עבור ECMAScript גרסה ES2018.
  • Node.js: אפליקציית מילוי ההזמנות המקומית מופעלת כסקריפט בתוך Node.js תהליך הרצת Node v10.x LTS ואילך עם תמיכה עבור ECMAScript גרסה ES2018.

מבנה קוד המקור

אנחנו ממליצים לקבץ את יחסי התלות בקובץ JavaScript אחד באמצעות הפקודה הגדרות של bundler סופק על ידי Local Home SDK וכלול את קוד המקור שלך בתור ביטוי פונקציה שמופעל באופן מיידי (IIFE).

נתיב הטמעה

כדי להשתמש ב-Local Home SDK לשילוב בבית החכם, צריך: לבצע את המשימות הבאות:

1 הגדרת הסריקה הגדרה מגדירים את מסוף הפעולות עם הפרמטרים הנדרשים Assistant לאיתור מכשירים שניתן לשלוט בהם באופן מקומי.
2 לעדכן את תגובה מסונכרנת במילוי הבקשה בענן במילוי הבקשה בענן, משנים את SYNC ה-handler של הבקשות שתומך השדה otherDeviceIds שבו הפלטפורמה משתמשת כדי ליצור מקומי. בשדה הזה, מציינים את המזהים של המכשירים שיכולים להיות שליטה מקומית.
3 ליישם את אפליקציה למילוי הזמנות בחנות מקומית אפשר להשתמש ב-Local Home SDK כדי ליצור אפליקציית JavaScript לצורך לטפל בIDENTIFY, Intents EXECUTE ו- QUERY. במכשירים עם שרת Proxy או רכזת, צריך לטפל גם ב-Intent REACHABLE_DEVICES.
4 בדיקה וניפוי באגים באפליקציה לבדוק את השילוב (או אישור עצמי) באמצעות חבילת הבדיקה של Google Home.

לפני שמתחילים