什么使传感器成为 AE 或容器?

What makes a sensor an AE or a Container?

我们正在尝试实施 onem2m 规范,但我们有一些误解 什么使传感器成为 AE 或容器?

例如,我有一个ardunio板,我连接了10个简单的led。然后我对两个选项感到困惑。 第一个是 我有一个 AE (Ardunio) 和每个 LED 的 10 个容器 (LED)。 另一个是 我有一个 AE (Ardunio),它是另外 10 个 AE (leds) 的父级,这些 AE 有自己的容器。

那么什么使资源成为 AE 或容器?我应该寻找什么来做出这个决定?

当您查看oneM2M设备的一般架构时,也许oneM2M资源结构更容易理解。您的 Arduino 很可能没有托管 CSE,因此它可能是连接到远程 CSE 的 Application Dedicated Node (ADN)。

Application 是此处的关键字:您的 Arduino 托管一个应用程序,例如,读取和处理一些传感器数据。它实现了该设备的功能逻辑。因此,在 oneM2M 术语中,该应用程序是一个 应用程序实体 (AE)。在 oneM2M 中,AE 具有某些属性,例如应用程序 ID 等。它还拥有连接到远程 CSE 和访问该远程 CSE 上的资源的访问权限。

AE 也是该 AE 管理的实际数据和数据结构的根。此结构可以从 Containers 构建。为每个传感器及其数据配备一个容器是一种常见的方法,例如 温度容器 气压容器 等。它是如果您想更多地构建数据,也可以在容器中包含容器。

实际的传感器数据在这些容器中进行管理。这些数据实体称为 ContentInstances。您通常只将 ContentInstances 添加到容器中,但绝不会单独删除或更新它们。通过这种方式,您可以获得数据值的一些小历史记录。这个行为,例如,这个历史应该得到多长时间,是一个容器的 属性 并且可以单独设置。 Container 提供了两个特殊的数据点,latest (la) 和 oldest (ol),可以方便地访问最新或最旧的存储值分别是一个Container。

请注意,一台设备也可能承载多个 AE。 AE是一个抽象概念。您的 Arduino 应用程序实际上可能实现了两个 AE:一个用于存储传感器数据,另一个用于从 CSE 读取数据,例如在 Arduino 上设置操作参数。

另请注意,如果您想表示实际的硬件设备(节点是 oneM2M 中连接设备的术语,如 "N" 在上面解释的 "ADN" 中)。在这里,您可以创建一个代表设备的子结构,获取有关固件、电池状态、网络信息等的信息,以及有关设备上托管的 AE 的信息。节点作为 AE,位于 CSE 的根部。

希望这对您构建应用程序的资源树有所帮助。

更新

下图显示了此资源树。

CSEBase ─┬─ AE ─┬─ Container ─┬─ ContentInstance   ◀═══ oldest  
         │      │             │                                 
         │      │             ├─ ContentInstance                
         │      │             │                                 
         │      │             ├── ...                           
         │      │             │                                 
         │      │             └─ ContentInstance   ◀═══ latest  
         │      │                                               
         │      └─ Container ─┬─ Container ─┬─ ContentInstance  
         │                    │             │                   
         │                    │             └─ ...              
         │                    │                                 
         │                    └─ Container ─┬─ ContentInstance  
         │                                  │                   
         │                                  └─ ...              
         │                                                      
         ├─ AE ─── ...                                          
         │                                                      
         └─ Node ─── ...