ארכיטקטורת ה- API של Nest

מידע על שירות Nest

אפליקציות Nest מאפשרות למשתמשים להתחבר לבית שלהם מכל מקום שבו הם נמצאים. כל מכשירי Nest (תרמוסטטים, מגינים ומצלמות) ואפליקציות (iOS, Android ואפליקציות אינטרנט) מתחברים לשירות Nest.

דוגמה של Cloud לענן

שירות Nest מספק מודל נתונים של הבית. מכשירים ואפליקציות קוראים ממודל נתונים זה כדי לבצע פעולה מתאימה. המערכת מעדכנת את מודל הנתונים כדי לשקף את השינויים במערכת.

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

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

מודל הנתונים

ה-Nest API מיוצג כמסמך JSON עם מאפיינים ברמה העליונה של metadata, devices ו-structures. במסמך Works with Nest, מסמך JSON זה משמש לאינטראקציה עם מכשירי Nest ולשינויי מצב קשורים, ומגיבים אליהם.

Nest structures מייצגים מבנים פיזיים בעולם האמיתי. הם משמשים כנקודת ארגון עבור devices ונתוני חנות של המבנה כולו. בדרך כלל, structure הוא בית המשתמש.

Nest devices מייצגים מכשירים פיזיים (תרמוסטטים, מגני מצלמות ומצלמות) בתוך מבנה.

ניתן ליישם כל רכיב נתונים במסמך JSON לפי כתובת אתר (שנקרא גם "מיקומי נתונים"). קבצים שפועלים עם מכשירי Nest יכולים לקרוא ולכתוב קטעים במסמך הזה ולהירשם לקבלת שינויים. יכולת מינוי זו מאפשרת למוצרי Works של Nest להגיב בזמן אמת לשינויים שמתבצעים במערכת, כמו כיבוי אורות כאשר המשתמש מגדיר את המצב 'לא בבית'.

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

חקור את מודל הנתונים באמצעות הפניית API אינטראקטיבית.

מצב מיועד

שירות Nest מאחסן את מצב המערכת המוסמך, והמוצרים של Works with Nest נרשמים לשינויים. שינוי מצב זה (לדוגמה, לשינוי טמפרטורת היעד של תרמוסטט) גורם לשירות לשלוח התראה על שינוי לכל המנויים.

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

מודל זה מבוסס-אתר לפרסום/הרשמה מספק אינטראקציות רספונסיביות באפליקציה.

שימוש בשירות Nest

כדי לגשת לנקודות הקצה של REST בשירות Nest, יש להשתמש ב-HTTPS במוצר. קיימות ספריות רבות של לקוחות צד שלישי שיכולות לשמש למטרה זו.

הרשאות והרשאה

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

ההרשאה מטופלת בפרוטוקול OAuth 2.0. כשמשתמש מסכים לספק גישה לרמת ההרשאה המבוקשת, Nest מאמת את הבקשה ואסימון גישה מוענק למגיש הבקשה. ניתן להשתמש באסימון הגישה הזה כדי לגשת אל ה-Nest API ולקיים אינטראקציה עם המבנים והמכשירים של המשתמש.

הענקת אסימון גישה יוצרת קשר מהימנות בין משתמש, מוצר Works with Nest ו-Nest. משתמשים יכולים לבטל גישה בכל עת.

כדי ללמוד איך לאשר חיבור ל-Nest API, כדאי לעיין בסקירה הכללית של ההרשאה.