我希望能够通过旅程对 OBD 设备测量(gps 数据、速度)和事件(硬加速、减速、猛烈转弯……)进行建模。能够检索此测量/事件或按旅程计算聚合非常重要。
我该如何管理?目前,事件和测量直接链接到 managedObject 并且无法查询自定义属性的 API(我想我可以将旅程 ID 添加为每个测量的自定义属性,但即使使用这种解决方法,我也无法在此字段上进行过滤)。
也许我可以将旅程作为 childDevice 来管理?这是建模的最佳方式吗?
我希望能够通过旅程对 OBD 设备测量(gps 数据、速度)和事件(硬加速、减速、猛烈转弯……)进行建模。能够检索此测量/事件或按旅程计算聚合非常重要。
我该如何管理?目前,事件和测量直接链接到 managedObject 并且无法查询自定义属性的 API(我想我可以将旅程 ID 添加为每个测量的自定义属性,但即使使用这种解决方法,我也无法在此字段上进行过滤)。
也许我可以将旅程作为 childDevice 来管理?这是建模的最佳方式吗?
一种方法是将 JourneyId 作为自定义属性,但作为键。
例如
{
"source": "...",
"type": "...",
"c8y_SpeedMeasurement": { "speed": { "value": 90, "unit": "km/h"}},
"journey12345": {}
}
12345 将是旅程 ID。
这样你就可以查询 /measurement/measurements?fragmentType=journey12345
当然,您应该考虑存储,因为您将拥有很多测量值。
将旅程作为自己的 managedObjects 进行管理并使用旅程对象作为源来创建测量是一个有效的选项。但在这种情况下,测量值不会分配给设备,因此在默认 UI 中也不会作为设备测量值可见。而不是 childDevices,childAssets 可能更适合旅程(它们不是真正的设备)。测量源不一定是“设备”。它可以是任何托管对象。