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

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 المتوافقة مع MVD
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

تنزيل ملف MVD (macOS x86) dmg

تنزيل ملف dmg الخاص بـ MVD (ARM64 M1)

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

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

تثبيت تطبيق "خرائط Google" على أجهزة macOS

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

يستخدم وحدة التحكّم في 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، اتّبِع الخطوات التالية:

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

تشغيل جهازك

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

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

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

  • 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.