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

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

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

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

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

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

أدوار العُقد

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

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

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

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

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

السمات

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

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

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

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

الفعاليات

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

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

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

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

ما هي مجموعات المجموعات العنقودية التي يجب تضمينها عندما يخطط أحد مصنّعي الأجهزة لجهاز جديد؟

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

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

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

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

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

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

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

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

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

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

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

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

المجموعة العنقودية للواصف

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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