我需要在IoTAgent UltraLight中修改注册的设备。修改是指添加一些属性,并删除其他属性。

我还想更新Orion CB中的实体。

有可能这样做吗?我怎样才能做到这一点?

最佳答案

IoTA(通常是IoTA库)公开了用于设备创建的北向配置界面。核心思想是,当您在IoTA中直接或通过IoTA管理器配置设备时,将在Context Broker中自动创建一个实体。这样的nothr供应接口也允许检索,移除和更新。

话虽这么说,IoTA的南接口设计为仅接受来自设备的措施和命令执行结果。因此,如果有新属性起作用,并且您通过IoTA为该新属性提供值,则不会在Context Broker中附加新属性;简单地,此信息将被删除。

为了接受有关新属性的数据,首先,您必须使用IoTA的上述供应接口,尤其是更新设备操作,以供应这种新属性;它将在Context Broker级别自动向实体添加新属性。从这里开始,将在Context Broker中更新发送到IoTA的新属性的值。

这样的更新请求如下所示:

PUT http://iota_host:iota_port/iot/devices/<dev_id>?protocol=<protocol_type>
Fiware-Service: <service>
Fiware-ServicePath: <subservice>

{
   "entity_type": <entity_type>,
   "attributes": [ <new_active_attrs_if_any> ],
   "lazy": [ <new_lazy_attrs_if_any> ],
   "commands": [ <new_commands_if_any> ],
   "statis_attributes": [ <new_static_attrs_if_any> ]
}


可悲的是,暂​​时无法删除已经存在的属性。

10-01 11:19