【发布时间】:2015-09-02 01:59:13
【问题描述】:
我对如何在 ORION 中定义实体有一些疑问。
该实体将用于包含来自特定用户的智能手机的 GPS、加速度计、指南针和陀螺仪传感器数据。整个概念被定义为一个用户会话。我还想在会话“开始”和“结束”时发布。
考虑到加速度计、指南针和陀螺仪传感器的高容量预期,我不希望每次都发送此传感器信息,而是说,可能在会话结束并且所有数据都已收集到智能手机后.因此,我将属性视为值列表而不是离散值列表。因此,把这样的东西:
{
"contextElements": [
{
"type": "UserSession",
"isPattern": "false",
"id": "",
"attributes": [
{
"name": "user_id",
"type": "string",
"value": "none"
},
{
"name": "app_id",
"type": "string",
"value": "none"
},
{
"name": "status",
"type": "string",
"value": "none"
},
{
"name": "x_accelerometer",
"type": "float",
"value": "0.0"
},
{
"name": "y_accelerometer",
"type": "float",
"value": "0.0"
},
{
"name": "z_accelerometer",
"type": "float",
"value": "0.0"
},
{
"name": "gps_latitude",
"type": "float",
"value": "0.0"
},
{
"name": "gps_longitude",
"type": "float",
"value": "0.0"
},
{
"name": "gps_altitude",
"type": "float",
"value": "0.0"
},
{
"name": "gps_accuracy",
"type": "float",
"value": "0.0"
},
{
"name": "gps_heading",
"type": "float",
"value": "0.0"
},
{
"name": "gps_speed",
"type": "float",
"value": "0.0"
},
{
"name": "compass",
"type": "float",
"value": "0.0"
},
{
"name": "gyroscope",
"type": "float",
"value": "0.0"
}
]
}
],
"updateAction": "APPEND"
}
不确定这是否是正确的方法。我不想让智能手机的电池每秒甚至更少发送数据,所以我可能每分钟都这样做,因此我需要一个代表传感器数据的每个属性的值列表。我是对的还是我以错误的方式接近这个?
最后,我想在另一个应用程序中订阅这些属性,并根据值进行一些推理来创建警报,所以我可能还需要一个警报实体。
谢谢!
【问题讨论】:
-
我知道
"id": ""只是一个例子。请注意,NGSI 需要每个实体都有一个非空 ID。 -
没错,只是为了澄清,之后会生成一个唯一的ID,和一些值一样...
标签: fiware-orion