تتضمّن الأجهزة في Matter نموذج بيانات (DM) محدّدًا بشكل جيد، وهو نموذج هرمي لميزات الجهاز. في أعلى مستوى من هذا التسلسل الهرمي، يوجد الجهاز.
الأجهزة ونقاط النهاية
تتكوّن جميع الأجهزة، بما في ذلك الهواتف الذكية والمساعدات المنزلية، من عُقد1. العقدة هي مورد فريد يمكن التعرّف عليه بدقة والوصول إليه في شبكة يمكن للمستخدم اعتبارها وحدة وظيفية كاملة. يبدأ اتصال الشبكة في Matter وينتهي عند عقدة.
العُقد هي مجموعة من نقاط النهاية. تتضمّن كل نقطة نهاية مجموعة الخصائص. على سبيل المثال، قد ترتبط نقطة نهاية بوظيفة الإضاءة، بينما ترتبط نقطة نهاية أخرى بكشف الحركة، وتتعامل نقطة نهاية أخرى مع برامج الخدمات مثل تحديث الجهاز عبر الهواء.
أدوار العُقد
دور العقدة هو مجموعة من السلوكيات ذات الصلة. قد يكون لكل عقدة دور واحد أو أكثر. تشمل أدوار العُقد ما يلي:
- المفوِّض: هو عقدة تنفّذ عملية التفويض.
- وحدة التحكّم: هي عقدة يمكنها التحكّم في عقدة واحدة أو أكثر. وتشمل الأمثلة Google Home app (GHA) وGoogle Assistant وGoogle Nest Hub (2nd gen). بعض أنواع الأجهزة، مثل مفتاح تشغيل/إيقاف الإضاءة، لها دور "وحدة التحكّم".
- العقدة الخاضعة للتحكّم: هي عقدة يمكن التحكّم فيها من خلال عقدة واحدة أو أكثر. يمكن أن تكون معظم أنواع الأجهزة خاضعة للتحكّم، باستثناء بعض أنواع الأجهزة التي تؤدي دور المتحكّم، مثل مفتاح تشغيل/إيقاف الإضاءة. يمكن أن يكون مفتاح تشغيل/إيقاف الإضاءة وحدة تحكّم فقط. ولا يمكن أن يكون جهازًا خاضعًا للتحكّم.
- موفّر التحديثات عبر الهواء: عقدة يمكنها توفير تحديثات البرامج عبر الهواء.
- طالب التحديث عبر الهواء: هو عقدة يمكنها طلب تحديثات البرامج عبر الهواء.
المجموعات العنقودية
ضمن نقطة نهاية، تحتوي العقدة على مجموعة واحدة أو أكثر. وهي خطوة أخرى في التسلسل الهرمي للأجهزة، لأنّها تجمع وظائف معيّنة، مثل مجموعة التشغيل/الإيقاف على قابس ذكي أو مجموعة التحكّم في المستوى على نقطة نهاية لمصباح قابل للتعتيم.
قد تحتوي العقدة أيضًا على عدة نقاط نهاية، وتنشئ كل منها مثيلاً للوظيفة نفسها. على سبيل المثال، قد تتيح وحدة الإضاءة التحكّم المستقل في المصابيح الفردية، أو قد يتيح شريط المقابس التحكّم في المقابس الفردية.
السمات
في المستوى الأخير، نجد السمات، وهي الحالات التي تحتفظ بها العقدة، مثل سمة المستوى الحالي لمجموعة التحكّم في المستوى. يمكن تعريف السمات على أنّها أنواع بيانات مختلفة، مثل uint8 أو سلاسل أو مصفوفات.
الطلبات الصوتية
بالإضافة إلى السمات، تتضمّن المجموعات أيضًا أوامر، وهي إجراءات يمكن تنفيذها. وهي تعادل استدعاء إجراء عن بُعد في نموذج بيانات Matter. تكون الأوامر شبيهة بالأفعال، مثل قفل الباب في مجموعة قفل الباب. قد تؤدي الأوامر إلى إنشاء ردود ونتائج، وفي Matter، يتم أيضًا تعريف هذه الردود على أنّها أوامر، وتسير في الاتجاه المعاكس.
الفعاليات
أخيرًا، قد تحتوي المجموعات أيضًا على أحداث، والتي يمكن اعتبارها سجلّاً لعمليات نقل الحالة السابقة. في حين تمثّل السمات الحالات الحالية، تُعدّ الأحداث سجلاً للماضي، وتتضمّن عدّادًا يتزايد بشكل رتيب وطابعًا زمنيًا وأولوية. وهي تتيح تسجيل انتقالات الحالة، بالإضافة إلى وضع نماذج للبيانات لا يمكن تحقيقها بسهولة باستخدام السمات.
يتم حجز نقطة النهاية 0 من أجل مجموعات الأدوات المساعدة. "مجموعات الخدمات" (Utility Clusters) هي مجموعات محدّدة تتضمّن وظائف الصيانة في "نقطة النهاية"، مثل الاكتشاف والعنونة والتشخيص وتحديث البرامج. من ناحية أخرى، تتيح مجموعات التطبيقات تنفيذ الإجراءات الأساسية، مثل التشغيل أو الإيقاف أو قياس درجة الحرارة.
أنواع الأجهزة
إجمالاً، ما هي مجموعات المجموعات التي يجب تضمينها كخطط الشركة المصنعة للجهاز لجهاز جديد؟
تتطلّب مواصفات Matter أن ينفّذ الجهاز أو يوسّع نوع جهاز واحدًا أو أكثر. نوع الجهاز هو مجموعة من المجموعات العنقودية الإلزامية والاختيارية التي تحدّد سمات المستوى الأعلى للجهاز الفعلي، مثل مصباح قابل للتعتيم أو قفل الباب أو مشغّل الفيديو.
لا يتم تحديد أنواع الأجهزة في المستند الرئيسي لمواصفات Matter، بل في مستند مصاحب، وهو مكتبة الأجهزة. وبالمثل، يتم تحديد جميع مجموعات التطبيقات في مكتبة مجموعات التطبيقات. يمكن العثور على هذه المستندات الثلاثة على الموقع الإلكتروني لأعضاء "Connectivity Standards Alliance (Alliance)".
يجب أن تنفّذ كل نقطة نهاية تنفّذ نوع جهاز المجموعات الإلزامية التي تحدّد نوع الجهاز هذا. بالإضافة إلى المجموعات الإلزامية، قد تنفّذ نقطة النهاية مجموعات إضافية، بما في ذلك مجموعة واحدة أو أكثر من المجموعات الاختيارية لنوع الجهاز، أو حتى مجموعات ليست جزءًا من نوع الجهاز.
العملاء والخوادم
قد تكون المجموعات إما مجموعة عملاء أو مجموعة خوادم. بينما يكون الخادم مستندًا إلى الحالة ويحتوي على سمات وأحداث وأوامر، يكون العميل غير مستند إلى الحالة ومسؤوليته هي بدء التفاعلات مع مجموعة خوادم عن بُعد، وبالتالي تنفيذ ما يلي:
- القراءة من سماته البعيدة والكتابة إليها
- قراءة أحداثه عن بُعد
- استدعاء الأوامر عن بُعد
على الرغم من أنّ نموذج البيانات هرمي داخل العقدة، فإنّ العلاقة بين العُقد ليست كذلك. لا تتضمّن العُقد في Matter علاقات عمودية بين وحدة التحكّم والملحقات أو بين القائد والتابع. على العكس من ذلك، العلاقة أفقية: يمكن أن تكون أي مجموعة إما خادمًا أو عميلاً. وبالتالي، قد تكون العقدة خادمًا وعميلاً في ما يتعلق بالمجموعات والوظائف المختلفة.
على سبيل المثال، قد يكون لدينا مصباحان مكتبيان: العقدة "أ" والعقدة "ب". تنفّذ كلتا العقدتَين نوع الجهاز مصباح تشغيل/إيقاف. يتضمّن نوع الجهاز هذا مجموعة خادم التشغيل/الإيقاف التي تتحكّم في مخرجات الإضاءة المادية لكل منها.
ولكن، كما هو الحال مع المصابيح المكتبية العادية، ستتضمّن أجهزتنا الفعلية أيضًا نوع الجهاز مفتاح تشغيل/إيقاف الإضاءة لمفاتيح التشغيل/الإيقاف المحلية. يجب أن ينفّذ نوع الجهاز هذا مجموعة عميل التشغيل/الإيقاف ليتمكّن من التحكّم في مجموعات الخادم.
في هذا النموذج، يغيّر عنقود العميل "تشغيل/إيقاف" في العقدة "أ" سمات عنقود الخادم "تشغيل/إيقاف" في العقدة "أ" والعقدة "ب"، بينما يغيّر عنقود العميل في العقدة "ب" عنقود الخادم في العقدة "ب" فقط.
في القسم التالي، سنشرح بالتفصيل كيفية تفاعل مجموعات العميل والخادم: نموذج التفاعل.
مجموعة الكلمات الوصفية
كما يوحي الاسم، يوفّر خادم Descriptor Cluster Server معلومات حول الاستبطان. يصف نقطة النهاية من خلال تعداد ما يلي:
- مجموعات الخوادم العنقودية:
- مجموعات العملاء العنقودية
- أنواع الأجهزة:
- نقاط النهاية الإضافية، المعروفة باسم "الأجزاء"
يتطلّب كل نوع جهاز تنفيذ مجموعات الوصف. يتم تحديد نوع الجهاز الجذر في نقطة النهاية 0. وستتيح قراءة مجموعة الواصفات للعميل إمكانية الاطّلاع على الشجرة الكاملة لنقاط النهاية المتاحة وتنفيذ العمليات السارية.
يمكن لجهاز "المفوِّض" أو "التحكّم"، مثل الهاتف أو المحور، استخدام المعلومات المتوفّرة في Descriptor Cluster لإنشاء نموذج للجهاز (مصباح أو مفتاح أو مضخة أو منظّم حرارة) وميزات معيّنة يوفّرها هذا النموذج المحدّد من الجهاز، ما يعرض واجهة المستخدم الصحيحة للمستخدم.
مجموعات الخوادم
تعرض السمة ServerList خوادم المجموعة في نقطة النهاية.
مجموعات العملاء العنقودية
تعرض السمة ClientList قائمة بـ Cluster Clients في نقطة النهاية.
قائمة أنواع الأجهزة
سمة DeviceTypeList هي قائمة بأنواع الأجهزة المتوافقة مع نقطة النهاية، بالإضافة إلى نُسخها المعدَّلة. ويجب أن يحتوي على نوع جهاز واحد على الأقل.
قائمة قطع الغيار
يحتوي PartsList على قائمة نقاط النهاية المستخدَمة لتنفيذ نوع الجهاز هذا.
يحتوي PartsList لنقطة النهاية 0 (العقدة الجذرية) على جميع نقاط النهاية للجهاز باستثناء نفسه (نقطة النهاية 0).
وعادةً ما يكون حقل PartsList لنقاط النهاية الأخرى فارغًا. على سبيل المثال، يتطلّب جهاز استشعار الحرارة مجموعة خوادم لقياس درجة الحرارة فقط.
قد تتكوّن أنواع الأجهزة الأخرى من بنية شجرية تتضمّن أكثر من مثيل واحد لنوع الجهاز. على سبيل المثال، يمكن أن يتكوّن نوع جهاز مشغّل الفيديو من تلفزيون ومشغّل فيديو ومكبّر صوت وأنواع مختلفة من أجهزة تطبيقات المحتوى، وكلّ منها على نقطة نهاية مختلفة.
-
تحدّد مواصفات Matter أنّ الجهاز قد يحتوي على عُقد متعددة. على سبيل المثال، قد تحتوي الهواتف الذكية على تطبيقات متعددة، وكل تطبيق يمثّل عقدة مختلفة. لأغراض هذا الدليل التمهيدي، ستحتوي جميع الأجهزة على عقدة واحدة. ومن المتوقّع أن تتبع معظم الأجهزة الفعلية هذا النمط. ↩