מכשיר וירטואלי חשוב

Matter ה-SDK של המכשיר

המכשירים הווירטואליים של Matter שימושיים לפיתוח ולבדיקה של פתרונות Matter, ואפשר להזמין אותם באמצעות Google Home app (GHA) ולשלוט בהם באמצעות GHA ו-Google Assistant, בדיוק כמו מכשירי Matter פיזיים.

מפתחי אפליקציות ואנשים אחרים שצריכים לבדוק או לחקות מכשיר Matter וירטואלי, אבל אין להם את המשאבים לבנות מכשיר Matter פיזי או וירטואלי, Google מציעה את Matter Virtual Device (MVD). MVD הוא כלי עצמאי וקומפקטי למחשבים שולחניים של Linux שמדמה סוגים שונים של מכשירי Matter וירטואליים ומספק ממשק משתמש גרפי לשליטה ולהצגה של המצבים של מכשיר Matter הווירטואלי.

בניגוד למכשיר Matter פיזי, MVD לא מסתמך על Bluetooth® Low Energy (BLE) או Thread® כדי להצטרף לבד של Matter. במקום זאת, הוא משתמש בחיבור רשת ה-Wi-Fi הקיים של מחשב ה-Linux המארח לצורך הזמנה.

בהשוואה לכלים אחרים

MVD שונה מ-Virtual Device Controller (VDC) בכך שהוא פתרון עצמאי, שמשלב מכשיר וירטואלי עם ממשק משתמש שמאפשר לשלוט בו. לעומת זאת, ה-VDC משמש לשליטה במכשיר Matter וירטואלי נפרד, כמו המכשיר שאנחנו בונים ב-Matter Virtual Device Development Environment (MVD-DE).

יכול להיות שכבר עבדתם עם ה-Codelab של MVD-DE. ב-Codelab הזה, אתם בונים סוג יחיד של מכשיר וירטואלי – נורה חכמה. לעומת זאת, MVD מכיל כמה מכשירים וירטואליים שונים שנבנו מראש, וכולל ממשק משתמש משולב להפעלה ולשליטה בהם.

טבלה: השוואת כלים וירטואליים של Matter מכשירים
MVD VDC MVD-DE (Codelab)
אמולציה של מכשיר בתקן Matter
שליטה במכשיר Matter באמולציה
נדרש מאמץ פיתוח
הורדה פחות מ-100MB 9 GB ‎20 GB

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

נכון לעכשיו, ב-MVD יש תמיכה בסוגי המכשירים הבאים (Matter):

טבלה: Matter סוגי מכשירים נתמכים עבור MVD
סוג המכשיר Matter אשכולות של אפליקציות סוג המערכת האקולוגית הביתית
נורית לטמפרטורת צבע 0x0300
0x0008
0x0006
בהיר
תאורה עם אפשרות עמעום 0x0008
0x0006
בהיר
תאורת צבע מורחבת 0x0300
0x0008
0x0006
בהיר
חיישן נוכחות 0x0406
חיישן
תאורה כבויה/פועלת 0x0008
0x0006
בהיר
הפעלה/כיבוי של יחידת פלאגין 0x0008
0x0006
שקע

התקנת MVD

MVD פועל במכונות של מעבד 64 ביט x86 עם Debian (גרסה 11 ואילך) או Ubuntu (בגרסה 20.04 ואילך).

כדי להתקין אותה:

להורדת חבילת MVD Debian (.deb)

הורדת הקובץ של Armored-ASCII (.asc)

לאחר מכן מריצים את dpkg כדי להתקין את חבילת MVD Debian (.deb):

sudo dpkg -i mvd_1.1.0_amd64.deb

בדיקת השימוש ביציאה

מודול הבקר ב-MVD משתמש ביציאת TCP 33000 כדי לבצע קריאות RPC למכשיר הווירטואלי, כך שאם היציאה הזו כבר נמצאת בשימוש בתהליך אחר במחשב, חשוב לפנות אותה.

כדי לראות אם תהליך כלשהו משתמש ביציאה 33000:

sudo fuser -v 33000/tcp

אפשר לסגור כל תהליך באמצעות יציאת ה-TCP 33000 באמצעות פקודה אחת:

sudo fuser -k 33000/tcp

הרצת MVD

מריצים את הפקודה MVD מתיקיית האפליקציות או מהמסוף:

mvd

הגדרת המכשיר

המסך הראשי מופיע בזמן ההפעלה, ומאפשר להגדיר מכשיר וירטואלי:

  • סוג המכשיר: בוחרים את סוג המכשיר (לדוגמה, אור, מתג, חיישן וכו').
  • שם המכשיר: מומלץ לתת למכשיר שם ידידותי למשתמש.
  • Discriminator: מספר של 12 ביט שמשמש להבחנה בין כמה פרסומות למכשירים שאפשר להזמין תמורתם. (ברירת המחדל: 3840).
  • יציאה אחת (Matter): יציאה ל-Matter שירותי הזמנה ותקשורת דרך רשתות IP. תקן Matter משתמש ביציאת TCP/UDP כברירת מחדל, אבל אפשר להגדיר את המכשיר הווירטואלי להשתמש ביציאה אחרת, כל עוד אין שירות אחר שמשתמש בו.
  • מזהה ספק: בשלב הזה יש תמיכה רק במזהה ספק הבדיקה 0xFFF1.
  • מזהה מוצר: בשלב הזה יש תמיכה רק במזהי מוצרים לבדיקה 0x8000 עד 0x801F.

מסך תצורת מכשיר וירטואלי

הגדרה של חומת האש

אם פועלת חומת אש במחשב, צריך לכבות אותו או לאפשר חיבורי TCP/UDP נכנסים ביציאת Matter.

כדי להציג את הכללים הפעילים הנוכחיים של netfilter לחומת האש, מריצים את הקוד:

sudo iptables -L -n

הערה: אם משתמשים ב-ufw, אפשר להשבית אותו באמצעות:

sudo ufw disable
אפשר גם להפעיל אותו מחדש באמצעות:
sudo ufw enable

הפעלת המכשיר

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

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

בכל המכשירים הווירטואליים יש את אמצעי הבקרה הבאים:

  • QRCode: מציג את קוד ה-QR שמשמש להזמנה.
  • הפעלה מחדש: הפעלה מחדש של המכשיר הווירטואלי. המכשיר ינותק מהרשת לזמן קצר.
  • איפוס: איפוס המכשיר הנוכחי להגדרות המקוריות ומחיקה של כל המצבים, כולל הפעלה, מצב הפקדים הנוכחי וכו'
  • מחיקה: המכשיר משמיד את המכשיר וחוזר למסך יצירת מכשיר.

מסך
שליטה במכשירים וירטואליים

עמלה של המכשיר

אפשר לקבל עמלה על המכשיר מיד לאחר יצירתו.

יש כמה דרישות מוקדמות להזמנת המכשיר:

  • צריך להיות לך פרויקט ב-Google Home Developer Console. הפרויקט צריך להכיל שילוב של Matter עם שילוב VID/PID שזהה לזה שבו השתמשתם כשהגדרתם את המכשיר הווירטואלי. לפרטים נוספים, ראו מדריך ליצירת פרויקטים.

  • צריך להיות לכם מכשיר Google Nest Hub שתומך ב-Matter

  • טלפון Android עם Android מגרסה 8.1 ואילך צריך להיות מותקן עם GHA.

  • טלפון Android צריך להיות מחובר לאותה רשת Wi-Fi שאליה מחובר הרכזת.

  • המחשב המארח צריך להיות מחובר לרשת ה-Wi-Fi.

כדי להזמין את המכשיר באמצעות GHA, לוחצים על QRCode ומציגים את קוד ה-QR של המכשיר. לאחר מכן פועלים לפי ההוראות בקטע התאמה של מכשיר Matter, שמסבירות איך לצרף מכשיר Matter באמצעות GHA. אפשר גם להפעיל את המכשיר באמצעות Google Home Sample App for Matter.

עיינו בMatter מדיניות העבודה שלנו כדי להבין איך Matter עובד הנציבות.

שליטה במכשיר

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

  • לשלוט במכשיר דרך GHA או Assistant תוך מעקב אחר שינויים במצב במכשיר הווירטואלי, או
  • לשלוט במכשיר באמצעות Sample App for Matter ולעקוב אחרי שינויי מצב במכשיר הווירטואלי,או
  • אפשר לשלוט במצב המכשיר דרך MVD עצמו, תוך כדי מעקב אחר השינויים במצבים ב-GHA או ב-Assistant.

בדיקה באמצעות המכשיר

כדי לבצע בדיקה באמצעות Assistant, מומלץ להשתמש בסימולטור דיבור כמו Google Home Extension for VS Code או Google Home Plugin for Android Studio.

הצגת פרטי המכשיר

במסך פרטי המכשיר מוצג מידע מפורט על המכשיר:

  • שם: השם הידידותי שניתן למכשיר.
  • סוג מכשיר: סוג המכשיר שנבחר.
  • דיסקרימינטור: הדיסקרימינטור הנוכחי של המכשיר.
  • מזהה ספק: מזהה הספק הנוכחי של המכשיר.
  • מזהה מוצר: מזהה המוצר הנוכחי של המכשיר.
  • יציאת RPC: יציאת ה-RPC שהמכשיר מתקשר עם הבקרים (GUI).
  • יציאה Matter: היציאה שבה משתמש המכשיר הנוכחי כדי לתקשר באמצעות רשת IP.
  • קוד גישה: קוד האימות שמשמש להפעלת המכשיר דרך הרשת.
  • Configuration Folder: התיקייה שבה נשמרים ההגדרות האישיות של המכשיר הווירטואלי.
  • מידע על עמלה: הצגת הבדים שהמכשיר הצטרף אליהם ומזהה הצומת של המכשיר במארג

צפייה ביומני המכשיר

אם הפעלת את MVD מהטרמינל, פלט היומן יופיע ב-stdout. אתם יכולים להציג את יומני המכשיר גם בכרטיסייה יומני המכשיר.

עצירת המכשיר

כדי לעצור ולהשמיד את המכשיר, לוחצים על מחיקה.

לסגור את האפליקציה

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

עזרה

כדי לקבל עזרה בקשר ל-MVD, לדווח על באג או לבקש תכונה חדשה, פנו לאיש הקשר שלכם בתמיכה של Google.

לחיצה על לחצן העזרה בפינה השמאלית העליונה של החלון תעביר אותך לדף זה.

דיווח על באג

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

שליחת משוב

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

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

שליחת משוב