希望在Android手机程序中无线获取可穿戴设备搭载的加速度传感器原数据(raw data)。什么可穿戴设备有API可以读取这样的数据?
比如类似MBIENTLAB的可穿戴传感器的设备。
什么可穿戴设备开放了获取传感器原数据的API?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 辞轩. 2023-06-07 14:36关注
以下内容来自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和示例,请查看其相关开发文档。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)