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

Matter حزمة تطوير البرامج (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 على عدة أجهزة افتراضية مختلفة مُعدّة مسبقًا، ويتضمن واجهة مستخدم مدمجة لتشغيلها والتحكم فيها.

الجدول: مقارنة بين أدوات Matter الأجهزة الافتراضية
MVD VDC MVD-DE (Codelab)
محاكاة جهاز متوافق مع معيار Matter
التحكّم في جهاز Matter في وضع المحاكاة
يجب بذل جهد في التطوير
تنزيل حجمه أقل من 100 ميغابايت ‫9 غيغابايت 20 غيغابايت

الأجهزة المتوافقة

يتوافق MVD مع أنواع Matter الأجهزة التالية:

الجدول: أنواع جهاز Matter المتوافقة مع MVD
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

تنزيل حزمة MVD Debian (‎.deb)

تنزيل ملف التوقيع بترميز 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:

تثبيت نظام التشغيل 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 لبدء التشغيل والاتصال من خلال شبكات بروتوكول الإنترنت يستخدم 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: تعرِض هذه السمة رمز الاستجابة السريعة المستخدَم في عملية الإعداد.
  • إعادة التشغيل: لإعادة تشغيل الجهاز الافتراضي انقطع اتصال الجهاز بالشبكة لفترة قصيرة.
  • إعادة الضبط: تؤدي إلى إعادة ضبط الجهاز الحالي على الإعدادات الأصلية ومحو جميع البيانات، بما في ذلك بيانات الإعداد وحالة عناصر التحكّم الحالية وما إلى ذلك
  • حذف: يؤدي هذا الإجراء إلى إتلاف الجهاز والرجوع إلى شاشة إنشاء جهاز.

شاشة التحكّم في الجهاز الافتراضي

تشغيل جهازك

يمكن تحصيل عمولة من الجهاز فور إنشائه.

هناك بعض المتطلبات الأساسية لتشغيل الجهاز:

  • يجب أن يكون لديك مشروع في 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 أو كيفية تحسين تجربتك باستخدام الأداة، يُرجى ملء نموذج الملاحظات.

يمكن تشغيل النموذج من زر الملاحظات في أعلى يسار النافذة، أو من خلال النقر على الزر أدناه.

إرسال ملاحظاتك إلينا