جهاز Matter الافتراضي

Matter ; Home APIs

تُعدّ أجهزة 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 المتوافقة مع MVD
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.deb

macOS

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

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

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

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

التثبيت على macOS

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

تستخدم وحدة التحكّم في 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 منفذ TCP/UDP رقم 5540 تلقائيًا، ولكن يمكنك ضبط الجهاز الافتراضي لاستخدام منفذ مختلف، طالما أنّه لا يتم استخدامه من قِبل أي خدمة أخرى.
  • معرّف المورّد: لا يتوفّر سوى معرّف المورّد التجريبي 0xFFF1.
  • معرّف المنتج: لا يمكن اختبار سوى معرّفات المنتجات من 0x8000 إلى 0x801F.

شاشة إعداد
الجهاز الافتراضي

ضبط جدار الحماية

Linux

إذا كان لديك جدار حماية قيد التشغيل على جهاز الكمبيوتر، يمكنك إيقافه أو السماح باتصالات TCP/UDP الواردة على المنفذ Matter.

لعرض قواعد جدار الحماية النشطة حاليًا في netfilter، شغِّل الأمر:

sudo iptables -L -n

إذا كنت تستخدم `ufw` (جدار الحماية غير المعقّد)، يمكنك إيقافه من خلال:

sudo ufw disable

ويمكن إعادة تفعيلها من خلال:

sudo ufw enable

macOS

لضبط جدار الحماية أو إيقافه على نظام التشغيل macOS:

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

تشغيل جهازك

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

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

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

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