מכשירים וירטואליים של 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. ב-codelab הזה, בונים סוג יחיד של נורה חכמה למכשיר וירטואלי. לעומת זאת, MVD מכיל מספר מכשירים וירטואליים שונים שנוצרו מראש, וכולל ממשק משתמש משולב להרצה ולשליטה שלהם.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
אמולציה של מכשיר בתקן Matter | |||
שליטה במכשיר אמולציה של תקן Matter | |||
נדרש מאמץ פיתוח | |||
הורדה | פחות מ-100MB | 9 GB | 20 GB |
מכשירים נתמכים
MVD תומך בסוגי המכשירים הבאים של Matter:
סוג מכשיר אחד (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 |
Acs |
גלאי עשן ופחמן חד-חמצני |
0x005C |
עשן |
גלאי עשן ופחמן חד-חמצני |
0x005C |
עשן |
חיישן טמפרטורה |
0x0402 |
חיישן |
תרמוסטט |
0x0201 |
תרמוסטט |
ציפוי חלונות |
0x0102 |
תריסים |
התקנת MVD
MVD פועל במכונות עם מעבד x86 בגרסת 64 ביט שמריצים את Debian (11 ואילך), Ubuntu (20.04 ואילך) או macOS.
Linux
מורידים את חבילת MVD Debian (.deb)
מורידים את קובץ החתימה מסוג Armored-ASCII (.asc)
לאחר מכן מריצים את הפקודה dpkg
כדי להתקין את חבילת Debian (.deb) MVD:
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
הורדת קובץ ה-dmg של MVD (macOS x86)
הורדת קובץ ה-dmg של MVD (ARM64 M1)
לאחר מכן לוחצים לחיצה כפולה על הקובץ dmg
כדי לפתוח את חלון ההתקנה.
כדי להשלים את ההתקנה, לוחצים על הסמל mvd
וגוררים אותו לתיקייה Applications
:
![התקנת macOS](https://developers.home.google.com/static/tools/images/matter-virtual-device-macos-install.png?hl=he)
בדיקת השימוש ביציאה
מודול הבקר ב-MVD משתמש ביציאת TCP 33,000 כדי לבצע קריאות 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: יציאה להזמנה של Matter ותקשורת באמצעות רשתות IP. תקן Matter משתמש ביציאה 5540 של TCP/UDP כברירת מחדל, אבל אפשר להגדיר למכשיר הווירטואלי להשתמש ביציאה אחרת כל עוד אין שירות אחר שמשתמש בה.
- מזהה ספק: יש תמיכה רק במזהה הספק
0xFFF1
. - מזהה מוצר: יש תמיכה רק במזהי מוצרים לבדיקה
0x8000
עד0x801F
.
הגדרה של חומת האש
Linux
אם במחשב שלכם פועלת חומת אש, עליכם לכבות אותה או לאפשר חיבורי TCP/UDP נכנסים ביציאת Matter.
כדי לצפות בכללי חומת האש הפעילים של netfilter, מריצים את:
sudo iptables -L -n
אם משתמשים ב-'ufw', אפשר להשבית אותו באמצעות:
sudo ufw disable
ואפשר להפעיל אותה מחדש באמצעות:
sudo ufw enable
macOS
כדי להגדיר או להשבית את חומת האש ב-macOS:
- נכנסים לתפריט 棿 Apple ובוחרים באפשרות System Settings (הגדרות המערכת).
- ברשימת סרגלי הצד, לוחצים על רשת.
- לוחצים על חומת אש.
- מעבירים את המתג של חומת האש למצב כבוי.
הפעלת המכשיר
לאחר הגדרת המכשיר, לוחצים על יצירת מכשיר. לאחר יצירת המכשיר, מופיע המסך 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 ל-VS Code או פלאגין של Google Home ל-Android Studio.
צפייה בפרטי המכשיר
במסך פרטי המכשיר מוצג מידע מפורט על המכשיר:
- שם: השם הידידותי שניתן למכשיר.
- סוג המכשיר: סוג המכשיר שנבחר.
- Discriminator: הדיסקרימינטור הנוכחי של המכשיר.
- מזהה ספק: המזהה של ספק המכשיר הנוכחי.
- מזהה מוצר: מזהה המוצר הנוכחי של המכשיר.
- יציאת RPC: יציאת ה-RPC שהמכשיר מתקשר עם בקרים (GUI).
- יציאת Matter: היציאה שבה משתמש המכשיר הנוכחי לתקשורת דרך רשת IP.
- קוד גישה: קוד האימות המשמש להזמנת המכשיר דרך הרשת.
- Configuration Folder (תיקיית ההגדרה): התיקייה שבה מאוחסן המכשיר הווירטואלי.
- Commission Information: מציג את הבדים שאליהם המכשיר צורף ואת מזהה הצומת של המכשיר בבד.
צפייה ביומני המכשיר
אם הפעלתם את MVD מהטרמינל, פלט היומן יופיע ב-stdout
.
אפשר גם לצפות ביומני המכשיר בכרטיסייה יומני המכשיר.
עצירת המכשיר
כדי לעצור ולהשמיד את המכשיר, לוחצים על מחיקה.
סגירת האפליקציה
סגירת חלון הבקרה משמידת את המכשיר ומסיימת את האפליקציה MVD. אם הפעלתם את האפליקציה דרך הטרמינל, תוכלו לסגור אותה גם על ידי הקלדת Ctrl-C בטרמינל.
עזרה
כדי לדווח על באג או לבקש להוסיף פיצ'ר חדש בקשר ל-MVD, תוכלו לפנות לאיש הקשר בתמיכה של Google.
לחיצה על לחצן העזרה
בפינה השמאלית העליונה של החלון תעביר אתכם לדף הזה.דיווח על באג
אם אתם סבורים שמצאתם פגם ב-MVD, תוכלו לדווח על באג בלחיצה על הלחצן 'בעיה' בפינה השמאלית העליונה של החלון.
שליחת משוב
כדי לספר מה דעתך על חוויית השימוש בכלי MVD או איך נוכל לשפר את חוויית השימוש שלך בכלי, זה המקום למלא את טופס המשוב שלנו.
אפשר להפעיל את הטופס מלחצן המשוב
בפינה השמאלית העליונה של החלון, או בלחיצה על הלחצן שלמטה.