ערכת ה-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 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. |
לפני שמתחילים
- להכיר את היסודות של יצירת בית חכם פעולה.
- בקטע פעולות המסוף, יצרן לוודא שיש לכם פרויקט לבית חכם, ושקישור החשבונות מוגדר.
- ודאו שאתם מחוברים לאותו חשבון Google ב-Actions Console וב-Assistant במכשיר הבדיקה.
- יש צורך ב-Node.js כדי לכתוב את האפליקציה. להתקנת Node.js ו-npm, גרסת Node ניהול מומלץ.
- כדי לעבוד עם הגרסה העדכנית ביותר של Local Home SDK, צריך: רישום מכשירי הבדיקה לתצוגה המקדימה של הפעלת Cast תוכנית.