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