【问题标题】:Controlling Group Of Lights in oneM2M控制 oneM2M 中的灯组
【发布时间】:2019-04-15 15:08:02
【问题描述】:

如果 IN-AE 使用 ADN-AE1 和 ADN-AE2 创建一组灯光,只使用一个请求来控制它们会怎样。该图显示,它使用一个请求来控制它们,但是当我单击request example 时,它会一一创建 。是否有任何示例可以仅通过一个请求来控制一组资源,或者这不在 oneM2M 的范围内?

多灯控制的调用流程如下图所示 并按如下顺序排列:

当用户在她/他的智能手机上更新一组灯光状态时, IN-AE 创建一个针对一组 Light 的新 contentInstance MN-CSE 上托管的 ADN-AE 容器资源。此处显示的请求

对于每个成功创建的 contentInstances,MN-CSE 发送一个 通知相应的 Light ADN-AE。

---------- --------- 已编辑 ------------ -------------------

【问题讨论】:

    标签: onem2m


    【解决方案1】:

    资源捆绑和管理许多资源(相同或混合资源类型),在您的示例中,两个 在 ADN-AE1 和 ADN-AE2 下。

    除了它的其他属性之外, 还有一个称为 的虚拟资源。这个虚拟资源在内部将它收到的对 的所有合适资源的每个请求相乘,无论是 CREATE、READ、UPDATE 还是 DELETE。

    在示例中, 在它们被组织成一个组之前就已经存在,并且可以独立访问和控制。 资源现在将它们捆绑在一起,并使它们作为单个实体可用于应用程序。当这个 接收到一个 的 CREATE 请求时,该组会自动为其所有资源创建一个新的 资源。但是,对于 ADN-AE, 的创建位置和创建方式并不重要。

    有趣的是,这将 IN-AE 应用程序与基础架构的实际部署和编排分离。想象一下,一个 捆绑了一个家中的所有灯。这个 由 home manager AE 管理。现在,另一个 AE,用于在居民离开时管理家庭,不需要了解家庭中的实际设备。它只需要向 资源发送一个请求来关闭所有的灯。

    更新

    查看 oneM2M 的“TS-0001 - 功能架构”, 的“9.6.13 - 资源类型组”部分和 的“9.6.14 - 资源类型 fanOutPoint”部分以了解此行为的规范.

    【讨论】:

    • 所以我只需要发送一个 到相关的 然后 cse 应该注意如何处理它。您知道任何提供此场景示例的 OneM2M 文档吗?
    • 没错,CSE 负责处理和扇出对资源的请求。您可能希望在 TS-0001 中检查 的“9.6.13 - 资源类型组”部分和 的“9.6.14 - 资源类型 fanOutPoint”部分。
    • 这是一个很好的观点。该组已经通过其“memberType”属性“知道”其资源的类型。无需指定类型。当“memberType”混合在一起时,它实际上是没有意义的。无论如何,CSE 都必须检查各个资源类型。但也许这应该在规范中更清楚地说明。
    • 其实我并没有提到 的 'memberType' 属性。在 TR-0025 指南中,有一条消息使用组扇出 (8.7.11.4) 更新所有灯的状态。关键是,在该示例中,发布请求的 Content-Type 标头中不包含任何“ty”属性。但是规范说每个发布请求必须在其标头的内容类型属性中包含“ty”属性,但示例没有。那么这是组扇出的例外吗?
    • 你是对的,'ty' 属性必须出现在 CREATE 请求中。您似乎在 TR-0025 中发现了问题。我将在 oneM2M 中转发此内容。
    最近更新 更多