oneM2M 中的固件更新和管理

Firmware Update and management in oneM2M

OneM2M将设备管理分为两种不同的方法。

1- 服务层设备管理

2- 使用外部管理技术的设备管理

我想了解如何使用每种方法进行固件更新。但是我只找到非常基本的例子,比如获取内存资源对象作为设备管理的例子。但是使用 的用例是什么?有具体的例子可以分享吗?

我知道 Node 是实际的硬件设备,Management Objects 是代表管理功能和实体的资源。但我不明白 之间的相关性。

假设我有一个设备(AE & Node)。它有一个固件信息,我在节点本身上将其作为 保存。它还具有更新固件的 。 (我假设 MgmtCmd 是由 AE 创建的。我也不确定应该由谁创建 ?我猜是相关的 AE。)

我应该如何 运行 选择我上面描述的每种方法?我应该使用外部管理服务,如 TR-069 或 OMA-DM 或 LWM2M DM 吗?或者 oneM2M 服务层上的设备管理是否足以做到这一点?

OneM2M 所说的 资源是 的一个实例。如果我更新 execEnable 属性,那么与 相关的应该创建一个 作为子资源。然后应该对该 属性是什么意思?我应该怎么做?如果我更新一次,如果我多次 运行 相同的命令,我如何使用相同的值更新相同的属性。

如你所见,我真的很困惑。您能否简要解释并举一个明显的例子,说明如何在 OneM2M 上进行设备管理(例如固件更新)?

我同意,oneM2M 的管理抽象部分可能很难理解。我想最重要的点可以在TS-0001的图“6.2.4.1.1-1:设备管理架构”和该章的随附文本中看到:

  • 要管理的设备是一个节点(ASN、ADN 或 MN)。
  • 设备管理功能在 CSE 中实现。
  • 设备管理的 "business" 部分(例如,哪些设备应该获得更新)是一个 AE,例如触发更新。此 AE 也可能具有设备管理系统的作用,因此也可能在设备的入职阶段为该设备创建所有必要的 专业化等资源。
  • 设备管理功能可以通过 oneM2M 方式或利用底层管理协议(例如 TR-0069、OMA DM 等)来实现。与这些协议的绑定和映射在单独的规范(例如 TS -0005 或 TS-0006).
  • 也可以管理非 oneM2M 设备,但为此在充当管理代理的连接节点上需要一个管理代理来执行(本地)管理以及将这些设备映射到 oneM2M <节点>的。

对于第二部分(AE 如何执行管理命令):如前所述, 资源和所有可用的管理功能(如 特化)是在管理 AE 的设备发现阶段。

要触发管理命令(例如启动固件更新),以下适用:

  • AE 更新了相应的 ,但 execEnable 属性。
  • CSE 然后在内部为该 创建一个新的 资源,并 returns 它代替(!)更新的 。实际上,资源中的 execEnable 属性并没有真正改变,它只是触发 的创建。
  • 返回的包含管理资源的所有必要信息,作为AE实际管理的"proxy"。

为什么这么复杂?远程管理不是即时过程。设备可能很忙甚至关闭,操作可能需要一些时间等。为了将(可能是时间和资源消耗的)责任和工作从 CSE 转移到 AE, 资源有助于解耦这个过程来自CSE的实际管理部分。在 资源中可以看到很多过程状态信息、功能和约束。另一个优点是多个 AE 可以以受管和受控的方式访问相同的

我希望这能回答你的问题。