设备位置更新应创建新的事件还是更新托管对象

时间:2019-06-05 16:11:03

标签: cumulocity

我可以使用设备的位置创建一个c8y_Position对象。但这应该是新事件中的片段,还是设备的ManagedObject的更新?

https://cumulocity.com/guides/concepts/domain-model/展示了ManagedObjects和Events中的示例。

https://cumulocity.com/guides/device-sdk/mqtt/显示了SmartREST模板以“创建新事件”和“使用设备更新创建位置更新事件”-为什么要重复此信息?

https://cumulocity.com/guides/users-guide/device-management/#location指出“位置选项卡还显示设备何时包含c8y_Position属性。当您发送新的c8y-position事件时,可以在设备上设置相同的c8y-Position片段,它将自动在地图上标记其位置。 -这表示仅当它是托管对象的属性时才显示。然后,我将如何查看设备位置的历史记录?位置标签不适用于包含位置更新的事件吗?

鉴于这些是数字值,为什么不测量? (例如,我可能需要绘制海拔高度图-或获取位置的历史列表)

1 个答案:

答案 0 :(得分:1)

有两种不同的可视化效果:

  1. 当前位置(“位置”标签)

    这是基于mangedObject中的c8y_Position片段。

  2. 位置记录(“跟踪”标签)

    这基于包含相同c8y_Postion片段的c8y_LocationUpdate类型的事件

因此,基本上,如果您需要位置的历史记录以及与时间的关系,则还需要创建事件。如果用例恰好在最近的位置,那么您只需要更新ManagedObject中的片段即可。

为什么不测量?

尝试以这种方式查看它:纬度和经度是数字,正确。但是职位是一个对象,因为您需要两者。仅仅拥有自由度通常是没有意义的。

说过将其保存为度量标准没有害处。您只需要自己的UI即可对其进行可视化。