首页 > 解决方案 > 控制 oneM2M 中的灯组

问题描述

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

多灯控制的调用流程如下图所示,顺序如下:

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

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

在此处输入图像描述

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

在此处输入图像描述

在此处输入图像描述

标签: onem2m

解决方案


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

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

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

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

更新

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


推荐阅读