Android Wear:如何获取原始PPG数据? [英] Android Wear: How to get raw PPG data?

查看:620
本文介绍了Android Wear:如何获取原始PPG数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用SensorEventListener使用光学心率传感器访问用户的心率:

I am able to access Heart Rate of User using Optical Heart rate Sensor using SensorEventListener:

sensorManager.registerListener(this,
                sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE),
                SensorManager.SENSOR_DELAY_NORMAL);

我需要获取原始的PPG数据,例如: https://ars.els-cdn. com/content/image/1-s2.0-S0960077915001344-gr1.jpg

What I need is to get raw PPG data like: https://ars.els-cdn.com/content/image/1-s2.0-S0960077915001344-gr1.jpg

我可以通过Google Fit或其他任何方式获取此数据吗?

Through Google Fit or any other means can I get this data?

我调查了Google Fit API的用法: https://developers.google.com/fit/android/sensors

I looked into Google Fit API usage: https://developers.google.com/fit/android/sensors

它提供TYPE_HEART_RATE_BPMHEART_RATE_SUMMARY,但不提供PPG原始数据.

It gives TYPE_HEART_RATE_BPM and HEART_RATE_SUMMARY , but not PPG raw data.

推荐答案

我花了一些时间弄清楚是否可以从android API中获取原始PPG信号,并且与某些人所说的相反,这绝对是可能的那.这是操作方法:

I spent some time figuring out if it's feasible to get the raw PPG signal from android API, and contrary to what some may say, it is definitely possible to do that. And here is how to do it:

1-获取PPG传感器的传感器类型(用数字表示)(它是描述传感器的常数).可以通过列出设备上所有可用的传感器来完成此操作:

1- Get the sensor type (represented by a number) of your PPG sensor (it is a constant that describes the sensor). This can be done by listing all the available sensors on your device:

List<Sensor> sensorList = mSensorManager.getSensorList(Sensor.TYPE_ALL);
        for (Sensor currentSensor : sensorList) {
            Log.d("List sensors", "Name: "+currentSensor.getName() + " /Type_String: " +currentSensor.getStringType()+ " /Type_number: "+currentSensor.getType());
        }

2-然后,尝试找到PPG传感器的sensorType.在输出中,您会找到其中一个包含单词ppg的传感器之一.例如,这就是我的Huawei watch 2的ppg传感器的外观:

2- Then, try to find the sensorType of your PPG sensor. In your output, you will find one of the sensors containing the word ppg in it's type. For instance here is what the ppg sensor of my Huawei watch 2 looks like:

Name: AFE4405 light Sensor /Type_String:  com.huawei.watch.ppg /Type_Number: 65537

3-使用您的ppg传感器的type_number注册您的侦听器,我的是65537,所以我可以这样做:

3-Register your listener using the the type_number of your ppg sensor, mine is 65537 so I would do this:

sensorManager.registerListener(this,sensorManager.getDefaultSensor(65537),SensorManager.SENSOR_DELAY_NORMAL);

4-听听传感器数据的变化:

4-Listen to changes in your sensor data:

public void onSensorChanged(SensorEvent event) {

       if (event.sensor.getType() == 65537) {
            String msg = "PPG " + (int) event.values[0];
            //Do something with your PPG signal

        } 

}

您都准备好了.希望它对您有用.

And you are all set. Hope it works for you.

这篇关于Android Wear:如何获取原始PPG数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆