希望在Android手机程序中无线获取可穿戴设备搭载的加速度传感器原数据(raw data)。什么可穿戴设备有API可以读取这样的数据?
比如类似MBIENTLAB的可穿戴传感器的设备。
以下内容来自chat gpt:
很多可穿戴设备都有可以读取加速度传感器原数据的API,其中MBIENTLAB也提供有这样的API。MBIENTLAB有多种可穿戴设备,包括MetaMotionR、MetaWearC等,以下是在Android手机程序中使用MBIENTLAB MetaWearC设备读取加速度传感器原数据的示例代码:
首先,您需要在您的项目中导入MBIENTLAB MetaWearC的Java API库。可以下载官方提供的开发包(www.mbientlab.com/developers)并将其导入到您的项目中。
然后,在您的Android代码中设置并连接MBIENTLAB MetaWearC设备,即:
import com.mbientlab.metawear.MetaWearBoard;
import com.mbientlab.metawear.android.BtleService;
// ...
String mw_mac_address = ""; // MBIENTLAB MetaWearC设备的MAC地址
// 初始化BLE服务并连接到MetaWearC设备
Intent gattServiceIntent = new Intent(this, BtleService.class);
bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE);
private ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName componentName, IBinder service) {
BtleService.LocalBinder binder = (BtleService.LocalBinder) service;
btleService = binder.getService();
// 停止扫描BLE设备
btleService.stopBleScan();
// 连接到MBIENTLAB MetaWearC设备
btleService.connect(mw_mac_address);
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
// ...
}
};
一旦成功连接到设备后,您可以使用Android API随时获取它的加速度传感器数据,例如:
import com.mbientlab.metawear.Accelerometer;
import com.mbientlab.metawear.module.Accelerometer.*;
// ...
final Accelerometer accelerometer = board.getModule(Accelerometer.class);
accelerometer.configure()
.odr(OutputDataRate.ODR_100_HZ)
.range(Range.FSR_2G)
.commit();
accelerometer.acceleration().addRouteAsync(new RouteBuilder() {
@Override
public void configure(RouteComponent source) {
source.stream(new Subscriber() {
@Override
public void apply(Data data, Object... env) {
Acceleration value = data.value(Acceleration.class);
Log.i(LOG_TAG, "x = " + value.x() + ", y = " + value.y() + ", z = " + value.z());
}
});
}
}).continueWith(new Continuation<Route, Void>() {
@Override
public Void then(Task<Route> task) throws Exception {
accelerometer.acceleration().start();
return null;
}
});
以上代码将获取MBIENTLAB MetaWearC设备的加速度传感器传输速率设置为100 Hz,范围设置为2G(指2倍的标准重力加速度),并从传感器中读取原始数据并在日志中显示。想要保存成文件,也可以设置一个写入操作来进行处理。
有关其他可穿戴设备的API和示例,请查看其相关开发文档。