تُعدّ أجهزة 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® منخفض الطاقة (BLE) أو Thread® للانضمام إلى شبكة Matter. بدلاً من ذلك، تستخدم هذه الميزة اتصال شبكة Wi-Fi الحالي لجهاز Linux أو macOS المضيف لإجراء عملية الإعداد.
مقارنةً بالأدوات الأخرى
يختلف MVD عن Virtual Device Controller (VDC) في أنّه حلّ مستقل يجمع بين جهاز افتراضي وواجهة مستخدم للتحكّم فيه. في المقابل، يُستخدم VDC للتحكّم في جهاز Matter افتراضي منفصل.
يحتوي MVD على العديد من الأجهزة الافتراضية المختلفة المُعدّة مسبقًا، ويتضمّن واجهة مستخدم مدمجة لتشغيلها والتحكّم فيها.
الأجهزة المعتمدة
يتوافق MVD مع أنواع الأجهزة التالية التي تعمل بنظام التشغيل Matter:
| 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 64 بت التي تعمل بنظام التشغيل Debian
(الإصدار 13 Trixie أو إصدار أحدث) أو Ubuntu (الإصدار 20.04 Noble Numbat أو إصدار أحدث) أو macOS.
Linux
تنزيل حزمة MVD Debian (بتنسيق .deb)
تنزيل ملف التوقيع بتنسيق ASCII المحصَّن (.asc)
بعد ذلك، شغِّل dpkg لتثبيت حزمة MVD
Debian (.deb):
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
تنزيل ملف dmg الخاص بـ MVD (macOS x86)
تنزيل ملف dmg الخاص بـ MVD (ARM64 M1)
بعد ذلك، انقر مرّتين على ملف dmg لفتح نافذة
التثبيت.
لإكمال عملية التثبيت، اختَر رمز mvd واسحبه إلى
مجلد Applications:
التحقّق من استخدام المنفذ
تستخدم وحدة التحكّم في MVD منفذ TCP رقم 33000 لإجراء طلبات RPC إلى الجهاز الافتراضي، لذا إذا كان هذا المنفذ مستخدَمًا من قِبل عملية أخرى على جهاز الكمبيوتر، تأكَّد من إتاحته.
لمعرفة ما إذا كانت أي عملية تستخدم المنفذ 33000:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000يمكنك إنهاء أي عملية تستخدم منفذ TCP 33000 باستخدام أمر واحد:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killتشغيل MVD
Linux
على نظام التشغيل Linux، شغِّل MVD من مجلد التطبيقات أو من الوحدة الطرفية:
mvdmacOS
على نظام التشغيل macOS، استخدِم Launchpad لفتح MVD أو تشغيل MVD من الوحدة الطرفية:
cd /Applicationsopen 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 enablemacOS
لضبط جدار الحماية أو إيقافه على نظام التشغيل macOS:
- انتقِل إلى قائمة Apple واختَر إعدادات النظام (System Settings).
- انقر على الشبكة في قائمة الشريط الجانبي.
- انقر على جدار الحماية (Firewall).
- اضبط مفتاح التبديل لـ جدار الحماية على وضع إيقاف.
تشغيل جهازك
بعد ضبط الجهاز، انقر على إنشاء جهاز. عند إنشاء الجهاز، تظهر شاشة وحدة التحكّم. استنادًا إلى نوع الجهاز الذي اخترته، قد يظهر لك عنصر تحكّم واحد أو أكثر من العناصر التالية:
- التشغيل/الإيقاف: يتوفّر هذا الخيار في معظم الأجهزة.
- المستوى: على سبيل المثال، يمكن أن يحتوي المصباح على شريط تمرير لضبط مستوى السطوع.
- اللون: على سبيل المثال، يمكن أن يتوفّر عنصر التحكّم هذا في مصباح ملوّن.
- تواجد الأفراد في المنزل: توفّر وحدة استشعار تواجد الأفراد في المنزل عنصر التحكّم هذا لمحاكاة حالة تواجد الأفراد في المنزل أو عدم تواجدهم.
تتضمّن جميع الأجهزة الافتراضية عناصر التحكّم التالية:
- QRCode: يعرض رمز الاستجابة السريعة المستخدَم في عملية التشغيل.
- إعادة التشغيل: لإعادة تشغيل الجهاز الافتراضي يتم قطع اتصال الجهاز بالشبكة لفترة وجيزة.
- إعادة الضبط: لإعادة ضبط الجهاز الحالي على الإعدادات الأصلية ومحو جميع الحالات، بما في ذلك التشغيل وحالة عناصر التحكّم الحالية وما إلى ذلك
- حذف: يؤدي هذا الخيار إلى إتلاف الجهاز والعودة إلى شاشة إنشاء جهاز.
السمات الخاصة بالشركة المصنّعة
السمات الخاصة بالشركة المصنّعة (MS) متوافقة مع واجهات برمجة التطبيقات لمنزل Google على Android وتوفّر وظائف إضافية تتجاوز السمات العادية في Matter. لاختبار جهاز يتضمّن سمة MS، يتيح لك MVD التفاعل مع السمات في القسم الذي يحمل اسم مجموعات مخصّصة (انظر الصورة أعلاه).
تشغيل الجهاز
يمكن تشغيل الجهاز فور إنشائه.
هناك بعض المتطلبات الأساسية لتشغيل الجهاز:
يجب أن يكون لديك مشروع في Google Home Developer Console. يجب أن يحتوي هذا المشروع على عملية دمج Matter تتضمّن تركيبة VID/PID نفسها التي استخدمتها في إعداد جهازك الافتراضي. يُرجى الاطّلاع على دليل إنشاء المشاريع لمزيد من التفاصيل.
يجب أن يكون لديك جهاز Google Nest Hub متوافق مع Matter
يجب أن يكون لديك هاتف Android يعمل بالإصدار 8.1 من نظام التشغيل Android أو إصدار أحدث، ومثبَّت عليه تطبيق "GHA".
يجب أن يكون هاتف Android متصلاً بشبكة Wi-Fi نفسها التي يتصل بها مركز التحكّم.
يجب أن يكون الجهاز المضيف متصلاً بشبكة Wi-Fi.
لتشغيل الجهاز باستخدام GHA، انقر على QRCode لعرض رمز الاستجابة السريعة للجهاز، ثم اتّبِع التعليمات الواردة في إقران جهاز Matter التي توضّح كيفية إعداد جهاز Matter باستخدام GHA. يمكنك أيضًا تشغيل الجهاز باستخدام Google Home Sample App for Matter.
Matter Primer لمعرفة كيفية عمل Matter Commissioning.
التحكّم في الجهاز
بعد تشغيل جهاز افتراضي، يمكنك التحكّم فيه باستخدام تطبيق Google Home أو "مساعد Google" من خلال الصوت. يمكنك تنفيذ إجراء مما يلي:
- التحكّم في الجهاز من خلال GHA أو Assistant أثناء مراقبة تغييرات الحالة على الجهاز الافتراضي، أو
- التحكّم في الجهاز باستخدام Sample App for Matter أثناء مراقبة تغييرات الحالة على الجهاز الافتراضي، أو
- التحكّم في حالة الجهاز من خلال MVD نفسه مع مراقبة تغييرات الحالة في GHA أو Assistant
الاختبار باستخدام الجهاز
للاختبار باستخدام Assistant، ننصحك باستخدام محاكي عبارات مثل إضافة Google Home لـ VS Code أو المكوّن الإضافي Google Home لـ استوديو Android.
عرض تفاصيل الجهاز
تعرض شاشة تفاصيل الجهاز معلومات مفصّلة عن الجهاز:
- الاسم: الاسم المبسّط الذي تم منحه للجهاز.
- نوع الجهاز: نوع الجهاز الذي تم اختياره
- المُميِّز: مُميِّز الجهاز الحالي.
- معرّف المورّد: معرّف مورّد الجهاز الحالي.
- معرّف المنتج: معرّف منتج الجهاز الحالي.
- منفذ RPC: منفذ RPC الذي يتصل به الجهاز بوحدات التحكّم (واجهة المستخدم الرسومية).
- منفذ Matter: المنفذ الذي يستخدمه الجهاز الحالي للاتصال عبر شبكة IP.
- رمز المرور: رقم التعريف الشخصي المستخدَم لتشغيل الجهاز من خلال الشبكة.
- مجلد الإعدادات: المجلد الذي يخزّن فيه الجهاز الافتراضي الإعدادات.
- معلومات التشغيل: تعرض هذه المعلومات الشبكات التي انضم إليها الجهاز ورقم تعريف العقدة للجهاز في الشبكة.
عرض سجلّات الجهاز
إذا شغّلت MVD من الوحدة الطرفية، سيظهر ناتج السجلّ
على stdout.
يمكنك أيضًا الاطّلاع على سجلّات الجهاز في علامة التبويب سجلّات الجهاز.
إيقاف الجهاز
لإيقاف الجهاز وإتلافه، انقر على حذف.
إنهاء التطبيق
يؤدي إغلاق نافذة التحكّم إلى تدمير الجهاز وإنهاء MVD التطبيق. إذا شغّلت التطبيق من الوحدة الطرفية، يمكنك أيضًا إنهاؤه من خلال كتابة Ctrl-C في الوحدة الطرفية.
الحصول على مساعدة
للحصول على مساعدة بشأن MVD أو للإبلاغ عن خطأ أو لطلب ميزة جديدة، يُرجى التواصل مع جهة الاتصال المعيّنة لك في فريق الدعم في Google.
يؤدي النقر على زر المساعدة في أعلى يسار النافذة إلى نقلك إلى هذه الصفحة.
الإبلاغ عن خطأ
إذا كنت تعتقد أنّك عثرت على عيب في MVD، يمكنك الإبلاغ عن خطأ من خلال النقر على زر "المشكلة" في أعلى يسار النافذة.
إرسال ملاحظات
لإرسال أفكارك حول ما يعجبك في "MVD" أو كيف يمكننا تحسين تجربتك مع الأداة، يُرجى إكمال نموذج استطلاع الآراء والتقييم.
يمكن فتح النموذج من خلال زر الملاحظات في أعلى يسار النافذة، أو من خلال النقر على الزر أدناه.
يمكنك أيضًا تقديم ملاحظات من خلال الاستطلاع الذي يظهر في أسفل الشاشة عند استخدام "MVD".