0

我目前正在开发一个四轴飞行器,它将使用来自旧 android 4.0.3 的传感器,我想知道通过 WiFi 将实时数据发送到服务器以进行日志记录的最佳方式是什么(即每次数据更新为SensorManager.SENSOR_DELAY_GAME)

我目前正在使用:

mSensorManager.registerListener(this, mGyroscope, SensorManager.SENSOR_DELAY_GAME);
mSensorManager.registerListener(this, mRotationVector, SensorManager.SENSOR_DELAY_GAME);
mSensorManager.registerListener(this, mGrav, SensorManager.SENSOR_DELAY_GAME);
mSensorManager.registerListener(this, mLumen, SensorManager.SENSOR_DELAY_GAME);

每个请求将发送 3 个浮点数。

我知道我可以做一个简单的 httprequest 并在每次更新时发送数据,但我觉得手机很难每分钟处理约 30-100 个请求并且不会超载。

我正在考虑的另一个解决方案是将数据临时存储在手机上,并有一个每 20-33 毫秒触发一次的事件来发送它拥有的数据。

但是,我仍然不确定这些是否是好的解决方案。如果有人有更好的解决方案,请告诉我。

我将使用的主要手机是HTC EVO 3D Specs或可能是SAMSUNG Galaxy S4

作为旁注,该应用程序还必须以约 25-33Hz 的速率发送蓝牙数据,以告诉电机如何移动。

PS 是否有可能创建一个 HTML5 websocket 直接与手机通话以显示实时数据?如果可能的话,这将是一个很好的理想解决方案。

4

1 回答 1

0

websocket 听起来是一个很好的解决方案——保持套接字打开将避免每次设置和断开连接的开销。

看看http://autobahn.ws/android - 我只是简单地尝试过,但它似乎工作得很好。

于 2013-07-22T01:44:08.450 回答