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

المسألة حزمة تطوير البرامج (SDK) للجهاز

تكون أجهزة 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 افتراضي منفصل، مثل الجهاز الذي ننشئه في Matter Virtual Device Development Environment (MVD-DE).

من المحتمل أنّك سبق وبدأت في الدرس التطبيقي حول الترميز MVD-DE. وفي هذا الدرس التطبيقي حول الترميز، يمكنك إنشاء نوع واحد من الأجهزة الافتراضية، وهو مصباح ذكي. وفي المقابل، يتضمّن MVD العديد من الأجهزة الافتراضية المختلفة المصممة مسبقًا، ويشمل واجهة مستخدم مدمجة لتشغيلها والتحكّم فيها.

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

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

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

جدول: Matter نوع من الأجهزة متوافق مع MVD
نوع جهاز واحد (Matter) مجموعات التطبيقات نوع المنظومة المتكاملة للمنزل
مشغّل الفيديو الأساسي 0x0006
0x0506
0x0509
تلفزيون
ضوء درجة حرارة الألوان 0x0300
0x0008
0x0006
خفيفة
مستشعر اتصال 0x0045
أداة الاستشعار
مصباح خفيف 0x0008
0x0006
خفيفة
قفل الباب 0x0101
قفل
مصباح ملوّن موسّع 0x0300
0x0008
0x0006
خفيفة
مروحة 0x0202
0x0006
المعجب
جهاز استشعار التدفق 0x0404
أداة الاستشعار
مفتاح تبديل عام 0x003b
التبديل
جهاز استشعار الرطوبة 0x0405
أداة الاستشعار
أداة استشعار الضوء 0x0400
أداة الاستشعار
جهاز استشعار تواجد الأفراد في المنزل 0x0406
أداة الاستشعار
ضوء تشغيل/إيقاف 0x0008
0x0006
خفيفة
مفتاح تشغيل/إيقاف الإضاءة 0x0006
التبديل
وحدة التوصيل الإضافي للتشغيل/الإيقاف 0x0008
0x0006
المقبس
جهاز استشعار الضغط 0x0403
أداة الاستشعار
مضخة 0x0006
0x0200
0x0402
0x0403
0x0404
لا ينطبق
مكنسة كهربائية روبوتية 0x0054
0x0055
0x0061
مكنسة كهربائية
مكيّف هواء غرفة 0x0006
0x0201
0x0202
AC
إنذار الدخان/أول أكسيد الكربون 0x005C
دخان
إنذار الدخان/أول أكسيد الكربون 0x005C
دخان
جهاز استشعار الحرارة 0x0402
أداة الاستشعار
ترموستات 0x0201
جهاز ترموستات
تغطية النوافذ 0x0102
الستائر

تثبيت MVD

يعمل تطبيق MVD على أجهزة معالج بيانات 64 بت x86 تعمل بنظام التشغيل Debian (الإصدار 11 أو إصدار أحدث) أو نظام التشغيل Ubuntu (الإصدار 20.04 أو الإصدارات الأحدث) أو نظام التشغيل macOS.

Linux

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

تنزيل ملف Armored-ASCII (.asc)

بعد ذلك، شغِّل dpkg لتثبيت حزمة MVD Debian (.deb):

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

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

تنزيل ملف MVD (ARM64 M1) dmg

بعد ذلك، انقر مرّتين على ملف 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 واختَر إعدادات النظام.
  2. انقر على الشبكة في قائمة الشريط الجانبي.
  3. انقر على جدار الحماية.
  4. بدِّل مفتاح جدار الحماية إلى الوضع إيقاف.

تشغيل جهازك

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

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

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

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

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

تشغيل جهازك

يصبح الجهاز قابلاً للعمولة فور إنشائه.

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

  • يجب أن يكون لديك مشروع في Google Home Developer Console. يجب أن يتضمّن هذا المشروع عملية تكامل مع Matter لها مجموعة VID/PID نفسها التي استخدمتها في إعداد جهازك الافتراضي. اطّلِع على دليل إنشاء المشروع لمعرفة التفاصيل.

  • يجب أن يتوفّر لديك جهاز Google Nest Hub متوافق مع المسألة القانونية.

  • يجب أن يكون لديك هاتف Android يعمل بالإصدار 8.1 من نظام التشغيل Android أو إصدار أحدث، وأن يكون GHA مثبّتًا عليه.

  • يجب أن يكون هاتف Android متصلاً بشبكة Wi-Fi نفسها التي يتصل بها الموزّع.

  • يجب أن يكون الجهاز المضيف متصلاً بشبكة Wi-Fi.

لإعداد الجهاز باستخدام "GHA"، انقر على QRCode لعرض رمز الاستجابة السريعة الخاص بالجهاز، ثم اتّبِع التعليمات الواردة في مقالة إقران جهاز Matter التي توضّح كيفية توصيل جهاز Matter باستخدام GHA. يمكنك أيضًا تشغيل الجهاز باستخدام Google Home Sample App for Matter.

يمكنك زيارة Matter Primer للتعرّف على طريقة عمل تفويض Matter.

التحكّم في الجهاز

بعد تفويض جهاز افتراضي، يمكنك التحكّم فيه باستخدام تطبيق Google Home أو "مساعد Google" عبر الصوت. يمكنك تنفيذ إجراء مما يلي:

  • يمكنك التحكّم في الجهاز من خلال GHA أو Assistant ومراقبة تغييرات الحالة على الجهاز الافتراضي.
  • التحكّم في الجهاز باستخدام Sample App for Matter ومراقبة تغييرات الحالة على الجهاز الافتراضي
  • يمكنك التحكّم في حالة الجهاز من خلال MVD نفسه مع مراقبة تغييرات الحالة في GHA أو Assistant.

الاختبار باستخدام الجهاز

لإجراء اختبار باستخدام "Assistant"، ننصحك باستخدام محاكي النطق مثل Google Home Extension for VS Code أو مكوّن Google Home الإضافي لـ Android Studio.

عرض تفاصيل الجهاز

تعرض شاشة تفاصيل الجهاز معلومات تفصيلية عن الجهاز:

  • الاسم: الاسم المألوف الذي أُطلق على الجهاز.
  • نوع الجهاز: نوع الجهاز الذي اخترته.
  • أداة التمييز: هي أداة تمييز الأجهزة الحالية.
  • رقم تعريف المورّد: رقم تعريف المورّد الحالي للجهاز.
  • معرّف المنتج: معرّف المنتج الحالي للجهاز.
  • منفذ استدعاء إجراء عن بُعد (RPC): منفذ استدعاء إجراء عن بُعد (RPC) الذي يتصل الجهاز بوحدات التحكم (GUI).
  • منفذ Matter: المنفذ الذي يستخدمه الجهاز الحالي للاتصال من خلال شبكة IP.
  • رمز المرور: رقم التعريف الشخصي المستخدَم لتشغيل الجهاز من خلال الشبكة.
  • مجلد الإعدادات: المجلد الذي يخزِّن الجهاز الافتراضي الإعدادات.
  • معلومات العمولة: تعرض هذه البطاقة القماش التي انضم إليها الجهاز ورقم تعريف العقدة الخاصة بالجهاز في النسيج.

عرض سجلات الجهاز

إذا فعّلت MVD من الوحدة الطرفية، سيظهر ناتج السجلّ على stdout. يمكنك أيضًا الاطّلاع على سجلات الجهاز في علامة التبويب سجلّات الجهاز.

إيقاف الجهاز

لإيقاف الجهاز وتدميره، انقر على حذف.

إنهاء التطبيق

يؤدي إغلاق نافذة التحكّم إلى تدمير الجهاز وإنهاء تطبيق MVD. إذا بدأت من الوحدة الطرفية، يمكنك أيضًا إنهاء التطبيق عن طريق كتابة Ctrl-C في الوحدة الطرفية.

طلب المساعدة

للحصول على مساعدة بشأن MVD أو للإبلاغ عن خطأ أو لطلب ميزة جديدة، يُرجى التواصل مع فريق الدعم في Google.

انقر على زر مساعدة في أعلى يسار النافذة للانتقال إلى هذه الصفحة.

الإبلاغ عن خطأ

إذا وجدت عيبًا في MVD، يمكنك الإبلاغ عن خطأ بالنقر على زر "المشكلة" في أعلى يسار النافذة.

إرسال الملاحظات

لإرسال ملاحظاتك حول تجربتك في MVD أو حول كيفية تحسين تجربتك مع الأداة، يُرجى ملء نموذج الملاحظات.

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

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