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

Matter ; Home APIs

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

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

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

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

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

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

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

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

טבלה: Matter סוגי מכשירים שנתמכים ב-MVD
Matter סוג המכשיר אשכולות של אפליקציות סוג המערכת לבית חכם
מטהר אוויר 0x0202
0x0006
0x0071
מטהר אוויר
חיישן איכות האוויר 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Sensor
נגן וידאו בסיסי 0x0006
0x0506
0x0509
טלוויזיה
אור עם טמפרטורת צבע 0x0300
0x0008
0x0006
בהיר
חיישן מגנטי ‫0x0045
Sensor
מנורה עם אפשרות עמעום 0x0008
0x0006
בהיר
Dimmable Plug-in Unit 0x0006
0x0008
Outlet
מדיח כלים 0x0006
0x0059
0x0056
0x0060
מדיח כלים
מנעול דלת 0x0101
נעילה
Extended Color Light 0x0300
0x0008
0x0006
בהיר
מאוורר 0x0202
0x0006
Fan
חיישן זרימה 0x0404
Sensor
Generic Switch 0x003b
החלפה
חיישן לחות 0x0405
Sensor
מכונת כביסה 0x0006
0x0051
0x0053
0x0056
0x0060
Washer
חיישן אור 0x0400
Sensor
חיישן נוכחות 0x0406
Sensor
הפעלה/השבתה של התאורה 0x0008
0x0006
בהיר
מתג הפעלה/כיבוי של תאורה 0x0006
החלפה
יחידת פלאג-אין להפעלה/השבתה 0x0008
0x0006
Outlet
חיישן לחץ 0x0403
Sensor
משאבה 0x0006
0x0200
0x0402
0x0403
0x0404
Pump
שואב אבק רובוטי 0x0054
0x0055
0x0061
שואב אבק
מזגן לחדר 0x0006
0x0201
0x0202
מזגן
התראה של גלאי עשן או גלאי פחמן חד-חמצני 0x005C
גלאי CO2
גלאי עשן
חיישן טמפרטורה 0x0402
Sensor
תרמוסטט 0x0201
Thermostat
וילון או תריס 0x0102
Blinds

התקנת MVD

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

Linux

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

הורדת קובץ החתימה בפורמט ASCII עם הצפנה (.asc)

ואז מריצים את הפקודה 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

הגדרת המכשיר

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

  • סוג המכשיר: בוחרים את סוג המכשיר (לדוגמה, Light, Switch, Sensor וכו').
  • שם המכשיר: נותנים למכשיר שם ידידותי למשתמש.
  • דיסקרימינטור: מספר בן 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. עוברים לתפריט  Apple ובוחרים באפשרות הגדרות המערכת.
  2. בסרגל הצד, לוחצים על רשת.
  3. לוחצים על Firewall.
  4. מעבירים את המתג של חומת האש למצב מושבת.

הפעלת המכשיר

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

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

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

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

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

מאפיינים ספציפיים ליצרן

מאפיינים ספציפיים ליצרן (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 Extension for VS Code או Google Home Plugin for Android Studio.

צפייה בפרטי המכשיר

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

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

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

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

הפסקת השימוש במכשיר

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

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

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

עזרה

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

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

דיווח על באג

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

שליחת משוב

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

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

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

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