المسألة القانونية حزمة تطوير البرامج (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 على العديد من الأجهزة الافتراضية المختلفة التي تم إنشاؤها مسبقًا وتتضمّن واجهة مستخدم متكاملة لتشغيلها والتحكّم فيها.
MVD | VDC | MVD-DE (درس تطبيقي حول الترميز) | |
---|---|---|---|
محاكاة جهاز Matter | |||
التحكّم في جهاز Matter في وضع المحاكاة | |||
جهود التطوير المطلوبة | |||
تنزيل | أقل من 100 ميغابايت | 9 غيغابايت | 20 غيغابايت |
الأجهزة المتوافقة
يتوافق "MVD" مع أنواع الأجهزة التي تتضمّن Matter التالية:
نوع الجهاز 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
تنزيل ملف توقيع armored-ASCII (asc.)
شغِّل بعد ذلك dpkg
لتثبيت حزمة MVD Debian (.deb):
sudo dpkg -i mvd_1.4.0_amd64.deb
macOS
نزِّل ملف MVD (نظام التشغيل macOS x86) dmg.
بعد ذلك، انقر مرّتين على ملف dmg
لفتح نافذة التثبيت.
لإكمال عملية التثبيت، اختَر رمز mvd
واسحبه إلى
المجلد Applications
:
التحقق من استخدام المنفذ
تستخدم وحدة وحدة التحكّم في 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:
- انتقِل إلى قائمة \ Apple واختر إعدادات النظام.
- انقر على الشبكة في قائمة الشريط الجانبي.
- انقر على Firewall (جدار الحماية).
- بدِّل مفتاح جدار الحماية إلى الوضع إيقاف.
تشغيل جهازك
بعد ضبط الجهاز، انقر على إنشاء جهاز. عند إنشاء الجهاز، تظهر شاشة وحدة التحكم. بناءً على نوع الجهاز الذي اخترته، قد يظهر لك عنصر أو أكثر من عناصر التحكّم التالية:
- تفعيل/إيقاف: شائع على معظم الأجهزة.
- المستوى: على سبيل المثال، يمكن أن يتضمّن المصباح شريط تمرير لضبط مستوى السطوع.
- اللون: على سبيل المثال، يمكن أن يتضمّن مصباح الألوان عنصر التحكّم هذا.
- إشغال المنزل: يوفّر جهاز استشعار تواجد الأفراد في المنزل عنصر التحكّم هذا لمحاكاة حالة تواجد الأفراد في المنزل أو حالة شاغرة فيه.
تتضمّن جميع الأجهزة الافتراضية عناصر التحكّم التالية:
- 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" أو عن كيفية تحسين تجربتك مع الأداة، يُرجى ملء نموذج الملاحظات.
يمكن تشغيل النموذج باستخدام زر "الملاحظات"
في أعلى يسار النافذة، أو بالنقر على الزرّ أدناه.