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

Matter SDK של המכשיר

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

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

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

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

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

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

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

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

ב-MVD אפשר להשתמש ב-Matter סוגי המכשירים הבאים:

טבלה: Matter סוגי מכשירים נתמכים עבור MVD
סוג מכשיר אחד (Matter) אשכולות יישומים סוג המערכת האקולוגית הביתית
נגן וידאו בסיסי 0x0006
0x0506
0x0509
טלוויזיה
תאורה לטמפרטורה של צבע 0x0300
0x0008
0x0006
קל
חיישן מגע 0x0045
חיישן
עמעום התאורה 0x0008
0x0006
קל
מנעול דלת 0x0101
נעילה
תאורת צבע מורחבת 0x0300
0x0008
0x0006
קל
מאוורר 0x0202
0x0006
מעריץ
חיישן זרימה 0x0404
חיישן
מתג גנרי 0x003b
החלפה
חיישן לחות
0x0405
חיישן
חיישן תאורה 0x0400
חיישן
חיישן נוכחות 0x0406
חיישן
מנורה כבויה/פועלת 0x0008
0x0006
קל
מתג תאורה הפעלה/כיבוי 0x0006
החלפה
הפעלה/כיבוי של יחידת הטעינה 0x0008
0x0006
שקע
חיישן לחץ 0x0403
חיישן
משאבה 0x0006
0x0200
0x0402
0x0403
0x0404
לא רלוונטי
שואב אבק רובוטי 0x0054
0x0055
0x0061
שואב אבק
מזגן בחדר 0x0006
0x0201
0x0202
AC
גלאי עשן ופחמן חד-חמצני 0x005C
עשן
חיישן טמפרטורה 0x0402
חיישן
תרמוסטט 0x0201
תרמוסטט
כיסוי חלונות 0x0102
תריסים

התקנת MVD

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

Linux

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

מורידים את קובץ החתימה Armored-ASCII (.asc)

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

הורדת קובץ dmg של MVD (macOS x86)

הורדת הקובץ MVD (ARM64 M1) dmg

לאחר מכן, לוחצים לחיצה כפולה על הקובץ dmg כדי לפתוח את חלון ההתקנה.

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

התקנה של macOS

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

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

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

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

הפעלת MVD

Linux

ב-Linux, מריצים את MVD מתיקיית האפליקציות או מהמסוף:

mvd

macOS

ב-macOS, משתמשים ב-Launchpad כדי לפתוח את MVD או מריצים את MVD מהמסוף:

cd /Applications
open mvd.app

הגדרת המכשיר

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

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

מסך ההגדרות האישיות
של המכשיר הווירטואלי

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

Linux

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

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

sudo iptables -L -n

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

sudo ufw disable

אפשר להפעיל אותה מחדש באמצעות:

sudo ufw enable

macOS

כדי להגדיר או להשבית את חומת האש ב-macOS:

  1. עוברים לתפריט n n Apple ובוחרים באפשרות System Settings (הגדרות המערכת).
  2. לוחצים על רשת ברשימת סרגלי הצד.
  3. לוחצים על חומת אש.
  4. מעבירים את המתג של חומת אש למצב כבוי.

הפעלת המכשיר

לאחר הגדרת המכשיר, לוחצים על יצירת מכשיר. כשיוצרים את המכשיר, מופיע המסך 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.

ב-Primer של 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.

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

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

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

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

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

עצירת המכשיר

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

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

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

עזרה

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

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

דיווח על באג

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

שליחת משוב

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

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

שליחת משוב