我在订阅movesense发送的值时遇到了一些麻烦。以前,我设法通过创建自己的服务同时获取加速度计和陀螺仪数据,其中包含两者,正如 user1987093 建议的那样,作为以下问题的答案:同时读取加速度计和陀螺仪。
这在新设备更新发布之前一直正常工作,当我想使用更新中的新功能(基本上来自快速传感器的更高采样率)时,我意识到我的 Android 应用程序不再工作,即使我调整了类到现在应该从传感器接收的内容,这在以下问题的答案中进行了简要说明: 如何在 Movesense 设备中设置采样率?.
总而言之,我无法读取传感器正在发送的数据,我什至不知道传感器是否正在发送一些东西。
要查看这是否是我创建以读取服务值(同时包括 acc&gyro 值)的类的问题,还是导致当前 android 应用程序过时的新更新结构的问题,我尝试了建议的 AccelerometerSampleService,它提供大约每 5 秒有一个新的最大线性加速度值和一个时间戳。我直接使用了来自以下链接的新更新提供的 dfu 包https://bitbucket.org/aschaer/movesense-device-lib/src/23b4512dbc128a8c1f17a33cd453160bc3256f67/samples/accelerometer_app/bin/?at=master. 据我所知,该服务在新版本中保持不变(除了函数 get 已被删除但我们正在尝试订阅该服务吗?)并且应该每 5 秒提供一个值和时间戳。问题出在以下代码行中:
listenMaxAccelerationDisposable = movesense.getDevice(address)
.listen("/Sample/Accelerometer/Data", MaxLinearAcceleration.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<MovesenseResponse<MaxLinearAcceleration>>() {
@Override
public void onNext(MovesenseResponse<MaxLinearAcceleration> maxLinearAcceleration) {
if (maxLinearAcceleration.body != null) {
dismissInitializingDialog();
它从不调用 onNext 方法,因此我没有得到任何值,我不知道是不是因为它们没有在该路径上发送(我也尝试使用相同的路径Sample/Accelerometer/Data/Subscription负面结果)或者因为我不知道如何从 android 端正确读取它们。
我有以下问题:
Android App 的新版本什么时候发布?目前最新版本是从四月开始的,从那时起嵌入式方面发生了很多变化。
我如何首先有效地订阅这个 AccelerometerSampleService 以获得这个最大值和时间戳并在应用程序上看到它。
我没有找到任何关于函数 listen 的工作原理以及它与 post 有何不同的参考。使用post的时候,是不是总得用delete after?
对于像我这样尝试使用 android 应用程序的人,如果您发布更多有关 android 应用程序的文档,以便我们更轻松地跟踪设备端的更新,我想我们将不胜感激。