отличается от обычного ресурса во многих отношениях:
- Ресурс не хранит фактические значения в самом ресурсе. Дочерние ресурсы , т.е. или еще ресурсов, делайте. Напротив, специализация содержит сами фактические значения.
- A сам по себе не может быть непосредственно создан, он является только логической основой для дальнейших специализаций (очень похоже на базовый класс в ООП). Он определяет ряд атрибутов, которые поддерживают эти специализации, например, атрибут containerDefinition содержит идентификатор, который определяет фактический тип конкретного ресурса . Специализация затем определяет четко определенную структуру, которая может содержать довольно сложную структуру точек данных.
Упомянутые устройства и классы модулей из TS-0023 являются такими специализациями, например, температура . Эти специализации имеют четко определенную структуру с семантикой, ограничениями и т. Д.
- Большим преимуществом является то, что его можно обновлять, тогда как в можно только добавлять или удалять. Это также означает, что если приложению требуется только текущий статус устройства и его не интересуют более старые значения данных, одна специализация - это (более или менее) все, что нужно приложению.
- Все точки данных, содержащиеся в специализации , считываются и записываются одновременно. В некоторых случаях это снижает нагрузку на связь и снижает вероятность возникновения гонки при чтении или записи большого количества точек данных.
К SDT: Шаблон смарт-устройства - это метод спецификации для определения функциональных блоков «Lego», так называемых «ModuleClasses». Эти ModuleClasses могут тогда быть взяты, чтобы построить прототип "Устройства".
Упомянутая спецификация oneM2M «TS-0023: информационная модель и отображение бытовой техники» определяет ряд этих классов и устройств ModuleClass и устройств, а также соответствие специализациям . Это означает, что для определения функциональности «температура» / ModuleClass существует ресурс oneM2M .
Когда вы хотите создать новое определение устройства с использованием SDT, я бы посоветовал вам сначала взглянуть на список уже определенных ModuleClasses и Devices в TS-0023. Если нужная вам функциональность недоступна, вы можете определить свой собственный ModuleClass и Device, написав свой собственный файл SDT.
Определение SDT доступно в https://git.onem2m.org/MAS/SDT.
Последняя версия SDT для ModuleClasses и устройств, определенных в TS-0023, доступна по адресу https://git.onem2m.org/MAS/Home-Appliances.
Инструмент для генерации необходимого XSD из вашего определения SDT можно найти по адресу https://github.com/Homegateway/SDTTool.
Еще две ноты :
- Допускает ли CSE самостоятельную специализацию , зависит от реализации и политик CSE.
- На момент написания статьи (апрель 2019 г.) oneM2M работает над новой версией SDT, которая поддерживает, например, определения продуктов, лучшее наследование и дальнейшую семантическую поддержку. oneM2M также работает над новой версией спецификации TS-0023 для поддержки междоменных сценариев и устройств IoT, а не только домашнего домена.