什么可穿戴设备开放了获取传感器原数据的API?

希望在Android手机程序中无线获取可穿戴设备搭载的加速度传感器原数据(raw data)。什么可穿戴设备有API可以读取这样的数据?
比如类似MBIENTLAB的可穿戴传感器的设备。

以下内容来自chat gpt:
很多可穿戴设备都有可以读取加速度传感器原数据的API,其中MBIENTLAB也提供有这样的API。MBIENTLAB有多种可穿戴设备,包括MetaMotionR、MetaWearC等,以下是在Android手机程序中使用MBIENTLAB MetaWearC设备读取加速度传感器原数据的示例代码:

  1. 首先,您需要在您的项目中导入MBIENTLAB MetaWearC的Java API库。可以下载官方提供的开发包(www.mbientlab.com/developers)并将其导入到您的项目中。

  2. 然后,在您的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) {
            // ...
        }
    };
    
  3. 一旦成功连接到设备后,您可以使用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和示例,请查看其相关开发文档。