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

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

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

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

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

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

نقش های گره

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

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

خوشه ها

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

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

صفات

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

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

دستورات

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

رویدادها

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

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

نقطه پایانی 0 برای خوشه های سودمند رزرو شده است. خوشه های سودمند، خوشه های خاصی هستند که عملکردهای سرویس دهی را در نقطه پایانی، مانند کشف، آدرس دهی، تشخیص و به روز رسانی نرم افزار در بر می گیرند. از سوی دیگر، Application Cluster از اقدامات اولیه مانند روشن/خاموش یا اندازه گیری دما پشتیبانی می کند.

انواع دستگاه

در مجموع، زمانی که سازنده دستگاه برای یک دستگاه جدید برنامه ریزی می کند، کدام ترکیب های Cluster باید گنجانده شوند؟

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

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

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

مشتریان و سرورها

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

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

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

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

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

لامپ هایی که هم نور روشن/خاموش و هم سوئیچ نور را اجرا می کنند
شکل 4: خوشه های مشتری و سرور

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

در بخش بعدی نحوه تعامل Client و Server Cluster را توضیح خواهیم داد: مدل تعامل .

خوشه توصیفگر

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

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

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

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

خوشه های سرور

ویژگی ServerList سرورهای کلاستر را در نقطه پایانی فهرست می کند.

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

ویژگی ClientList Clients Cluster را در Endpoint فهرست می کند.

لیست نوع دستگاه

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

لیست قطعات

PartsList حاوی لیستی از نقاط پایانی است که برای اجرای این نوع دستگاه استفاده می شود.

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

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

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


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