我对如何在ORION中定义实体有一些疑问。
该实体将用于包含来自特定用户的智能手机的GPS,加速度计,罗盘和陀螺仪传感器数据。整个概念被定义为用户会话。我还想在会话“开始”和“结束”时发布。
考虑到专门针对加速度计,指南针和陀螺仪传感器的高容量,我不希望每次发生时都发送此传感器信息,但是说,可能一旦会话结束并且所有数据都已收集在智能手机中。因此,我将属性更多地视为值列表而不是离散值。因此,把这样的东西:
Thread t = new Thread(new Runnable() {
@Override
public void run() {
runTCCmd(tc.createJavaClass());
}
});
t.start();
t.join();
不确定这是否是正确的方法。我不想每秒钟甚至更少地杀死智能手机发送数据的电池,所以我可能每分钟都这样做,所以我需要一个代表传感器数据的每个属性的值列表。我是对的还是我以错误的方式接近这个?
最后,我想在另一个应用程序中订阅这些属性,并根据值创建警报进行一些推理,所以我也可能也需要一个警报实体。
谢谢!
答案 0 :(得分:1)
Orion API非常灵活,可以为您提供多种功能:
如果您想在客户端节省电池,那么最后一个选项可能是最合适的。例如,您可以在客户端中保存一个缓冲区,其中实体的更改会发生变化,并在每分钟发送一个updateContext请求时刷新缓冲区以及所有累积的更改。