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

Matter ; واجهات برمجة تطبيقات المنزل

تكون أجهزة Matter الافتراضية مفيدة لتطوير واختبار حلول Matter، ويمكن إعدادها باستخدام Google Home app (GHA) والتحكّم فيها باستخدام GHA وGoogle Assistant، تمامًا مثل أجهزة Matter المادية.

بالنسبة إلى مطوّري التطبيقات وغيرهم ممن يحتاجون إلى اختبار جهاز Matter افتراضي أو محاكاته ولكن لا تتوفّر لديهم الموارد اللازمة لإنشاء جهاز فعلي أو افتراضي Matter، تقدّم Google Matter Virtual Device (MVD). ‫MVD هي أداة خفيفة الوزن ومستقلة تعمل على أجهزة Linux أو macOS، وتتيح محاكاة أنواع مختلفة من أجهزة Matter الافتراضية، كما توفّر واجهة مستخدم رسومية للتحكّم في حالات جهاز Matter الافتراضي وعرضها.

على عكس جهاز Matter الفعلي، لا يعتمد MVD على Bluetooth®‎ منخفض الطاقة (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
منفذ البيع
غسالة أطباق 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

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

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

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

السمات الخاصة بالشركة المصنعة

تدعم واجهات برمجة التطبيقات الرئيسية لنظام Android السمات الخاصة بالشركة المصنعة (MS) وتوفر وظائف إضافية تتجاوز السمات القياسية في Matter. لاختبار جهاز يحتوي على سمة MS، يتيح لك MVD التفاعل مع السمات في القسم المسمى المجموعات المخصصة (انظر الصورة أعلاه).

قم بتشغيل جهازك

يصبح الجهاز جاهزًا للتشغيل بمجرد إنشائه.

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

  • يجب أن يكون لديك مشروع في 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 إلى VS Code أو إضافة Google Home إلى Android Studio.

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

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

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

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

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

إيقاف الجهاز

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

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

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

الحصول على مساعدة

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

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

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

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

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

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

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

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

يمكنك أيضًا تقديم تعليقات من خلال الاستبيان الذي يظهر في الأسفل عند استخدام MVD.