مدل داده های دستگاه

دستگاه‌ها در Matter یک مدل داده ( DM ) خوش‌تعریف دارند که یک مدل‌سازی سلسله مراتبی از ویژگی‌های یک دستگاه است. در بالاترین سطح این سلسله مراتب، یک Device وجود دارد.

دستگاه‌ها و نقاط پایانی

همه دستگاه‌ها، از جمله تلفن‌های هوشمند و دستیاران خانگی، از گره‌ها تشکیل شده‌اند. گره یک منبع منحصر به فرد قابل شناسایی و آدرس‌دهی در شبکه است که کاربر می‌تواند آن را به صورت عملکردی کامل درک کند. ارتباطات شبکه در Matter از یک گره آغاز و به یک گره ختم می‌شود.

گره‌ها مجموعه‌ای از نقاط پایانی هستند. هر نقطه پایانی مجموعه‌ای از ویژگی‌ها را در بر می‌گیرد. برای مثال، یک نقطه پایانی ممکن است مربوط به عملکرد روشنایی باشد، در حالی که دیگری مربوط به تشخیص حرکت است و دیگری با ابزارهایی مانند Device OTA سروکار دارد.

سلسله مراتب دستگاه‌ها، گره‌ها و نقاط پایانی
شکل ۱: دستگاه‌ها، گره‌ها و نقاط پایانی

نقش‌های گره

نقش گره مجموعه‌ای از رفتارهای مرتبط است. هر گره ممکن است یک یا چند نقش داشته باشد. نقش‌های گره عبارتند از:

  • کمیسر : گره‌ای که کار راه‌اندازی را انجام می‌دهد.
  • کنترل‌کننده : گره‌ای که می‌تواند یک یا چند گره را کنترل کند. نمونه‌هایی از آن شامل Google Home app (GHA) ، Google Assistant و Google Nest Hub (2nd gen) است. برخی از انواع دستگاه‌ها، مانند کلید روشن/خاموش چراغ ، نقش کنترل‌کننده را دارند.
  • کنترل‌شونده : گره‌ای که می‌تواند توسط یک یا چند گره کنترل شود. اکثر انواع دستگاه‌ها می‌توانند کنترل‌شونده باشند، به جز برخی از انواع دستگاه‌ها که نقش کنترل‌کننده دارند، مانند کلید روشن/خاموش چراغ . کلید روشن/خاموش چراغ فقط می‌تواند یک کنترل‌کننده باشد. نمی‌تواند یک کنترل‌شونده باشد.
  • ارائه‌دهنده OTA : گره‌ای که می‌تواند به‌روزرسانی‌های نرم‌افزار OTA را ارائه دهد.
  • درخواست‌کننده OTA : گره‌ای که می‌تواند به‌روزرسانی‌های نرم‌افزار OTA را درخواست کند.

خوشه‌ها

درون یک نقطه پایانی، یک گره دارای یک یا چند خوشه است. این‌ها گام دیگری در سلسله مراتب دستگاه‌ها هستند، زیرا عملکردهای خاصی مانند خوشه روشن/خاموش در یک پریز هوشمند یا خوشه کنترل سطح در یک نقطه پایانی با قابلیت تنظیم نور را گروه‌بندی می‌کنند.

یک گره همچنین ممکن است چندین نقطه پایانی داشته باشد که هر کدام نمونه‌ای از یک عملکرد مشابه را ایجاد می‌کنند. به عنوان مثال، یک چراغ روشنایی ممکن است کنترل مستقل چراغ‌های منفرد را در معرض نمایش قرار دهد یا یک پریز برق ممکن است کنترل پریزهای منفرد را در معرض نمایش قرار دهد.

ویژگی‌ها

در آخرین سطح، Attributes را خواهیم یافت که حالت‌هایی هستند که توسط گره نگهداری می‌شوند، مانند ویژگی سطح فعلی یک خوشه کنترل سطح . Attributes ممکن است به عنوان انواع داده مختلفی مانند uint8، رشته‌ها یا آرایه‌ها تعریف شوند.

سلسله مراتب گره‌ها، نقاط پایانی، ویژگی‌ها و دستورات
شکل ۲: گره‌ها، نقاط پایانی، ویژگی‌ها و دستورات

دستورات

علاوه بر ویژگی‌ها، خوشه‌ها همچنین دارای دستورات (Commands) هستند که اقداماتی هستند که ممکن است انجام شوند. آنها معادل فراخوانی روال از راه دور در DM مربوط به Matter هستند. دستورات فعل مانند هستند، مانند قفل کردن در روی خوشه قفل در . دستورات ممکن است پاسخ‌ها و نتایجی ایجاد کنند؛ در Matter ، چنین پاسخ‌هایی نیز به عنوان دستورات تعریف می‌شوند، که در جهت معکوس قرار دارند.

رویدادها

در نهایت، خوشه‌ها ممکن است دارای رویدادها نیز باشند که می‌توان آنها را به عنوان سابقه‌ای از انتقال حالت‌های گذشته در نظر گرفت. در حالی که ویژگی‌ها نشان‌دهنده حالت‌های فعلی هستند، رویدادها یک ژورنال از گذشته هستند و شامل یک شمارنده با افزایش یکنواخت، یک مهر زمانی و یک اولویت می‌شوند. آنها امکان ثبت انتقال حالت‌ها و همچنین مدل‌سازی داده‌ها را فراهم می‌کنند که به راحتی با ویژگی‌ها قابل دستیابی نیست.

دستگاه نمونه کامل
شکل ۳: نمونه‌ای از سلسله مراتب مدل برهمکنش دستگاه‌های Matter

نقطه پایانی ۰ برای خوشه‌های کاربردی (Utility Clusters) رزرو شده است. خوشه‌های کاربردی، خوشه‌های خاصی هستند که عملکردهای سرویس‌دهی روی یک نقطه پایانی، مانند کشف، آدرس‌دهی، تشخیص و به‌روزرسانی نرم‌افزار را در بر می‌گیرند. از سوی دیگر، خوشه‌های کاربردی از اقدامات اولیه مانند روشن/خاموش کردن یا اندازه‌گیری دما پشتیبانی می‌کنند.

انواع دستگاه

روی هم رفته، کدام ترکیب‌های خوشه‌بندی باید در برنامه‌ریزی یک دستگاه جدید توسط یک سازنده دستگاه لحاظ شوند؟

مشخصات Matter ایجاب می‌کند که دستگاه یک یا چند نوع دستگاه را پیاده‌سازی یا توسعه دهد. یک نوع دستگاه مجموعه‌ای از خوشه‌های اجباری و اختیاری است که ویژگی‌های سطح بالای یک دستگاه فیزیکی مانند چراغ قابل تنظیم ، قفل درب یا پخش‌کننده ویدیو را تعریف می‌کنند.

انواع دستگاه‌ها توسط سند اصلی مشخصات Matter مشخص نشده‌اند، بلکه توسط یک سند همراه: کتابخانه دستگاه‌ها ، مشخص شده‌اند. به طور مشابه، تمام خوشه‌های برنامه در کتابخانه خوشه برنامه تعریف شده‌اند. این سه سند را می‌توان در وب‌سایت اعضای Connectivity Standards Alliance (Alliance) یافت.

هر نقطه پایانی که یک نوع دستگاه را پیاده‌سازی می‌کند، باید خوشه‌های اجباری که آن نوع دستگاه را تعریف می‌کنند، پیاده‌سازی کند. علاوه بر خوشه‌های اجباری، نقطه پایانی ممکن است خوشه‌های اضافی، از جمله یک یا چند خوشه اختیاری نوع دستگاه، یا حتی خوشه‌هایی که جزئی از نوع دستگاه نیستند را پیاده‌سازی کند.

کلاینت‌ها و سرورها

خوشه‌ها می‌توانند یک خوشه کلاینت یا یک خوشه سرور باشند. در حالی که یک سرور دارای وضعیت است و ویژگی‌ها، رویدادها و دستورات را در خود نگه می‌دارد، یک کلاینت بدون وضعیت است و مسئولیت آن آغاز تعاملات با یک خوشه سرور از راه دور است، بنابراین موارد زیر را انجام می‌دهد:

  • از ویژگی‌های راه دور خود می‌خواند و در آنها می‌نویسد .
  • رویدادهای دوردست آن را می‌خواند .
  • فراخوانی دستورات از راه دور آن.

در حالی که DM در یک گره سلسله مراتبی است، رابطه بین گره‌ها اینگونه نیست. گره‌ها در Matter روابط عمودی کنترل‌کننده/پیرامون یا رهبر/پیرو ندارند. برعکس، رابطه افقی است: هر خوشه می‌تواند سرور یا کلاینت باشد. بنابراین یک گره می‌تواند با توجه به خوشه‌ها و عملکردهای مختلف، هم سرور و هم کلاینت باشد.

برای مثال، ممکن است دو چراغ رومیزی داشته باشیم: گره A و گره B. هر دو گره یک نوع دستگاه روشنایی روشن/خاموش را پیاده‌سازی می‌کنند. این نوع دستگاه شامل یک خوشه سرور روشن/خاموش است که خروجی‌های نوری فیزیکی مربوط به آنها را کنترل می‌کند.

اما، همانطور که چراغ‌های رومیزی معمولی این کار را انجام می‌دهند، دستگاه‌های فیزیکی ما نیز شامل یک نوع دستگاه کلید روشن/خاموش برای کلیدهای روشن/خاموش محلی خود خواهند بود. این نوع دستگاه باید یک خوشه کلاینت روشن/خاموش را پیاده‌سازی کند تا بتواند خوشه‌های سرور را کنترل کند.

لامپ‌هایی که هم چراغ روشن/خاموش و هم کلید چراغ را اجرا می‌کنند
شکل ۴: خوشه‌های کلاینت و سرور

در این نمونه، خوشه کلاینت روشن/خاموش در گره A، ویژگی‌های خوشه سرور روشن/خاموش در گره‌های A و B را تغییر می‌دهد، در حالی که خوشه کلاینت گره B فقط خوشه سرور را در خود گره B تغییر می‌دهد.

در بخش بعدی، نحوه تعامل خوشه‌های کلاینت و سرور را با جزئیات شرح خواهیم داد: مدل تعامل .

خوشه توصیفگر

همانطور که از نامش پیداست، سرور خوشه توصیفگر اطلاعات درون‌نگری را ارائه می‌دهد. این سرور، نقطه پایانی را با شمارش موارد زیر توصیف می‌کند :

  • خوشه‌های سرور.
  • خوشه‌های مشتری.
  • انواع دستگاه.
  • نقاط پایانی اضافی، که به عنوان قطعات شناخته می‌شوند.

هر نوع دستگاه نیاز به پیاده‌سازی خوشه‌های توصیف‌گر دارد. نوع دستگاه ریشه در نقطه پایانی ۰ تعریف شده است. خواندن خوشه توصیف‌گر آن، به کلاینت این امکان را می‌دهد که درخت کامل نقاط پایانی موجود را پیمایش کرده و عملیات مربوطه را انجام دهد.

دستگاه کمیسر یا کنترل‌کننده مانند تلفن یا هاب می‌تواند از اطلاعات موجود در خوشه توصیف‌گر برای مدل‌سازی دستگاه (چراغ، کلید، پمپ، ترموستات) و ویژگی‌های خاص پیاده‌سازی شده توسط آن نمونه خاص از دستگاه استفاده کند و رابط کاربری صحیح را به کاربر نشان دهد.

خوشه‌های سرور

ویژگی ServerList ، سرورهای کلاستر را در Endpoint فهرست می‌کند.

خوشه‌های مشتری

ویژگی ClientList ، کلاینت‌های کلاستر را در Endpoint فهرست می‌کند.

فهرست نوع دستگاه

ویژگی DeviceTypeList فهرستی از انواع دستگاه‌های پشتیبانی‌شده توسط Endpoint به همراه نسخه‌های مربوطه است. این فهرست باید حداقل شامل یک نوع دستگاه باشد.

فهرست قطعات

PartsList شامل فهرستی از Endpointهای مورد استفاده برای پیاده‌سازی این نوع دستگاه است.

PartsList ) مربوط به نقطه پایانی ۰ (گره ریشه) شامل تمام نقاط پایانی دستگاه به جز خودش (نقطه پایانی ۰) است.

PartsList سایر Endpointها معمولاً خالی خواهد بود. برای مثال، یک سنسور دما، یک خوشه سرور اندازه‌گیری دما را الزامی می‌کند و نه چیز دیگری.

انواع دیگر دستگاه‌ها ممکن است در یک ساختار درختی از بیش از یک نمونه از نوع دستگاه تشکیل شوند. به عنوان مثال، یک نوع دستگاه پخش ویدئو می‌تواند از تلویزیون، پخش‌کننده ویدئو، بلندگو و انواع مختلف دستگاه‌های برنامه محتوا تشکیل شود که هر کدام در یک نقطه پایانی متفاوت قرار دارند.


  1. مشخصات Matter تعیین می‌کند که یک دستگاه ممکن است چندین گره داشته باشد. برای مثال، تلفن‌های هوشمند ممکن است چندین برنامه داشته باشند که هر برنامه یک گره متفاوت است. برای اهداف این مقدمه، همه دستگاه‌ها شامل یک گره واحد خواهند بود. انتظار می‌رود که اکثر دستگاه‌های فیزیکی از این الگو پیروی کنند.