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

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

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

نقطة النهاية 0 محجوزة لمجموعات الأدوات. مجموعات الأدوات المساعدة هي مجموعات محدّدة تتضمّن وظائف الصيانة على نقطة نهاية، مثل الاكتشاف والعنونة والتشخيص وتحديث البرامج. من ناحية أخرى، تتيح مجموعات التطبيقات تنفيذ إجراءات أساسية، مثل التشغيل/الإيقاف أو قياس درجة الحرارة.
أنواع الأجهزة
بشكل عام، ما هي مجموعات Cluster التي يجب تضمينها عندما تخطّط الشركة المصنّعة للأجهزة لطرح جهاز جديد؟
يتطلّب مواصفات Matter أن ينفّذ الجهاز نوعًا واحدًا أو أكثر من أنواع الأجهزة أو يوسّع نطاقها. نوع الجهاز هو مجموعة من المجموعات الإلزامية والاختيارية التي تحدّد السمات ذات المستوى الأعلى لجهاز مادي، مثل المصباح القابل للتعتيم أو قفل الباب أو مشغّل الفيديو.
لا يحدّد المستند الرئيسي لمواصفات Matter أنواع الأجهزة، بل يحدّدها مستند مصاحب هو مكتبة الأجهزة. وبالمثل، يتم تحديد جميع مجموعات التطبيقات في مكتبة مجموعات التطبيقات. يمكنك العثور على هذه المستندات الثلاثة على Connectivity Standards Alliance (Alliance) الموقع الإلكتروني الخاص بالأعضاء.
يجب أن تنفّذ كل نقطة نهاية تنفّذ نوع جهاز المجموعات الإلزامية التي تحدّد نوع الجهاز هذا. بالإضافة إلى المجموعات الإلزامية، يمكن أن تنفّذ نقطة النهاية مجموعات إضافية، بما في ذلك مجموعة واحدة أو أكثر من المجموعات الاختيارية لنوع الجهاز، أو حتى المجموعات التي لا تشكّل جزءًا من نوع الجهاز.
العملاء والخوادم
قد تكون المجموعات إما مجموعة عملاء أو مجموعة خوادم. بينما يكون الخادم حالة ويحتوي على سمات وأحداث وأوامر، يكون العميل بلا حالة وتتمثّل مسؤوليته في بدء التفاعلات مع مجموعة خوادم بعيدة، وبالتالي تنفيذ ما يلي:
- قراءة السمات البعيدة والكتابة إليها
- قراءة "الأحداث البعيدة"
- استدعاء الأوامر عن بُعد
على الرغم من أنّ نموذج البيانات يكون هرميًا ضمن عقدة، إلا أنّ العلاقة بين العُقد ليست كذلك. لا تتضمّن العُقد في Matter علاقات عمودية بين وحدة التحكّم والجهاز الطرفي أو بين الجهاز الرئيسي والجهاز التابع. على العكس من ذلك، فإن العلاقة أفقية: يمكن أن تكون أي مجموعة إما خادم أو عميل. وبالتالي، يمكن أن تكون العُقدة خادمًا وعميلًا في ما يتعلق بالمجموعات والوظائف المختلفة.
على سبيل المثال، قد يكون لدينا مصباحان على الطاولة: العقدة A والعقدة B. تنفّذ كلتا العقدتين نوع الجهاز مصباح تشغيل/إيقاف. يتضمّن نوع الجهاز هذا مجموعة خادم تشغيل/إيقاف تتحكّم في نواتج الإضاءة المادية الخاصة بها.
ومع ذلك، وكما هو الحال مع مصابيح الطاولة العادية، ستتضمّن أجهزتنا المادية أيضًا نوع الجهاز مفتاح تشغيل/إيقاف المصباح لمفاتيح التشغيل/الإيقاف المحلية. يجب أن ينفّذ نوع الجهاز هذا مجموعة عميل تشغيل/إيقاف حتى يتمكّن من التحكّم في مجموعات الخادم.

في هذا المثال، يغيّر "مجموعة العملاء" التي يمكن تفعيلها أو إيقافها على "العقدة أ" سمات "مجموعة الخوادم" التي يمكن تفعيلها أو إيقافها على "العقدة أ" و"العقدة ب"، بينما تغيّر "مجموعة العملاء" على "العقدة ب" "مجموعة الخوادم" على "العقدة ب" فقط.
في القسم التالي، سنشرح بالتفصيل كيفية تفاعل مجموعات العملاء والخوادم، أي نموذج التفاعل.
مجموعة أدوات الوصف
وكما يوحي الاسم، يوفّر خادم مجموعة الواصفات معلومات حول الاستبطان. يصف نقطة النهاية من خلال تعداد ما يلي:
- مجموعات الخوادم
- مجموعات العملاء
- أنواع الأجهزة
- نقاط نهاية إضافية، تُعرف باسم "الأجزاء"
يتطلّب كل نوع جهاز تنفيذ مجموعات الواصفات. يتم تحديد نوع الجهاز الجذر على نقطة النهاية 0. ستتيح قراءة مجموعة الواصفات الخاصة به للعميل إمكانية التنقّل في الشجرة الكاملة لنقاط النهاية المتاحة وتنفيذ العمليات السارية.
يمكن للمفوّض أو جهاز التحكّم، مثل الهاتف أو المحور، استخدام المعلومات الواردة في مجموعة "وصف الجهاز" لتصميم الجهاز (المصباح، والمفتاح، والمضخة، ومنظّم الحرارة)، والميزات المحدّدة التي تم تنفيذها في هذا الجهاز، وعرض واجهة المستخدم الصحيحة للمستخدم.
مجموعات الخوادم
تعرض السمة ServerList
خوادم المجموعة في نقطة النهاية.
مجموعات العملاء
تعرض السمة ClientList
قائمة ببرامج Cluster Clients في نقطة النهاية.
قائمة أنواع الأجهزة
السمة DeviceTypeList
هي قائمة بأنواع الأجهزة المتوافقة مع نقطة النهاية، بالإضافة إلى المراجعات الخاصة بها. يجب أن يحتوي على نوع جهاز واحد على الأقل.
قائمة الأجزاء
يحتوي PartsList
على قائمة بنقاط النهاية المستخدَمة لتنفيذ نوع الجهاز هذا.
يحتوي PartsList
لنقطة النهاية 0 (العقدة الجذر) على جميع نقاط النهاية الخاصة بالجهاز باستثناء نقطة النهاية 0.
عادةً ما يكون PartsList
لنقاط النهاية الأخرى فارغًا. على سبيل المثال، يتطلّب جهاز استشعار الحرارة مجموعة خوادم لقياس درجة الحرارة فقط.
قد يتم إنشاء أنواع الأجهزة الأخرى في بنية شجرية تتضمّن أكثر من مثيل واحد من DeviceType. على سبيل المثال، يمكن أن يتألف نوع الجهاز "جهاز تشغيل الفيديو" من تلفزيون ومشغّل فيديو ومكبّر صوت وأنواع مختلفة من أجهزة تطبيقات المحتوى، كلّ منها على نقطة نهاية مختلفة.
-
تحدّد مواصفات Matter أنّ الجهاز قد يتضمّن عدة عقد. على سبيل المثال، قد تحتوي الهواتف الذكية على تطبيقات متعددة، وكل تطبيق يمثّل عقدة مختلفة. لأغراض هذا الدليل التمهيدي، ستتضمّن جميع الأجهزة عقدة واحدة. من المتوقّع أن تتبع معظم الأجهزة المادية هذا النمط. ↩