الجهاز الافتراضي للمسألة القانونية

المسألة القانونية حزمة تطوير البرامج (SDK) للجهاز

تُعد أجهزة Matter الافتراضية مفيدة لتطوير حلول Matter واختبارها، ويمكن تفويضها باستخدام Google Home app (GHA)، ويمكن التحكّم فيها باستخدام GHA و Google Assistant، تمامًا مثل أجهزة Matter المادية.

تقدّم Google Matter Virtual Device (MVD) لمطوّري التطبيقات وغيرهم من المستخدمين الذين يحتاجون إلى اختبار جهاز Matter افتراضي أو محاكاته، ولكنهم يفتقرون إلى الموارد اللازمة لإنشاء جهاز Matter الفعلي أو الافتراضي. 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).

ربما سبق لك العمل على الدرس التطبيقي حول الترميز الخاص بـ "MVD-DE". في هذا الدرس التطبيقي حول الترميز، يمكنك إنشاء نوع واحد من الأجهزة الافتراضية، وهو مصباح ذكي. وفي المقابل، تحتوي MVD على العديد من الأجهزة الافتراضية المختلفة التي تم إنشاؤها مسبقًا وتتضمّن واجهة مستخدم متكاملة لتشغيلها والتحكّم فيها.

جدول: مقارنة أداة جهاز Matter الافتراضية
MVD VDC MVD-DE (درس تطبيقي حول الترميز)
محاكاة جهاز Matter
التحكّم في جهاز Matter في وضع المحاكاة
جهود التطوير المطلوبة
تنزيل أقل من 100 ميغابايت 9 غيغابايت 20 غيغابايت

الأجهزة المتوافقة

يتوافق "MVD" مع أنواع الأجهزة التي تتضمّن Matter التالية:

الجدول: Matter نوع من الأجهزة المتوافقة مع MVD
نوع الجهاز 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

نزِّل ملف MVD (نظام التشغيل macOS x86) dmg.

نزِّل ملف MVD (ARM64 M1) dmg.

بعد ذلك، انقر مرّتين على ملف dmg لفتح نافذة التثبيت.

لإكمال عملية التثبيت، اختَر رمز mvd واسحبه إلى المجلد Applications:

تثبيت نظام التشغيل macOS

التحقق من استخدام المنفذ

تستخدم وحدة وحدة التحكّم في 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 المنفذ 5540 TCP/UDP تلقائيًا، ولكن يمكنك إعداد الجهاز الافتراضي بحيث يستخدم منفذًا مختلفًا، ما دام لم تكن هناك خدمة أخرى تستخدمه.
  • رقم تعريف المورّد: يُسمح فقط باستخدام رقم تعريف المورّد التجريبي 0xFFF1.
  • معرّف المنتج: لا يُسمح إلا باختبار معرّفات المنتجات من 0x8000 إلى 0x801F.

شاشة إعداد
الجهاز الافتراضي

تهيئة جدار الحماية

Linux

إذا كان لديك جدار حماية قيد التشغيل على جهاز الكمبيوتر، ننصحك بإيقافه أو السماح باتصالات TCP/UDP الواردة على المنفذ Matter.

لعرض قواعد جدار الحماية النشطة الحالية من netfilter، شغِّل:

sudo iptables -L -n

إذا كنت تستخدم `ufw`، يمكن إيقافه عن طريق:

sudo ufw disable

ويمكن إعادة تفعيلها من خلال:

sudo ufw enable

macOS

لضبط جدار الحماية أو إيقافه على نظام التشغيل macOS:

  1. انتقِل إلى قائمة \ Apple واختر إعدادات النظام.
  2. انقر على الشبكة في قائمة الشريط الجانبي.
  3. انقر على Firewall (جدار الحماية).
  4. بدِّل مفتاح جدار الحماية إلى الوضع إيقاف.

تشغيل جهازك

بعد ضبط الجهاز، انقر على إنشاء جهاز. عند إنشاء الجهاز، تظهر شاشة وحدة التحكم. بناءً على نوع الجهاز الذي اخترته، قد يظهر لك عنصر أو أكثر من عناصر التحكّم التالية:

  • تفعيل/إيقاف: شائع على معظم الأجهزة.
  • المستوى: على سبيل المثال، يمكن أن يتضمّن المصباح شريط تمرير لضبط مستوى السطوع.
  • اللون: على سبيل المثال، يمكن أن يتضمّن مصباح الألوان عنصر التحكّم هذا.
  • إشغال المنزل: يوفّر جهاز استشعار تواجد الأفراد في المنزل عنصر التحكّم هذا لمحاكاة حالة تواجد الأفراد في المنزل أو حالة شاغرة فيه.

تتضمّن جميع الأجهزة الافتراضية عناصر التحكّم التالية:

  • QRCode: يعرض رمز الاستجابة السريعة المستخدَم للحصول على العمولة.
  • إعادة التشغيل: يؤدي هذا الإجراء إلى إعادة تشغيل الجهاز الافتراضي. انقطع اتصال الجهاز بالشبكة لفترة وجيزة.
  • إعادة الضبط: يعيد هذا الإجراء ضبط الجهاز الحالي على الإعدادات الأصلية ومحو جميع حالاته، بما في ذلك وضع التكليف وحالة عناصر التحكّم الحالية وما إلى ذلك.
  • حذف: يؤدي هذا الإجراء إلى إتلاف الجهاز والعودة إلى شاشة إنشاء جهاز.

شاشة التحكم في
الجهاز الافتراضي

تشغيل الجهاز

يصبح الجهاز قابلاً للعمولة فور إنشائه.

هناك بعض المتطلبات الأساسية لتشغيل الجهاز:

  • يجب أن يكون لديك مشروع في Google Home Developer Console. يجب أن يتضمّن هذا المشروع عملية دمج Matter تتضمّن مجموعة VID/PID نفسها التي استخدمتها في إعداد جهازك الافتراضي. يمكنك الاطّلاع على دليل إنشاء المشروع للحصول على التفاصيل.

  • يجب أن يكون لديك جهاز Google Nest Hub متوافق مع "المسألة القانونية".

  • يجب أن يكون لديك هاتف Android يعمل بالإصدار 8.1 من نظام التشغيل Android أو إصدار أحدث، مع تثبيت GHA.

  • يجب أن يكون هاتف Android متصلاً بشبكة Wi-Fi نفسها التي يتّصل بها جهاز التحكّم.

  • يجب أن يكون الجهاز المضيف متصلاً بشبكة Wi-Fi.

للحصول على عمولة للجهاز باستخدام GHA، انقر على QRCode لعرض رمز الاستجابة السريعة الخاص بالجهاز، ثم اتّبِع التعليمات الواردة في إقران جهاز Matter الذي يوضّح كيفية إعداد جهاز Matter باستخدام GHA. يمكنك أيضًا الحصول على عمولة من الجهاز باستخدام Google Home Sample App for Matter.

يمكنك الاطّلاع على Matter تطبيق Prime لمعرفة طريقة عمل آلية عمل "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" أو عن كيفية تحسين تجربتك مع الأداة، يُرجى ملء نموذج الملاحظات.

يمكن تشغيل النموذج باستخدام زر "الملاحظات" في أعلى يسار النافذة، أو بالنقر على الزرّ أدناه.

إرسال ملاحظاتك إلينا