ברוכים הבאים אל Google Home Developer Center, היעד החדש לקבלת מידע על פיתוח פעולות לבית חכם. הערה: תמשיך ליצור פעולות במסוף הפעולות.

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

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

ה-SDK של ה-Local Home משפר את השילוב של הבית החכם עם Google Assistant על ידי הוספת מסלול מקומי לשרשור פעולות (fullfillment) לניתוב של כוונות בית חכמות.

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

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

התחלת הבנייה ניסיון לדוגמה

הסבר על התהליך

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

הפלטפורמה שולחת כוונה להשתמש ב-IDENTIFY כדי לקבוע אם המכשיר מאפשר שליטה מקומית, על ידי השוואת מזהה המכשיר בתגובה IDENTIFY לעומת זו של התגובה הקודמת של SYNC. אם המכשיר שזוהה הוא תחנה או גשר, הפלטפורמה שולחת כוונה (REACHABLE_DEVICES) ומתייחסת למרכז המכשירים כאל שרת proxy לתקשורת מקומית.

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

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

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

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

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

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

כדי לתמוך בבניית האפליקציה, Local SDK SDK מספק את שתי הכיתות העיקריות האלה:

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

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

בשלב זה, לא ניתן להשתמש ב-Report State API למילוי נתונים מקומיים. Google מסתמכת על מילוי העננים שלכם כדי לעבד את הבקשות האלה.

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

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

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

פלטפורמת 'דף הבית' המקומית פורקת את האפליקציה שלכם לאחר פרק זמן קצוב לתפוגה, כאשר המשתמש מבטל את קישור החשבון או אם אין יותר מכשירים שתומכים בהשלמה מקומית המשויכת ל-agentUserId של המשתמש.

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

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

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

סביבת ביצוע

סביבת הביצוע לאפליקציה למילוי הזמנות באופן מקומי תלויה במכשיר שלכם. פלטפורמת ה-Local Home תומכת בסביבות ריצה הבאות:

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

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

מומלץ לאחד את התלות לקובץ JavaScript אחד באמצעות תצורות ה-App Bundle שמסופקות על ידי Local Home SDK, ולארוז את קוד המקור כביטוי פונקציות שמופעל באופן מיידי (IIFE).

מסלול הטמעה

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

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

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