Matter ; واجهات برمجة تطبيقات المنزل
تكون أجهزة 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. بدلاً من ذلك، تستخدم الجهاز المضيف الذي يعمل بنظام التشغيل Linux أو macOS لاتصال شبكة Wi-Fi الحالي لإجراء عملية الإعداد.
مقارنةً بالأدوات الأخرى
يختلف MVD عن Virtual Device Controller (VDC) في أنّه حلّ مستقل يجمع بين جهاز افتراضي وواجهة مستخدم للتحكّم فيه. في المقابل، يتم استخدام VDC للتحكّم في جهاز Matter افتراضي منفصل.
يحتوي MVD على العديد من الأجهزة الافتراضية المسبقة الإنشاء المختلفة ويتضمّن واجهة مستخدم مدمجة لتشغيلها والتحكّم فيها.
الأجهزة المتوافقة
يتوافق MVD مع Matter أنواع الأجهزة التالية:
Matter نوع الجهاز | مجموعات التطبيقات | نوع المنظومة المتكاملة للمنزل |
---|---|---|
جهاز تنقية الهواء |
0x0202 0x0006 0x0071 |
جهاز تنقية الهواء |
أداة استشعار جودة الهواء |
0x005b 0x0402 0x0405 0x040c 0x040d 0x042a 0x042d 0x042e |
أداة الاستشعار |
مشغّل الفيديو الأساسي |
0x0006 0x0506 0x0509 |
التلفزيون |
مصباح درجة حرارة الألوان |
0x0300 0x0008 0x0006 |
فاتح |
مستشعر الاتصال |
0x0045 |
أداة الاستشعار |
مصباح قابل للتعتيم |
0x0008 0x0006 |
فاتح |
وحدة إضاءة قابلة للتعتيم |
0x0006 0x0008 |
Outlet |
غسالة أطباق |
0x0006 0x0059 0x0056 0x0060 |
غسالة الأطباق |
قفل الباب |
0x0101 |
قفل |
Extended Color Light |
0x0300 0x0008 0x0006 |
فاتح |
مروحة |
0x0202 0x0006 |
Fan |
مستشعر التدفق |
0x0404 |
أداة الاستشعار |
Generic Switch |
0x003b |
التبديل |
مستشعر الرطوبة |
0x0405 |
أداة الاستشعار |
غسالة ملابس |
0x0006 0x0051 0x0053 0x0056 0x0060 |
غسالة |
مستشعر الإضاءة |
0x0400 |
أداة الاستشعار |
مستشعر إشغال المنزل |
0x0406 |
أداة الاستشعار |
تشغيل/إيقاف الإضاءة |
0x0008 0x0006 |
فاتح |
مفتاح تشغيل/إيقاف الإضاءة |
0x0006 |
التبديل |
وحدة المكوّن الإضافي للتشغيل/الإيقاف |
0x0008 0x0006 |
Outlet |
مستشعر الضغط |
0x0403 |
أداة الاستشعار |
مضخة |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pump |
مكنسة كهربائية روبوتية |
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)
تنزيل ملف توقيع armored-ASCII (.asc)
بعد ذلك، شغِّل dpkg
لتثبيت حزمة MVD
Debian (.deb):
sudo dpkg -i mvd_1.7.0_amd64.deb
نظام التشغيل Mac
تنزيل ملف 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 لإعداد الجهاز والتواصل من خلال شبكات IP. يستخدم 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: يعرض رمز الاستجابة السريعة المستخدَم في عملية الإعداد.
- إعادة التشغيل: يعيد تشغيل الجهاز الافتراضي. تم قطع اتصال الجهاز بالشبكة لفترة قصيرة.
- إعادة الضبط: تتم إعادة ضبط الجهاز الحالي على الإعدادات الأصلية ومحو جميع البيانات، بما في ذلك عملية الإعداد وحالة عناصر التحكّم الحالية وما إلى ذلك
- حذف: يؤدي إلى إتلاف الجهاز والرجوع إلى شاشة إنشاء جهاز.
السمات الخاصة بالشركة المصنّعة
تتيح واجهات برمجة التطبيقات الخاصة بمنصة Home على نظام التشغيل Android استخدام السمات الخاصة بالمصنّع (MS)، كما توفّر وظائف إضافية تتجاوز السمات العادية في 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 المقدّمة لمعرفة طريقة عمل Matter Commissioning.
التحكّم في الجهاز
بعد إعداد جهاز افتراضي، يمكنك التحكّم فيه باستخدام تطبيق Google Home أو "مساعد Google" من خلال الصوت. يمكنك تنفيذ إجراء مما يلي:
- التحكّم في الجهاز من خلال GHA أو Assistant مع تتبُّع تغييرات الحالة على الجهاز الافتراضي
- التحكّم في الجهاز باستخدام Sample App for Matter مع مراقبة التغييرات في الحالة على الجهاز الافتراضي، أو
- التحكّم في حالة الجهاز من خلال MVD نفسه أثناء تتبُّع التغييرات في الحالة في GHA أو Assistant
الاختبار باستخدام الجهاز
للاختبار باستخدام Assistant، ننصحك باستخدام محاكي للعبارات، مثل إضافة Google Home إلى VS Code أو إضافة Google Home إلى Android Studio.
عرض تفاصيل الجهاز
تعرض شاشة تفاصيل الجهاز معلومات تفصيلية عن الجهاز:
- الاسم: هو الاسم المألوف الذي تمّ منحه للجهاز.
- نوع الجهاز: نوع الجهاز الذي تم اختياره.
- المُميِّز: المُميِّز الحالي للجهاز.
- معرّف المورّد: معرّف مورّد الجهاز الحالي.
- معرّف المنتج: هو معرّف المنتج الحالي للجهاز.
- منفذ RPC: هو منفذ RPC الذي يتواصل الجهاز من خلاله مع أدوات التحكّم (واجهة المستخدم الرسومية).
- منفذ Matter: المنفذ الذي يستخدمه الجهاز الحالي للتواصل عبر شبكة IP.
- رمز المرور: هو رقم التعريف الشخصي المستخدَم لإعداد الجهاز من خلال الشبكة.
- مجلد الإعداد: هو المجلد الذي يخزّن الجهاز الافتراضي إعداداته.
- معلومات العمولات: تعرض هذه السمة الأقمشة التي انضم إليها الجهاز ومعرّف العقدة الخاص بالجهاز في القماش.
عرض سجلّات الجهاز
إذا شغّلت MVD من الوحدة الطرفية، سيظهر سجلّ المخرجات
في stdout
.
يمكنك أيضًا عرض سجلّات الجهاز في علامة التبويب سجلّات الجهاز.
إيقاف الجهاز
لإيقاف الجهاز وإتلافه، انقر على حذف.
إنهاء التطبيق
يؤدي إغلاق نافذة التحكّم إلى إتلاف الجهاز وإنهاء تطبيق MVD. إذا تم تشغيل التطبيق من الوحدة الطرفية، يمكنك أيضًا إيقافه عن طريق كتابة Ctrl-C في الوحدة الطرفية.
الحصول على مساعدة
للحصول على مساعدة بشأن MVD أو الإبلاغ عن خطأ أو طلب ميزة جديدة، يُرجى التواصل مع جهة الاتصال المعيّنة من فريق الدعم في Google.
يؤدي النقر على زر المساعدة
في أعلى يسار النافذة إلى نقلك إلى هذه الصفحة.الإبلاغ عن خطأ
إذا كنت تعتقد أنّك عثرت على عيب في MVD، يمكنك الإبلاغ عن خطأ من خلال النقر على زر "المشكلة" في أعلى يسار النافذة.
إرسال ملاحظات
لإرسال ملاحظاتك حول الميزات التي تعجبك في MVD أو حول كيفية تحسين تجربتك مع الأداة، يُرجى ملء نموذج الملاحظات.
يمكن فتح النموذج من خلال النقر على زر الملاحظات
في أعلى يسار النافذة، أو من خلال النقر على الزر أدناه.يمكنك أيضًا تقديم ملاحظات وآراء من خلال الاستطلاع الذي يظهر في أسفل الصفحة عند استخدام MVD.