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

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

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

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

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

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

أدوار العقدة

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

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

المجموعات

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

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

السمات

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

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

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

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

فعاليات

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

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

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

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

معًا، ما هي تركيبات المجموعات التي يجب تضمينها كمصنِّع جهاز مع جهاز جديد؟

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

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

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

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

قد تكون المجموعات إما مجموعة عملاء أو مجموعة خوادم. عندما يكون الخادم في حالة ويحتفظ بالسمات والأحداث والطلبات، يكون العميل بلا حالة وتقع على عاتق العميل مسؤولية التفاعلات مع مجموعة تجميعات الخادم عن بُعد، وبالتالي يؤدي ما يلي:

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

على الرغم من أن الرسالة المباشرة هرمية داخل العقدة، فإن العلاقة بين العُقد ليست كذلك. لا تتضمّن العُقد في Matter علاقات بين مسؤول التحكّم العمودي/الأجهزة الملحقة أو القائد/المتابع. ومن ناحية أخرى، فإن العلاقة أفقية: يمكن أن تكون أي مجموعة إما Server (خادم) أو Client (عميل). وبالتالي، قد تكون العُقدة كلاً من الخادم والعميل في ما يتعلق بالمجموعات والوظائف المختلفة.

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

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

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

في هذا النموذج، تعمل مجموعة برامج التشغيل/الإيقاف على العقدة A على تغيير سمات مجموعة خوادم التفعيل/الإيقاف في العقدة A وعقدة B، في حين تعمل مجموعة برامج العقدة B على تغيير مجموعة الخوادم على العقدة B نفسها فقط.

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

مجموعة واصف

وكما يشير الاسم، يقدّم خادم مجموعة الرموز الوصفية معلومات عن التفسير. كما أنّها تصف نقطة النهاية التي تعدّد:

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

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

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

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

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

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

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

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

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

قائمة الأجزاء

تحتوي السمة PartsList على قائمة بنقاط النهاية المستخدمة لتنفيذ نوع الجهاز هذا.

تحتوي PartsList على نقطة النهاية 0 (العقدة الجذر) على جميع نقاط النهاية للجهاز بشكل منفصل عن (نقطة النهاية 0).

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

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


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