מכשירים וירטואליים של 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® עם צריכת אנרגיה נמוכה (BLE) או על Thread® כדי להצטרף ל-Matter fabric. במקום זאת, הוא משתמש בחיבור ה-Wi-Fi הקיים של המכונה המארחת עם Linux או macOS להפעלה.
בהשוואה לכלים אחרים
ההבדל בין MVD לבין Virtual Device Controller (VDC) הוא ש-MVD הוא פתרון עצמאי שמשלב מכשיר וירטואלי עם ממשק משתמש לצורך בקרה עליו. לעומת זאת, השדה 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 |
Sensor |
תאורה עם אפשרות עמעום |
0x0008 0x0006 |
קל |
מנעול דלת |
0x0101 |
נעילה |
Extended Color Light |
0x0300 0x0008 0x0006 |
קל |
מאוורר |
0x0202 0x0006 |
Fan |
חיישן זרימה |
0x0404 |
Sensor |
Generic Switch |
0x003b |
החלפה |
חיישן לחות |
0x0405 |
Sensor |
חיישן אור |
0x0400 |
Sensor |
חיישן נוכחות |
0x0406 |
Sensor |
תאורת הפעלה/השבתה |
0x0008 0x0006 |
קל |
מתג תאורה להפעלה/כיבוי |
0x0006 |
החלפה |
יחידת פלאג-אין להפעלה/כיבוי |
0x0008 0x0006 |
Outlet |
חיישן לחץ |
0x0403 |
Sensor |
משאבה |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Water-Pump |
שואב אבק רובוטי |
0x0054 0x0055 0x0061 |
Vacuum |
מזגן לחדר |
0x0006 0x0201 0x0202 |
Ac |
גלאי עשן ופחמן חד-חמצני |
0x005C |
עשן |
חיישן טמפרטורה |
0x0402 |
Sensor |
תרמוסטט |
0x0201 |
תרמוסטט |
סוככים ווילונות |
0x0102 |
תריסים |
התקנת MVD
אפשר להריץ את MVD במכונות עם מעבד x86 64 ביט שפועלות עם Debian (11 ואילך), Ubuntu (20.04 ואילך) או macOS.
Linux
הורדת חבילת Debian (.deb) של MVD
מורידים את קובץ החתימה המאובטח ב-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
:
בדיקת השימוש ביציאות
מודול הבקר ב-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: יציאה להפעלה של 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:
- עוברים לתפריט Apple ובוחרים באפשרות הגדרות המערכת.
- לוחצים על רשת ברשימה שבסרגל הצד.
- לוחצים על Firewall.
- מעבירים את המתג של חומת אש למצב מושבת.
הפעלת המכשיר
אחרי שמגדירים את המכשיר, לוחצים על יצירת מכשיר. אחרי יצירת המכשיר, יופיע המסך Controller. בהתאם לסוג המכשיר שבחרתם, יכול להיות שיוצגו לכם אחד או יותר מהפקדים הבאים:
- הפעלה/כיבוי: נפוץ ברוב המכשירים.
- רמה: לדוגמה, יכול להיות לנורה פס הזזה לרמת הבהירות.
- צבע: לדוגמה, אפשר להשתמש בפקטור הזה כדי לשלוט בנורת צבע.
- תפוסה: חיישן התפוסה מציע את אמצעי הבקרה הזה כדי לדמות את המצב של תפוסה או לא תפוסה.
בכל המכשירים הווירטואליים יש את אמצעי הבקרה הבאים:
- QRCode: הצגת קוד ה-QR שמשמש להפעלה.
- Reboot: הפעלה מחדש של המכשיר הווירטואלי. המכשיר מנותק מהרשת לזמן קצר.
- איפוס: איפוס המכשיר הנוכחי להגדרות המקוריות וניקוי כל המצבים, כולל הפעלה, מצב אמצעי הבקרה הנוכחיים וכו'
- מחיקה: המכשיר נהרס והמסך יצירת מכשיר מופיע.
איך מפעילים את המכשיר
אפשר לקבל על המכשיר עמלות ברגע שהוא נוצר.
יש כמה תנאים מקדימים להפעלת המכשיר:
צריך להיות לכם פרויקט ב-Google Home Developer Console. הפרויקט הזה צריך לכלול שילוב של Matter עם אותו שילוב VID/PID שבו השתמשתם בהגדרת המכשיר הווירטואלי. פרטים נוספים זמינים במדריך ליצירת פרויקטים.
צריך טלפון Android עם Android מגרסה 8.1 ואילך, שמותקנת בו אפליקציית GHA.
טלפון Android חייב להיות מחובר לאותה רשת Wi-Fi שאליה מחובר הצומת.
המכונה המארחת צריכה להיות מחוברת לרשת ה-Wi-Fi.
כדי להפעיל את המכשיר באמצעות GHA, לוחצים על QRCode כדי להציג את קוד ה-QR של המכשיר, ולאחר מכן פועלים לפי ההוראות במאמר התאמת מכשיר Matter שמוסבר בהן איך להפעיל מכשיר Matter באמצעות GHA. אפשר גם להפעיל את המכשיר באמצעות Google Home Sample App for Matter.
מומלץ לעיין בMatter מדריך כדי להבין איך פועלת Matter Commissioning.
שליטה במכשיר
אחרי שמפעילים מכשיר וירטואלי, אפשר לשלוט בו באמצעות אפליקציית 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: דיסקרימינטור המכשיר הנוכחי.
- Vendor ID: מזהה הספק הנוכחי של המכשיר.
- מזהה מוצר: מזהה המוצר הנוכחי של המכשיר.
- יציאת RPC: יציאת ה-RPC שבאמצעותה המכשיר מתקשר עם בקרי GUI.
- יציאת Matter: היציאה שבה המכשיר הנוכחי משתמש כדי לתקשר דרך רשת IP.
- קוד גישה: מספר ה-PIN שמשמש להפעלת המכשיר דרך הרשת.
- Configuration Folder: התיקייה שבה המכשיר הווירטואלי שומר את ההגדרות.
- Commission Information: כאן מוצגים הרשתות שהמכשיר הצטרף אליהן ומזהה הצומת של המכשיר ברשת.
צפייה ביומני המכשיר
אם הפעלתם את MVD מהטרמינל, פלט היומן יופיע ב-stdout
.
אפשר גם להציג את יומני המכשיר בכרטיסייה יומני המכשיר.
עצירת המכשיר
כדי להפסיק את המכשיר ולהשמיד אותו, לוחצים על מחיקה.
סגירת האפליקציה
סגירת חלון הבקרה גורמת להשמדת המכשיר ולסיום האפליקציה MVD. אם הפעלתם את האפליקציה מהטרמינל, תוכלו לסגור אותה גם על ידי הקלדה על Ctrl-C בטרמינל.
עזרה
כדי לקבל עזרה בנושא MVD, לדווח על באג או לבקש תכונה חדשה, תוכלו לפנות לנציג התמיכה של Google.
לחיצה על לחצן העזרה
בפינה השמאלית העליונה של החלון תוביל אתכם לדף הזה.דיווח על באג
אם מצאתם באג ב-MVD, תוכלו לדווח עליו בלחיצה על הלחצן 'דיווח על בעיה' בפינה השמאלית העליונה של החלון.
שליחת משוב
כדי לשלוח לנו משוב על מה שאהבתם ב-MVD או על דרכים שבהן נוכל לשפר את חוויית השימוש בכלי, תוכלו למלא את טופס המשוב שלנו.
אפשר לפתוח את הטופס באמצעות לחצן המשוב
בפינה השמאלית העליונה של החלון, או ללחוץ על הלחצן שבהמשך.