מכשירים וירטואליים של 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. כאן אתם בונים סוג יחיד של מכשיר וירטואלי – נורה חכמה. לחשבון של הניגודיות, יש ב-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 |
Ac |
גלאי עשן ופחמן חד-חמצני |
0x005C |
עשן |
חיישן טמפרטורה |
0x0402 |
חיישן |
תרמוסטט |
0x0201 |
תרמוסטט |
ציפוי חלונות |
0x0102 |
תריסים |
התקנת MVD
האפליקציה MVD פועלת במכונות עם מעבדי x86 בגרסת 64 ביט שמריצים את 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)
הורדת קובץ ה-dmg של MVD (ARM64 M1)
לאחר מכן לוחצים לחיצה כפולה על הקובץ dmg
כדי לפתוח את חלון ההתקנה.
כדי להשלים את ההתקנה, צריך לבחור את הסמל mvd
ולגרור אותו כדי
התיקייה Applications
:
בדיקת השימוש ביציאה
מודול הבקר ב-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 שתומך ב- עניין
נדרש טלפון Android עם מערכת הפעלה Android מגרסה 8.1 ואילך, עם GHA הותקנה.
טלפון Android חייב להיות מחובר לאותה רשת Wi-Fi שאליה מחובר הרכזת.
המכשיר המארח חייב להיות מחובר לרשת ה-Wi-Fi.
כדי להזמין את המכשיר באמצעות GHA, צריך ללחוץ על QRCode. להציג את קוד ה-QR של המכשיר, ואז לפעול לפי ההוראות התאמה של Matter מכשיר איזה להסביר איך לצרף מכשיר Matter באמצעות GHA אפשר גם להזמין את המכשיר באמצעות Google Home Sample App for Matter
אפשר לעיין בMatter Primer עד כאן מוסבר איך העמלה של Matter עובדת.
שליטה במכשיר
אחרי שמפעילים מכשיר וירטואלי, אפשר לשלוט בו באמצעות אפליקציית Google Home או Google Assistant באמצעות הקול. אתם יכולים:
- אפשר לשלוט במכשיר דרך GHA או Assistant בזמן מעקב אחר שינויים במצב מופעל במכשיר הווירטואלי,
- אפשר לשלוט במכשיר באמצעות Sample App for Matter בזמן מעקב אחר המצב במכשיר הווירטואלי,או
- שליטה במצב המכשיר דרך MVD עצמו בזמן מעקב אחרי שינויים במצב של GHA או Assistant.
בדיקה באמצעות המכשיר
כדי לבדוק עם Assistant, מומלץ להשתמש בביטוי סימולטור כמו תוסף Google Home ל-VS Code או הפלאגין של Google Home ל-Android Studio.
צפייה בפרטי המכשיר
במסך פרטי המכשיר מוצג מידע מפורט על המכשיר:
- שם: השם הידידותי שניתן למכשיר.
- סוג המכשיר: סוג המכשיר שנבחר.
- Discriminator: הדיסקרימינטור הנוכחי של המכשיר.
- Vendor ID: מזהה הספק הנוכחי של המכשיר.
- מזהה מוצר: מזהה המוצר הנוכחי של המכשיר.
- יציאת RPC: יציאת ה-RPC שהמכשיר מתקשר עם בקרים (GUI).
- יציאה אחת (Matter): היציאה שבה משתמש המכשיר הנוכחי כדי תקשורת דרך רשת IP.
- קוד גישה: קוד האימות המשמש להזמנת המכשיר דרך הרשת.
- תיקיית ההגדרות: התיקייה שבה המכשיר הווירטואלי שומר את ההגדרות.
- מידע על העמלות: מוצגים הבדים שאליהם המכשיר הצטרף מזהה הצומת של המכשיר בבד.
צפייה ביומני המכשיר
אם הפעלתם את MVD מהטרמינל, פלט היומן יופיע ב-stdout
.
אפשר גם לצפות ביומני המכשיר בכרטיסייה יומני המכשיר.
עצירת המכשיר
כדי להפסיק את המכשיר ולהשמיד אותו, לוחצים על Delete.
סגירת האפליקציה
סגירת חלון הבקרה משמידת את המכשיר ומבטלת את אפליקציה: MVD. אם הפעלתם מהטרמינל, תוכלו סגרו את האפליקציה גם על ידי הקלדת Ctrl-C במסוף.
עזרה
כדי לקבל עזרה בנושא MVD, לדווח על באג או לבקש תכונה חדשה, תוכלו לפנות לנציג התמיכה של Google.
לחיצה על לחצן העזרה
הפינה השמאלית העליונה של החלון תעביר אותך לדף הזה.דיווח על באג
אם לדעתך מצאת פגם ב-MVD, ייתכן לדווח על באג על ידי לחיצה על הבעיה בפינה השמאלית העליונה של החלון.
שליחת משוב
כדי לספר מה דעתך על MVD או על החוויה שלך אנחנו יכולים לשפר את החוויה שלך עם הכלי, למלא את טופס המשוב שלנו.
אפשר להפעיל את הטופס מהמשוב הלחצן
ב בפינה השמאלית העליונה של החלון, או על ידי לחיצה על הלחצן שלמטה.