حزمة تطوير البرامج (SDK) للأجهزة
تكون الأجهزة الافتراضية من النوع Matter مفيدة لتطوير حلول Matter واختبارها، ويمكن تفعيلها باستخدام Google Home app (GHA) والتحكّم فيها باستخدام GHA وGoogle Assistant، تمامًا مثل الأجهزة Matter الحقيقية.
بالنسبة إلى مطوّري التطبيقات وغيرهم ممن يحتاجون إلى اختبار جهاز Matter افتراضي أو محاكاته ولكنّهم لا يملكون الموارد اللازمة لإنشاء جهاز مادي أو افتراضي Matter، تقدّم GoogleMatter Virtual Device (MVD). MVD هي أداة مستقلة خفيفة الوزن لأجهزة الكمبيوتر المكتبي تعمل بنظام التشغيل Linux أو macOS، وهي تحاكي أنواعًا مختلفة من أجهزة Matter الافتراضية وتوفّر واجهة مستخدم رسومية للتحكّم في حالات جهاز Matter الافتراضي وعرضها.
على عكس جهاز Matter المادي، لا يعتمد MVD على تقنية Bluetooth® منخفض الطاقة (BLE) أو Thread® للتضمين في شبكة Matter. بدلاً من ذلك، يتم استخدام اتصال شبكة Wi-Fi الحالي لجهاز المضيف Linux أو macOS من أجل الإعداد.
مقارنةً بالأدوات الأخرى
يختلف MVD عن Virtual Device Controller (VDC) من حيث أنّه حلّ متكامل يجمع بين جهاز افتراضي وواجهة مستخدم للتحكّم فيه. في المقابل، يتم استخدام VDC للتحكّم في جهاز Matter افتراضي منفصل، مثل الجهاز الذي ننشئه في Matter Virtual Device Development Environment (MVD-DE).
قد تكون سبق لك استخدام MVD-DE codelab. في هذا الدرس التطبيقي حول البرمجة، يمكنك إنشاء نوع واحد من الأجهزة الافتراضية، وهو مصباح ذكي. في مقابل ذلك، يحتوي MVD على عدة أجهزة افتراضية مختلفة مُعدّة مسبقًا، ويتضمن واجهة مستخدم مدمجة لتشغيلها والتحكم فيها.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
محاكاة جهاز متوافق مع معيار Matter | |||
التحكّم في جهاز Matter في وضع المحاكاة | |||
يجب بذل جهد في التطوير | |||
تنزيل | حجمه أقل من 100 ميغابايت | 9 غيغابايت | 20 غيغابايت |
الأجهزة المتوافقة
يتوافق MVD مع أنواع Matter الأجهزة التالية:
Matter نوع الجهاز | مجموعات التطبيقات | نوع المنظومة المتكاملة للمنازل |
---|---|---|
مشغّل الفيديو الأساسي |
0x0006 0x0506 0x0509 |
التلفزيون |
ضوء درجة حرارة الألوان |
0x0300 0x0008 0x0006 |
خفيفة |
أداة استشعار الاتّصال |
0x0045 |
Sensor |
ضوء قابل للتعتيم |
0x0008 0x0006 |
خفيفة |
قفل الباب |
0x0101 |
قفل |
الإضاءة الموسّعة بالألوان |
0x0300 0x0008 0x0006 |
خفيفة |
مروحة |
0x0202 0x0006 |
Fan |
أداة استشعار التدفق |
0x0404 |
Sensor |
مفتاح عام |
0x003b |
تبديل |
أداة استشعار الرطوبة |
0x0405 |
Sensor |
مستشعر الإضاءة |
0x0400 |
Sensor |
جهاز استشعار تواجد الأفراد في المنزل |
0x0406 |
Sensor |
تشغيل/إيقاف الإضاءة |
0x0008 0x0006 |
خفيفة |
مفتاح تشغيل/إيقاف الإضاءة |
0x0006 |
تبديل |
وحدة قابس التشغيل/الإيقاف |
0x0008 0x0006 |
مصدر الطاقة |
أداة استشعار الضغط |
0x0403 |
Sensor |
مضخة |
0x0006 0x0200 0x0402 0x0403 0x0404 |
مضخة مياه |
مكنسة كهربائية روبوتية |
0x0054 0x0055 0x0061 |
Vacuum |
مكيّف هواء في الغرفة |
0x0006 0x0201 0x0202 |
Ac |
إنذار الدخان وأول أكسيد الكربون |
0x005C |
الدخان |
أداة استشعار الحرارة |
0x0402 |
Sensor |
ترموستات |
0x0201 |
الترموستات |
ستارة |
0x0102 |
الستائر |
تثبيت MVD
يعمل تطبيق MVD على أجهزة مزوّدة بمعالج x86 64 بت ونظام التشغيل Debian (11 أو الإصدارات الأحدث) أو Ubuntu (20.04 أو الإصدارات الأحدث) أو macOS.
Linux
تنزيل ملف التوقيع بترميز ASCII المُشفَّر (.asc)
بعد ذلك، شغِّل dpkg
لتثبيت حزمة MVD
Debian (.deb):
sudo dpkg -i mvd_1.4.0_amd64.deb
نظام التشغيل Mac
تنزيل ملف dmg الخاص بتطبيق MVD (macOS x86)
تنزيل ملف dmg الخاص بتطبيق MVD (ARM64 M1)
بعد ذلك، انقر مرّتين على ملف dmg
لفتح نافذة التثبيت.
لإكمال عملية التثبيت، اختَر رمز mvd
واسحبه إلى
مجلد Applications
:
التحقّق من استخدام المنفذ
تستخدم وحدة التحكّم في MVD منفذ TCP 33000 لإجراء مكالمات RPC بالجهاز الافتراضي، لذا إذا كان هذا المنفذ قيد الاستخدام من قِبل عملية أخرى على جهاز الكمبيوتر، احرص على إتاحته.
لمعرفة ما إذا كانت أي عملية تستخدم المنفذ 33000:
Linux
sudo fuser -v 33000/tcp
نظام التشغيل Mac
lsof -i:33000
يمكنك إنهاء أي عملية تستخدم منفذ TCP 33000 باستخدام أمر واحد:
Linux
sudo fuser -k 33000/tcp
نظام التشغيل Mac
lsof -ti:33000 | xargs kill
تشغيل MVD
Linux
على نظام التشغيل Linux، يمكنك تشغيل MVD من مجلد التطبيقات أو من الوحدة الطرفية:
mvd
نظام التشغيل Mac
على نظام التشغيل macOS، استخدِم Launchpad لفتح MVD أو تشغيل MVD من الوحدة الطرفية:
cd /Applications
open mvd.app
ضبط إعدادات جهازك
تظهر الشاشة الرئيسية عند الإطلاق، وتتيح لك ضبط جهاز افتراضي:
- نوع الجهاز: اختَر نوع الجهاز (مثلاً، مصباح أو مفتاح أو أداة استشعار وما إلى ذلك).
- اسم الجهاز: أدخِل اسمًا يسهل على المستخدم فهمه.
- المميّز: رقم مكوّن من 12 بتًا يُستخدَم للتمييز بين إعلانات الأجهزة المتعددة التي يمكن تحقيق الربح منها. (القيمة التلقائية:
3840
) - منفذ Matter: منفذ Matter لبدء التشغيل والاتصال من خلال شبكات بروتوكول الإنترنت يستخدم Matter منفذ TCP/UDP 5540 تلقائيًا، ولكن يمكنك ضبط الجهاز الافتراضي لاستخدام منفذ مختلف، ما دامت لا تستخدمه أي خدمة أخرى.
- معرّف المورّد: لا يتوفّر سوى معرّف المورّد التجريبي
0xFFF1
. - معرّف المنتج: يمكن استخدام معرّفات المنتجات التجريبية من
0x8000
إلى0x801F
فقط.
ضبط جدار الحماية
Linux
إذا كان لديك جدار حماية مفعَّل على جهاز الكمبيوتر، عليك إيقافه أو السماح بالاتصالات الواردة عبر بروتوكولَي TCP/UDP على منفذ Matter.
للاطّلاع على قواعد جدار حماية netfilter الحالية والنشطة، يمكنك تنفيذ:
sudo iptables -L -n
إذا كنت تستخدم ufw، يمكن إيقافه باستخدام:
sudo ufw disable
ويمكن إعادة تفعيله من خلال:
sudo ufw enable
نظام التشغيل Mac
لضبط جدار الحماية أو إيقافه على نظام التشغيل macOS:
- انتقِل إلى قائمة Apple واختَر إعدادات النظام.
- انقر على الشبكة في قائمة الشريط الجانبي.
- انقر على جدار الحماية.
- اضبط مفتاح التبديل جدار الحماية على إيقاف.
تشغيل جهازك
بعد ضبط إعدادات الجهاز، انقر على إنشاء جهاز. عند إنشاء الجهاز، تظهر شاشة جهاز التحكّم. استنادًا إلى نوع الجهاز الذي اخترته، قد يظهر لك عنصر تحكّم واحد أو أكثر من عناصر التحكّم التالية:
- تفعيل/إيقاف: رمز شائع في معظم الأجهزة.
- المستوى: على سبيل المثال، يمكن أن يتضمّن المصباح شريط تمرير للمستوى لضبط السطوع.
- اللون: على سبيل المثال، يمكن أن يتضمّن مصباح ملون هذا التحكّم.
- الإشغال: يقدّم "مستشعر الإشغال" عنصر التحكّم هذا لمحاكاة الحالة المشغولة أو غير المشغولة.
تتضمّن جميع الأجهزة الافتراضية عناصر التحكّم التالية:
- QRCode: تعرِض هذه السمة رمز الاستجابة السريعة المستخدَم في عملية الإعداد.
- إعادة التشغيل: لإعادة تشغيل الجهاز الافتراضي انقطع اتصال الجهاز بالشبكة لفترة قصيرة.
- إعادة الضبط: تؤدي إلى إعادة ضبط الجهاز الحالي على الإعدادات الأصلية ومحو جميع البيانات، بما في ذلك بيانات الإعداد وحالة عناصر التحكّم الحالية وما إلى ذلك
- حذف: يؤدي هذا الإجراء إلى إتلاف الجهاز والرجوع إلى شاشة إنشاء جهاز.
تشغيل جهازك
يمكن تحصيل عمولة من الجهاز فور إنشائه.
هناك بعض المتطلبات الأساسية لتشغيل الجهاز:
يجب أن يكون لديك مشروع في Google Home Developer Console. يجب أن يحتوي هذا المشروع على عملية دمج Matter تتضمّن تركيبة VID/PID نفسها التي استخدمتها في إعداد جهازك الافتراضي. راجِع دليل إنشاء المشاريع للاطّلاع على التفاصيل.
يجب أن يكون لديك Google Nest Hub متوافق مع Matter.
يجب أن يكون لديك هاتف Android يعمل بالإصدار 8.1 أو إصدار أحدث، ومزوّد بتطبيق GHA.
يجب أن يكون هاتف Android متصلاً بشبكة Wi-Fi نفسها التي يتصل بها المحور.
يجب أن يكون الجهاز المضيف متصلاً بشبكة Wi-Fi.
لتفعيل الجهاز باستخدام GHA، انقر على QRCode لعرض رمز الاستجابة السريعة للجهاز، ثم اتّبِع التعليمات الواردة في إقران جهاز Matter التي توضّح كيفية إعداد جهاز Matter باستخدام GHA. يمكنك أيضًا تفعيل الجهاز باستخدام Google Home Sample App for Matter.
اطّلِع على Matter المقدّمة لتعرف على كيفية عمل Matterتفعيل الميزة.
التحكّم في الجهاز
بعد بدء استخدام جهاز افتراضي، يمكنك التحكّم فيه باستخدام تطبيق Google Home أو "مساعد Google" من خلال الصوت. يمكنك تنفيذ إجراء مما يلي:
- التحكّم في الجهاز من خلال GHA أو Assistant أثناء مراقبة تغييرات الحالة على الجهاز الافتراضي
- التحكّم في الجهاز باستخدام رمز Sample App for Matter أثناء رصد التغيُّرات في الحالة على الجهاز الافتراضي
- التحكّم في حالة الجهاز من خلال MVD نفسه أثناء مراقبة تغييرات الحالة في GHA أو Assistant
الاختبار باستخدام الجهاز
للاختبار باستخدام Assistant، ننصحك باستخدام أدوات محاكاة لطلبات المستخدمين، مثل Google Home Extension for VS Code أو Google Home Plugin for Android Studio.
عرض تفاصيل الجهاز
تعرض شاشة تفاصيل الجهاز معلومات تفصيلية عن الجهاز:
- الاسم: الاسم المعرِّف الذي تم منحه للجهاز.
- نوع الجهاز: نوع الجهاز الذي تم اختياره.
- المُميِّز: مُميِّز الجهاز الحالي.
- معرّف المورّد: معرّف مورّد الجهاز الحالي.
- معرّف المنتج: معرّف المنتج الحالي للجهاز.
- منفذ RPC: منفذ RPC الذي يتواصل من خلاله الجهاز مع وحدات التحكّم (واجهة المستخدم الرسومية)
- Matter المنفذ: المنفذ الذي يستخدمه الجهاز الحالي للتواصل من خلال شبكة IP
- رمز المرور: رقم التعريف الشخصي المستخدَم لتشغيل الجهاز من خلال الشبكة.
- مجلد الضبط: هو المجلد الذي يخزِّن الجهاز الافتراضي إعداداته.
- معلومات العمولة: تعرِض هذه السمة الشبكات المتكاملة التي انضم إليها الجهاز ورقم تعريف العقدة للجهاز في الشبكة المتكاملة.
عرض سجلات الجهاز
إذا شغّلت MVD من الوحدة الطرفية، سيظهر ناتج السجلّ
على stdout
.
يمكنك أيضًا عرض سجلات الجهاز في علامة التبويب سجلّات الجهاز.
إيقاف الجهاز
لإيقاف الجهاز وإتلافه، انقر على حذف.
إنهاء التطبيق
يؤدي إغلاق نافذة التحكّم إلى إتلاف الجهاز وإيقاف تطبيق MVD. إذا تم تشغيل التطبيق من خلال وحدة التحكّم الطرفية، يمكنك أيضًا إنهاء تشغيله من خلال كتابة Ctrl-C في وحدة التحكّم الطرفية.
الحصول على مساعدة
للحصول على مساعدة بشأن MVD أو للإبلاغ عن خطأ أو لطلب ميزة جديدة، يُرجى التواصل مع جهة التواصل المعيّنة لك في فريق دعم Google.
يؤدي النقر على زر المساعدة
في أعلى يسار النافذة إلى نقلك إلى هذه الصفحة.الإبلاغ عن خطأ
إذا رصدت عيوبًا في MVD، يمكنك إبلاغنا بها من خلال النقر على زر المشكلة في أعلى يسار النافذة.
إرسال ملاحظات
لإرسال ملاحظاتك حول ما يعجبك في MVD أو كيفية تحسين تجربتك باستخدام الأداة، يُرجى ملء نموذج الملاحظات.
يمكن تشغيل النموذج من زر الملاحظات
في أعلى يسار النافذة، أو من خلال النقر على الزر أدناه.