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

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

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

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

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

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

أدوار العُقد

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

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

المجموعات

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

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

السمات

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

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

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

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

الفعاليات

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

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

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

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

بشكل عام، ما هي مجموعات Cluster التي يجب تضمينها عندما يخطط مصنّع أجهزة لتصميم جهاز جديد؟

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

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

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

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

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

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

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

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

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

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

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

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

مجموعة أدوات الوصف

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

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

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

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

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

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

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

تعرض السمة ClientList قائمة ببرامج Cluster Clients في نقطة النهاية.

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

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

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

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

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

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

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


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