OneM2M将设备管理分为两种不同的方法。
1-服务层上的设备管理
2-使用外部管理技术进行设备管理
我想了解如何通过使用每种方法进行固件更新。但是,我仅找到非常基本的示例,例如获取内存资源对象作为设备管理的示例。但是使用和的用例是什么。有什么具体的例子可以分享吗?
我了解到,节点是实际的硬件设备,而管理对象是代表管理功能和实体的资源。但是我不理解和的相关性。
假设我有设备(AE和节点)。它具有一个固件信息,我将其作为保存在Node本身上。它还具有用于更新固件的。 (我假设MgmtCmd是由AE创建的。我也不确定谁应该创建?我猜是相关的AE。)
如何通过选择上面描述的每种方法来运行?我应该使用TR-069或OMA-DM或LWM2M DM之类的外部管理服务吗?还是在oneM2M服务层进行设备管理足以做到这一点?
OneM2M所说的资源是的实例。如果我更新的 execEnable 属性,则与该相关的应该创建一个作为子资源。然后应在该的属性是什么意思?我应该怎么做?如果我更新一次,那么如果我多次运行相同的命令,如何用相同的值更新相同的属性。
如您所见,我真的很困惑。您能否简要说明并给出一个明显的示例,说明如何在OneM2M上进行设备管理(例如固件更新)?
1 个答案:
答案 0 :(得分:2)
我同意,oneM2M的管理抽象部分可能很难理解。我想最重要的一点可以在TS-0001的图“ 6.2.4.1.1-1:设备管理体系结构”以及该章的随附文本中看到:
- 要管理的设备是节点(ASN,ADN或MN)。
- 设备管理功能是在CSE中实现的。
- 设备管理的“业务”部分(例如,应更新哪些设备)是触发例如更新的AE。此AE可能还充当设备管理系统的角色,因此也可能在设备启动阶段为该设备创建所有必需的,专业化资源等。
- 设备管理功能可以通过一个M2M手段来实现,也可以利用诸如TR-0069,OMA DM等底层管理协议来实现。这些协议的绑定和映射是在单独的规范中定义的(例如TS-0005)或TS-0006)。
- 也可以管理非oneM2M设备,但是为此,在连接节点上需要一个管理代理,该节点充当管理代理以执行(本地)管理以及将这些设备映射到oneM2M 的。
对于第二部分(AE如何执行管理命令):如前所述,资源和所有可用的管理功能(如专业化)是在设备的启动阶段创建的AE负责发现阶段。
要触发管理命令(例如,启动固件更新),请遵循以下条件:
- AE会根据更新,但仅更新 execEnable 属性。
- 然后,CSE在内部为该创建一个新的资源,并返回更新的的资源(!)。实际上, execEnable 属性在资源中并未真正更改,它仅触发创建。
- 返回的包含有关管理资源的所有必要信息,并充当AE实际管理的“代理”。
为什么这么复杂?远程管理不是一个立即的过程。设备可能正忙甚至关闭,该操作可能需要一些时间等。为了将(可能是浪费时间和资源的)责任和工作从CSE转移到AE,资源有助于解耦此过程。来自CSE的实际管理部分。人们可以在资源中看到很多过程状态信息,功能和约束。另一个优点是,多个AE可以以受管和受控的方式访问相同的。
我希望这能回答您的问题。