دستگاه مجازی Matter

دستگاه‌های مجازی Matter برای توسعه و آزمایش راه‌حل‌های Matter مفید هستند و می‌توانند بااستفاده از Google Home app (GHA) راه‌اندازی شوند و درست مثل دستگاه‌های فیزیکی Matter بااستفاده از GHA و Google Assistant کنترل شوند.

برای توسعه‌دهندگان برنامه و دیگر افرادی که نیاز دارند دستگاه مجازی Matter را آزمایش یا شبیه‌سازی کنند اما منابع لازم برای ساختن دستگاه فیزیکی یا مجازی Matter خودشان را ندارند، Google Matter Virtual Device (MVD) را ارائه می‌دهد. MVD ابزاری سبک و مستقل برای رایانه Linux یا macOS است که انواع مختلف دستگاه‌های مجازی Matter را شبیه‌سازی می‌کند و یک میانای کاربر گرافیکی برای کنترل و نمایش وضعیت‌های دستگاه مجازی Matter ارائه می‌دهد.

برخلاف دستگاه فیزیکی Matter، MVD برای پیوستن به ساختار Matter به ‫Bluetooth®‎ کم‌مصرف (BLE) یا Thread® متکی نیست. درعوض، برای آماده‌سازی از اتصال شبکه 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
Outlet
ماشین ظرف‌شویی 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
Outlet
حسگر فشار 0x0403
حسگر
پمپ 0x0006
0x0200
0x0402
0x0403
0x0404
پمپ
جاروبرقی رباتیک 0x0054
0x0055
0x0061
جاروبرقی
دستگاه تهویه مطبوع اتاق 0x0006
0x0201
0x0202
دستگاه تهویه مطبوع
هشدار دود و مونوکسید کربن 0x005C
آشکارساز منوکسید کربن
آشکارساز دود
حسگر دما 0x0402
حسگر
دماپا 0x0201
دماپا
پوشش پنجره 0x0102
کرکره

نصب MVD

‫MVD در ماشین‌های پردازنده x86‏ ۶۴ بیتی که Debian (نسخه ۱۳ Trixie یا بالاتر)، Ubuntu (نسخه ۲۰.۰۴ Noble Numbat یا بالاتر)، یا macOS را اجرا می‌کنند اجرا می‌شود.

Linux

بسته MVD Debian ‏ (.deb) را بارگیری کنید

بارگیری فایل امضای armored-ASCII ‏(‎.asc)

سپس dpkg را اجرا کنید تا بسته MVD Debian ‏ (.deb) نصب شود:

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 با دستگاه مجازی استفاده می‌کند، بنابراین اگر این درگاه ازقبل توسط فرایند دیگری در رایانه شما استفاده می‌شود، حتماً آن را آزاد کنید.

برای دیدن اینکه آیا فرایندی از درگاه ۳۳۰۰۰ استفاده می‌کند یا نه:

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

پیکربندی دستگاه

صفحه اصلی پس‌از راه‌اندازی ظاهر می‌شود و به شما امکان می‌دهد دستگاه مجازی را پیکربندی کنید:

  • نوع دستگاه: نوع دستگاه را انتخاب کنید (برای مثال، «چراغ»، «کلید»، «حسگر»، و غیره).
  • نام دستگاه: نامی کاربرپسند برای دستگاه انتخاب کنید.
  • جداساز: عدد ۱۲ بیتی که برای تشخیص بین چندین تبلیغات دستگاه قابل‌کارمزد استفاده می‌شود. (پیش‌فرض: 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:

  1. به منو  Apple بروید و System Settings (تنظیمات سیستم) را انتخاب کنید.
  2. در فهرست نوار کناری، روی شبکه کلیک کنید.
  3. روی دیوار آتش کلیک کنید.
  4. کلید دیوار آتش را به وضعیت خاموش تغییر دهید.

اجرای دستگاه

پس‌از پیکربندی دستگاه، روی ایجاد دستگاه کلیک کنید. وقتی دستگاه ایجاد می‌شود، صفحه کنترل‌کننده نمایش داده می‌شود. بسته به نوع دستگاهی که انتخاب کرده‌اید، ممکن است یک یا چند مورد از کنترل‌های زیر را ببینید:

  • روشن/خاموش: در اکثر دستگاه‌ها مشترک است.
  • سطح: برای مثال، چراغ می‌تواند لغزنده سطح برای تنظیم روشنایی داشته باشد.
  • رنگ: برای مثال، یک چراغ رنگی می‌تواند این کنترل را داشته باشد.
  • اشغال: «حسگر اشغال» این کنترل را برای شبیه‌سازی وضعیت اشغال یا عدم اشغال ارائه می‌دهد.

همه دستگاه‌های مجازی کنترل‌های زیر را دارند:

  • QRCode: رمزینه پاسخ‌سریع مورداستفاده برای راه‌اندازی را نشان می‌دهد.
  • بازراه‌اندازی: دستگاه مجازی را بازراه‌اندازی می‌کند. اتصال دستگاه به‌طور موقت از شبکه قطع می‌شود.
  • بازنشانی: دستگاه فعلی را به تنظیمات کارخانه بازنشانی می‌کند و همه وضعیت‌ها، ازجمله راه‌اندازی، وضعیت کنترل‌های فعلی، و غیره را پاک می‌کند
  • حذف: دستگاه را ازبین می‌برد و به صفحه ایجاد دستگاه برمی‌گردد.

صفحه کنترل دستگاه مجازی

ویژگی‌های مختص سازنده

ویژگی‌های ویژه سازنده (MS) توسط «میاناهای برنامه‌سازی کاربردی خانه» برای Android پشتیبانی می‌شوند و کارکردهای اضافی فراتر از ویژگی‌های استاندارد در Matter ارائه می‌دهند. برای آزمایش دستگاهی با مشخصه MS، MVD به شما امکان می‌دهد با مشخصه‌ها در بخشی به نام خوشه‌های سفارشی تعامل داشته باشید (تصویر بالا را ببینید).

راه‌اندازی دستگاه

دستگاه به‌محض ایجاد شدن قابل‌کارمزد است.

چند پیش‌نیاز برای راه‌اندازی دستگاه وجود دارد:

  • باید پروژه‌ای در Google Home Developer Console داشته باشید. این پروژه باید حاوی یکپارچه‌سازی Matter باشد که ترکیب VID/PID آن با ترکیب مورد استفاده شما در راه‌اندازی دستگاه مجازی یکسان باشد. برای جزئیات، راهنمای ایجاد پروژه را ببینید.

  • باید Google Nest Hub که از Matter پشتیبانی می‌کند داشته باشید

  • باید تلفن Android با سیستم‌عامل Android 8.1 یا بالاتر داشته باشید و GHA نصب شده باشد.

  • تلفن Android باید به همان شبکه Wi-Fi که مرکز کنترل به آن متصل است متصل باشد.

  • دستگاه میزبان باید به شبکه Wi-Fi متصل باشد.

برای راه‌اندازی دستگاه بااستفاده از GHA، روی QRCode کلیک کنید تا رمزینه پاسخ‌سریع دستگاه نمایش داده شود، سپس دستورالعمل‌های جفت کردن دستگاه Matter را دنبال کنید که نحوه آماده‌سازی دستگاه Matter بااستفاده از GHA را توضیح می‌دهد. همچنین می‌توانید دستگاه را بااستفاده از Google Home Sample App for Matter مأمور کنید.

برای آشنایی با نحوه عملکرد Matter سفارش تولید محتوا، Matter راهنمای اولیه ما را ببینید.

کنترل دستگاه

پس‌از مأمور کردن دستگاه مجازی، می‌توانید دستگاه را بااستفاده از برنامه Google Home یا «دستیار Google» ازطریق صدا کنترل کنید. یا می‌توانید:

  • دستگاه را ازطریق GHA یا Assistant کنترل کنید و درعین‌حال تغییرات وضعیت را در دستگاه مجازی پایش کنید، یا
  • دستگاه را بااستفاده از Sample App for Matter کنترل کنید و تغییرات وضعیت را در دستگاه مجازی پایش کنید، یا
  • وضعیت دستگاه را ازطریق خود MVD کنترل کنید و تغییرات وضعیت را در GHA یا Assistant پایش کنید.

آزمایش با دستگاه

برای آزمایش با Assistant، توصیه می‌کنیم از شبیه‌ساز بیان استفاده کنید، مثلاً افزونه Google Home برای VS Code یا افزایه Google Home برای Android Studio.

مشاهده جزئیات دستگاه

صفحه جزئیات دستگاه اطلاعات دقیق دستگاه را نشان می‌دهد:

  • نام: نام مستعاری که به دستگاه داده شده است.
  • نوع دستگاه: نوع دستگاه انتخاب‌شده.
  • جداساز: جداساز دستگاه فعلی.
  • شناسه فروشنده: شناسه فروشنده دستگاه فعلی.
  • شناسه محصول: شناسه محصول دستگاه فعلی.
  • درگاه RPC: درگاه RPC که دستگاه با کنترل‌کننده‌ها (GUI) ارتباط برقرار می‌کند.
  • Matter درگاه: درگاهی که دستگاه فعلی برای برقراری ارتباط ازطریق شبکه IP استفاده می‌کند.
  • کد عبور: پین استفاده‌شده برای آماده‌سازی دستگاه ازطریق شبکه.
  • پوشه پیکربندی: پوشه‌ای که دستگاه مجازی پیکربندی را در آن ذخیره می‌کند.
  • اطلاعات واگذاری: پارچه‌هایی را که دستگاه به آن‌ها پیوسته است و شناسه گره دستگاه در پارچه را نشان می‌دهد.

مشاهده گزارش‌های دستگاه

اگر MVD را از پایانه راه‌اندازی کردید، برونداد گزارش در stdout نشان داده می‌شود. همچنین می‌توانید گزارش‌های دستگاه را در زبانه گزارش‌های دستگاه مشاهده کنید.

متوقف کردن دستگاه

برای متوقف کردن و ازبین بردن دستگاه، روی حذف کلیک کنید.

بستن برنامه

بستن پنجره کنترل باعث ازبین رفتن دستگاه و پایان یافتن برنامه MVD می‌شود. اگر از پایانه راه‌اندازی کرده‌اید، می‌توانید با تایپ کردن Ctrl-C در پایانه، برنامه را نیز ببندید.

دریافت راهنمایی

برای دریافت راهنمایی درباره MVD، گزارش کردن اشکال، یا درخواست ویژگی جدید، با مخاطب پشتیبانی Google خود تماس بگیرید.

با کلیک کردن روی دکمه راهنما در گوشه بالا سمت راست پنجره به این صفحه هدایت می‌شوید.

گزارش اشکال

اگر احساس می‌کنید در MVD نقصی پیدا کرده‌اید، می‌توانید با کلیک کردن روی دکمه «مشکل» در گوشه بالای پنجره، اشکال را گزارش کنید.

ارسال بازخورد

برای ارسال نظراتتان درباره آنچه در MVD دوست دارید یا اینکه چگونه می‌توانیم تجربه شما را با این ابزار بهبود دهیم، «فرم بازخورد» ما را تکمیل کنید.

فرم را می‌توان از دکمه بازخورد در گوشه بالا سمت چپ پنجره، یا با کلیک کردن روی دکمه زیر راه‌اندازی کرد.

بازخوردتان را برای ما ارسال کنید

همچنین می‌توانید با نظرسنجی که هنگام استفاده از MVD در پایین بالا می‌آید بازخورد ارائه دهید.