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

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

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

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

نصب MVD

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

لینوکس

بسته MVD دبیان (.deb) را دانلود کنید

فایل امضای زرهی-ASCII (.asc) را دانلود کنید

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

sudo dpkg -i mvd_1.7.0_amd64.deb

مک‌او‌اس

فایل dmg مربوط به MVD (macOS x86) را دانلود کنید

فایل dmg مربوط به MVD (ARM64 M1) را دانلود کنید

سپس روی فایل dmg دوبار کلیک کنید تا پنجره نصب باز شود.

برای تکمیل نصب، آیکون mvd را انتخاب کرده و به پوشه Applications بکشید:

نصب macOS

بررسی میزان استفاده از پورت

ماژول کنترلر در MVD از پورت TCP 33000 برای برقراری تماس‌های RPC به دستگاه مجازی استفاده می‌کند، بنابراین اگر این پورت از قبل توسط فرآیند دیگری در رایانه شما در حال استفاده است، حتماً آن را آزاد کنید.

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

لینوکس

sudo fuser -v 33000/tcp

مک‌او‌اس

lsof -i:33000

شما می‌توانید هر فرآیندی را که از پورت TCP 33000 استفاده می‌کند، با یک دستور واحد از بین ببرید:

لینوکس

sudo fuser -k 33000/tcp

مک‌او‌اس

lsof -ti:33000 | xargs kill

اجرای MVD

لینوکس

در لینوکس، MVD از پوشه برنامه‌های خود یا از ترمینال اجرا کنید:

mvd

مک‌او‌اس

در macOS، از Launchpad برای باز کردن MVD استفاده کنید یا MVD از ترمینال اجرا کنید:

cd /Applications
open mvd.app

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

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

  • نوع دستگاه : نوع دستگاه را انتخاب کنید (برای مثال، چراغ، کلید، سنسور و غیره).
  • نام دستگاه : یک نام کاربرپسند برای دستگاه انتخاب کنید.
  • متمایزکننده : یک عدد ۱۲ بیتی که برای تشخیص بین چندین تبلیغ دستگاه قابل سفارش استفاده می‌شود. (پیش‌فرض: 3840 ).
  • پورت Matter : پورتی برای راه‌اندازی Matter و ارتباط از طریق شبکه‌های IP. Matter به طور پیش‌فرض از پورت TCP/UDP 5540 استفاده می‌کند، اما می‌توانید دستگاه مجازی را طوری پیکربندی کنید که از پورت دیگری استفاده کند، البته تا زمانی که هیچ سرویس دیگری از آن استفاده نکند.
  • شناسه فروشنده : فقط شناسه فروشنده آزمایشی 0xFFF1 پشتیبانی می‌شود.
  • شناسه محصول : فقط شناسه‌های محصول آزمایشی 0x8000 تا 0x801F پشتیبانی می‌شوند.

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

فایروال خود را پیکربندی کنید

لینوکس

اگر فایروال روی رایانه‌تان فعال است، آن را خاموش کنید یا به اتصالات TCP/UDP ورودی روی پورت Matter اجازه ورود بدهید.

برای مشاهده قوانین فعال فعلی فایروال netfilter ، دستور زیر را اجرا کنید:

sudo iptables -L -n

اگر از `ufw` استفاده می‌کنید، می‌توانید آن را با دستور زیر غیرفعال کنید:

sudo ufw disable

و می‌توان آن را دوباره با دستور زیر فعال کرد:

sudo ufw enable

مک‌او‌اس

برای پیکربندی یا غیرفعال کردن فایروال در macOS:

  1. به منوی  Apple بروید و System Settings را انتخاب کنید.
  2. در فهرست نوار کناری، روی Network کلیک کنید.
  3. روی فایروال کلیک کنید.
  4. سوئیچ مربوط به فایروال را در حالت خاموش (Off) قرار دهید.

دستگاه خود را اجرا کنید

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

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

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

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

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

ویژگی‌های خاص تولیدکننده

ویژگی‌های مختص تولیدکننده (MS) توسط رابط‌های برنامه‌نویسی کاربردی (API) اندروید پشتیبانی می‌شوند و قابلیت‌های بیشتری فراتر از ویژگی‌های استاندارد در Matter ارائه می‌دهند. برای آزمایش دستگاهی با ویژگی MS، MVD به شما امکان می‌دهد با ویژگی‌های موجود در بخشی به نام خوشه‌های سفارشی (Custom Clusters) تعامل داشته باشید (تصویر بالا را ببینید).

دستگاه خود را راه اندازی کنید

دستگاه به محض ساخت، قابل سفارش است.

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

  • شما باید یک پروژه در Google Home Developer Console داشته باشید. این پروژه باید شامل یک ادغام Matter باشد که همان ترکیب VID/PID را داشته باشد که در راه‌اندازی دستگاه مجازی خود استفاده کرده‌اید. برای جزئیات بیشتر به راهنمای ایجاد پروژه مراجعه کنید.

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

  • شما باید یک گوشی اندروید با سیستم عامل اندروید ۸.۱ یا بالاتر داشته باشید که GHA روی آن نصب شده باشد.

  • گوشی اندروید باید به همان شبکه وای‌فای که هاب به آن متصل است، متصل باشد.

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

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

برای آشنایی با نحوه‌ی عملکرد راه‌اندازی Matter ، به کتاب راهنمای Matter Primer مراجعه کنید.

دستگاه را کنترل کنید

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

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

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

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

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

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

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

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

اگر MVD از ترمینال اجرا کرده باشید، خروجی لاگ در stdout ظاهر می‌شود. همچنین می‌توانید لاگ‌های دستگاه را در برگه Device logs مشاهده کنید.

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

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

برنامه را خاتمه دهید

بستن پنجره کنترل، دستگاه را از بین می‌برد و برنامه MVD را خاتمه می‌دهد. اگر از طریق ترمینال اجرا کرده‌اید، می‌توانید با تایپ کردن Ctrl-C در ترمینال، برنامه را خاتمه دهید.

کمک بگیرید

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

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

ثبت اشکال

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

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

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

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

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

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