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

Matter Device SDK

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

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

برخلاف یک دستگاه فیزیکی Matter ، MVD برای اتصال به پارچه Matter به Bluetooth® Low Energy (BLE) یا Thread® متکی نیست. در عوض، از اتصال شبکه Wi-Fi موجود دستگاه لینوکس میزبان برای راه اندازی استفاده می کند.

در مقایسه با سایر ابزارها

تفاوت MVD با Virtual Device Controller (VDC) در این است که یک راه حل مستقل است که یک دستگاه مجازی را با یک UI برای کنترل آن ترکیب می کند. در مقابل، VDC برای کنترل یک دستگاه Matter مجازی جداگانه استفاده می‌شود، مانند دستگاهی که ما در Matter Virtual Device Development Environment (MVD-DE) می‌سازیم.

ممکن است قبلاً با Codelab MVD-DE کار کرده باشید. در این کد لبه، شما یک نوع واحد مجازی می سازید - یک لامپ هوشمند. در مقابل، MVD شامل چندین دستگاه مجازی مختلف از پیش ساخته شده است و شامل یک رابط کاربری یکپارچه برای اجرا و کنترل آنها است.

جدول: مقایسه ابزار دستگاه Matter مجازی
MVD VDC MVD-DE (Codelab)
یک دستگاه Matter را شبیه سازی کنید
یک دستگاه Matter شبیه سازی شده را کنترل کنید
تلاش برای توسعه مورد نیاز است
دانلود کمتر از 100 مگابایت 9 گیگابایت 20 گیگابایت

دستگاه های پشتیبانی شده

در حال حاضر، MVD از انواع دستگاه های Matter زیر پشتیبانی می کند:

جدول: انواع دستگاه های Matter که برای MVD پشتیبانی می شوند
Matter نوع دستگاه خوشه(های) برنامه نوع اکوسیستم خانگی
نور دمای رنگ 0x0300
0x0008
0x0006
سبک
نور قابل کاهش 0x0008
0x0006
سبک
نور رنگی گسترده 0x0300
0x0008
0x0006
سبک
سنسور اشغال 0x0406
سنسور
چراغ روشن/خاموش 0x0008
0x0006
سبک
واحد پلاگین روشن/خاموش 0x0008
0x0006
پریز

MVD را نصب کنید

MVD روی ماشین‌های پردازنده 64 بیتی x86 اجرا می‌شود که Debian (11 یا بالاتر) یا Ubuntu (20.04 یا بالاتر) دارند.

برای نصب آن:

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

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

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

sudo dpkg -i mvd_1.1.0_amd64.deb

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

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

برای مشاهده اینکه آیا فرآیندی از پورت 33000 استفاده می کند یا خیر:

sudo fuser -v 33000/tcp

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

sudo fuser -k 33000/tcp

MVD را اجرا کنید

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

mvd

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

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

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

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

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

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

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

sudo iptables -L -n

توجه : اگر ufw استفاده می کنید، می توان آن را با:

sudo ufw disable
غیرفعال کرد و با:
sudo ufw enable
می توان آن را دوباره فعال کرد.

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

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

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

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

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

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

دستگاه خود را سفارش دهید

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

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

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

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

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

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

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

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

برای آشنایی با نحوه عملکرد Matter Commissioning به Matter Primer مراجعه کنید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

کمک بگیر

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

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

یک اشکال را ثبت کنید

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

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

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

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

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