מכשיר וירטואלי בתקן Matter

מכשירים וירטואליים של 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 וירטואלי נפרד.

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

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

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

טבלה: סוגי המכשירים של Matter שנתמכים ב-MVD
Matter סוג המכשיר אשכולות של אפליקציות סוג המערכת לבית חכם
מטהר אוויר 0x0202
0x0006
0x0071
0x0072
מטהר אוויר
חיישן איכות האוויר 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
חיישן
נגן וידאו בסיסי 0x0006
0x0506
0x0509
טלוויזיה
טמפרטורת צבע בהירה 0x0300
0x0008
0x0006
בהיר
חיישן מגע 0x0045
חיישן
מנורה עם אפשרות עמעום 0x0008
0x0006
בהיר
יחידת חיבור לשקע חשמל עם אפשרות עמעום 0x0006
0x0008
שקע
מדיח כלים 0x0006
0x0059
0x0056
0x0060
מדיח כלים
מנעול דלת 0x0101
נעילה
תאורה עם מגוון צבעים רחב 0x0300
0x0008
0x0006
בהיר
מאוורר 0x0202
0x0006
מאוורר
חיישן זרימה 0x0404
חיישן
מתג גנרי 0x003b
החלפה
חיישן לחות 0x0405
חיישן
מכונת כביסה 0x0006
0x0051
0x0053
0x0056
0x0060
מכונת כביסה
חיישן אור 0x0400
חיישן
חיישן נוכחות 0x0406
חיישן
נורית הפעלה/כיבוי 0x0008
0x0006
בהיר
מתג הפעלה/כיבוי של האור 0x0006
החלפה
יחידת פלאגין להפעלה/כיבוי 0x0008
0x0006
שקע
חיישן לחץ 0x0403
חיישן
משאבה 0x0006
0x0200
0x0402
0x0403
0x0404
משאבה
שואב אבק רובוטי 0x0054
0x0055
0x0061
שואב אבק
מזגן לחדר 0x0006
0x0201
0x0202
מזגן
גלאי עשן ופחמן חד-חמצני 0x005C
גלאי פחמן חד-חמצני
גלאי עשן
חיישן טמפרטורה 0x0402
חיישן
תרמוסטט 0x0201
תרמוסטט
כיסוי לחלון 0x0102
תריסים

התקנת MVD

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

Linux

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

הורדת קובץ החתימה (‎.asc) של armored-ASCII

אחר כך מריצים את הפקודה dpkg כדי להתקין את חבילת Debian ‏(‎.deb) של MVD:

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

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

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

לאחר מכן לוחצים לחיצה כפולה על הקובץ 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

הגדרת המכשיר

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

  • סוג המכשיר: בוחרים את סוג המכשיר (לדוגמה, תאורה, מתג, חיישן וכו').
  • שם המכשיר: נותנים למכשיר שם ידידותי למשתמש.
  • מזהה: מספר של 12 ביט שמשמש להבחנה בין כמה מודעות של מכשירים שניתן להגדיר. (ברירת המחדל: 3840).
  • יציאת Matter: יציאה להפעלה ולתקשורת דרך רשתות IP.Matter כברירת מחדל, 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. עוברים לתפריט  של אפל ובוחרים באפשרות הגדרות המערכת.
  2. ברשימה שבסרגל הצד, לוחצים על רשת.
  3. לוחצים על חומת אש.
  4. מעבירים את המתג של חומת האש למצב מושבת.

הפעלת המכשיר

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

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

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

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

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

תכונות ספציפיות ליצרן

תכונות ספציפיות ליצרן (MS) נתמכות על ידי ממשקי ה-API של Home ל-Android ומספקות פונקציונליות נוספת מעבר לתכונות הרגילות ב-Matter. כדי לבדוק מכשיר עם תכונת MS, אפשר להשתמש ב-MVD כדי לבצע פעולות בתכונות בקטע Custom Clusters (אשכולות בהתאמה אישית) (ראו את התמונה למעלה).

חיבור המכשיר

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

יש כמה דרישות מוקדמות להפעלת המכשיר:

  • צריך להיות לכם פרויקט ב-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 ל-VS Code או פלאגין Google Home ל-Android Studio.

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

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

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

צפייה בקובצי היומן במכשיר

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

עצירת המכשיר

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

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

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

עזרה

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

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

דיווח על באג

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

שליחת משוב

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

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

נשמח לקבל ממך משוב

אתם יכולים גם לשלוח משוב באמצעות הסקר שמופיע בתחתית המסך כשאתם משתמשים ב-MVD.