نموذج بيانات الجهاز

تتضمّن الأجهزة في Matter نموذج بيانات محدّد جيدًا (DM)، وهو عبارة عن نمذجة هرمية لميزات الجهاز. في المستوى الأعلى من هذا التدرج الهرمي، هناك جهاز.

الأجهزة ونقاط النهاية

تتألف جميع الأجهزة، بما في ذلك الهواتف الذكية وأجهزة المساعد المنزلي، من عُقد1. العقدة هي مورد فريد قابل للتحديد ويمكن استخدامه في الشبكة والتي يمكن للمستخدم رؤيتها على أنّها كاملة من الناحية الوظيفية. تنشأ الاتصال بالشبكة في Matter وتنتهي عند عقدة.

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

العرض الهرمي للأجهزة والعُقد ونقاط النهاية
الشكل 1: الأجهزة والعُقد ونقاط النهاية

أدوار العُقد

دور العُقدة هو مجموعة من السلوكيات ذات الصلة. وقد يكون لكل عقدة دور واحد أو أكثر. تتضمن أدوار العُقد ما يلي:

  • المفوَّض: عقدة تنفِّذ العمولة.
  • وحدة التحكّم: هي عقدة يمكن أن تتحكّم في عُقدة واحدة أو أكثر. وتشمل الأمثلة Google Home app (GHA) وGoogle Assistant وGoogle Nest Hub (2nd gen). بعض أنواع الأجهزة، مثل مفتاح تشغيل/إيقاف الإضاءة، يكون لها دور وحدة التحكم.
  • Controlee: عقدة يمكن التحكّم فيها بواسطة عُقدة واحدة أو أكثر. يمكن أن تكون معظم أنواع الأجهزة "وحدة التحكّم" باستثناء بعض أنواع الأجهزة التي تؤدي دور "وحدة التحكّم"، مثل مفتاح تشغيل/إيقاف الإضاءة. يمكن استخدام مفتاح تشغيل/إيقاف الضوء كوحدة تحكم فقط. لا يمكن أن تكون وحدة التحكّم.
  • موفّر التحديث عبر الهواء: عقدة يمكنها توفير تحديثات برامج التحديث عبر الهواء.
  • مقدِّم طلب التحديث عبر الهواء: عقدة يمكنها طلب تحديثات برامج التحديث عبر الهواء.

المجموعات العنقودية

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

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

السمات

في المستوى الأخير، سنعثر على السمات، وهي حالات تحتفظ بها العقدة، مثل سمة المستوى الحالي لمجموعة التحكّم بالمستوى. يمكن تعريف السمات على أنها أنواع بيانات مختلفة مثل uint8 أو السلاسل أو الصفائف.

العرض الهرمي للعقد ونقاط النهاية والسمات والأوامر
الشكل 2: العُقد ونقاط النهاية والسمات والأوامر

الطلبات الصوتية

بالإضافة إلى السمات، تمتلك المجموعات أيضًا الأوامر، وهي إجراءات يمكن تنفيذها. وهذا ما يقابله في رسالة "Matter" المباشرة لمكالمة إجراء عن بُعد. تشبه الأوامر الأفعال، مثل قفل الباب على مجموعة قفل الباب. قد تنشئ الأوامر ردودًا ونتائج، وفي Matter، يتم تعريف هذه الاستجابات أيضًا على أنّها "أوامر"، وهي عكسية.

فعاليات

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

النموذج الكامل للجهاز
الشكل 3: نموذج من التدرّج الهرمي لنموذج التفاعل مع أجهزة Matter

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

أنواع الأجهزة

وإجمالاً، ما هي مجموعات المجموعات التي ينبغي تضمينها كشركة مُصنّعة للأجهزة التي تخطط لجهاز جديد؟

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

لم يتم تحديد أنواع الأجهزة من خلال المستند الرئيسي لمواصفات Matter، بل من خلال مستند مصاحب: مكتبة الجهاز. وبالمثل، يتم تحديد جميع مجموعات التطبيقات في مكتبة مجموعة التطبيقات. يمكن العثور على هذه المستندات الثلاثة على الموقع الإلكتروني الخاص بأعضاء Connectivity Standards Alliance (Alliance).

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

العملاء والخوادم

قد تكون المجموعات إما مجموعة عملاء أو مجموعة خادم. على الرغم من أن الخادم حالة ويحتوي على السمات والأحداث والأوامر، يكون العميل لا ينتمي إلى حالة ومسؤوليته هي بدء التفاعلات مع مجموعة خوادم بعيدة، وبالتالي يتم تنفيذ ما يلي:

  • يقرأ من السمات عن بُعد ويكتبها إليها.
  • قراءة أحداثه البعيدة.
  • لاستدعاء أوامره عن بُعد.

في حين أن الرسالة المباشرة تسلسلية داخل عقدة، لا تكون العلاقة بين العُقد. لا تتضمّن العُقد في Matter علاقات رأسية مع عناصر تحكُّم/أطراف طرفية أو علاقات قائد/متابع. وعلى العكس من ذلك، تكون العلاقة أفقية: أي مجموعة قد تكون خادم أو عميل. وبالتالي، قد تكون أي عقدة خادم وعميل في ما يتعلّق بالمجموعات والوظائف المختلفة.

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

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

مصابيح تنفّذ كلاً من تشغيل/إيقاف الإضاءة ومفتاح الإضاءة
الشكل 4: مجموعات العملاء والخوادم

في هذا النموذج، تغيّر "مجموعة العملاء" "تشغيل/إيقاف" على العقدة أ، سمات مجموعة الخادم "تشغيل/إيقاف" على العُقدة "أ" و"العقدة ب"، بينما تغير "مجموعة العملاء" للعقدة "ب" فقط "مجموعة الخادم" على العُقدة "ب" نفسها.

في القسم التالي، سنتناول بالتفصيل كيفية تفاعل مجموعات العملاء والخوادم: نموذج التفاعل.

مجموعة الواصف

كما يوحي الاسم، يوفر خادم المجموعة الوصفية معلومات استقصائية. يصف نقطة النهاية بتعداد:

  • مجموعات الخوادم.
  • مجموعات العملاء.
  • أنواع الأجهزة
  • نقاط نهاية إضافية، تُعرف باسم الأجزاء.

يتطلب كل نوع جهاز تنفيذ مجموعات الواصف. يتم تحديد نوع الجهاز الجذر في نقطة النهاية 0. ستوفّر قراءة مجموعة الواصفات للعميل إمكانية الوصول لاجتياز الشجرة الكاملة لنقاط النهاية المتاحة وتنفيذ العمليات السارية.

يمكن للمفوَّض أو الجهاز الذي يتحكم فيه، مثل الهاتف أو الموزع (hub)، استخدام المعلومات الواردة في "مجموعة أدوات الوصف" لتشكيل نموذج للجهاز (الضوء ومفتاح التبديل والمضخة والترموستات) وميزات محدّدة ينفذها هذا المثيل المحدد من الجهاز، مع عرض واجهة المستخدم الصحيحة للمستخدم.

مجموعات الخوادم

تسرد سمة ServerList خوادم المجموعة في نقطة النهاية.

مجموعات العملاء

تسرد سمة ClientList عملاء المجموعة في نقطة النهاية.

قائمة أنواع الأجهزة

السمة DeviceTypeList هي قائمة بأنواع الأجهزة المتوافقة مع نقطة النهاية، إلى جانب المراجعات الخاصة بها. يجب أن يحتوي على نوع جهاز واحد على الأقل.

قائمة القطع

تتضمّن PartsList قائمة نقاط النهاية المستخدَمة لتنفيذ نوع الجهاز هذا.

تحتوي PartsList لنقطة النهاية 0 (عقدة Root Node) على جميع نقاط النهاية للجهاز بعيدًا عن نفسه (نقطة النهاية 0).

عادةً ما تكون قيمة PartsList لنقاط النهاية الأخرى فارغة. فعلى سبيل المثال، يفوض جهاز استشعار الحرارة مجموعة خوادم لقياس درجة الحرارة ولا شيء آخر.

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


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