This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AFE49I30:无法从 ECG/PPG 传感器计算心率计数(AFE49I30传感器)

Guru**** 2390755 points
Other Parts Discussed in Thread: AFE49I30

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1205743/afe49i30-unable-to-calculate-heart-rate-counts-from-ecg-ppg-sensor-afe49i30-sensor

器件型号:AFE49I30

我正在尝试使用 PPG/ECG 传感器计算心率  (我正在使用 AFE49I30传感器)  使用 Xamarin 表单应用程序。

  • 我有一个蓝牙设备、该蓝牙设备使用 Plugin.BLE 软件包连接至 Xamarin Form 应用。
  • 连接后、我将获得蓝牙设备的所有服务和服务特征。
  • PPG/ECG 的特性之后验证了电路。 我得到的是 PPG/ECG 字节数组。 现在、我该怎么做才能从该字节数组中获取心率计数?

下面显示了一些代码屏幕截图、以获取心率字节数组。

  • PPG 使用以下代码获取字节数组数据:

public async void GetPPGLiveData()
        {
            if (App.device != null)
            {
                var temp = App.DeviceDetailsModel.FirstOrDefault(a => a.DeviceService.Id.StartsWith("00005c00"));
                var PPGservices = await App.device.GetServiceAsync(new Guid(temp.DeviceService.Id));

                if (PPGservices != null)
                {
                    var PPGcharacter = temp.DeviceServiceCharacs.FirstOrDefault(a => a.Id.StartsWith("00005c02"));
                    var PPGList = await PPGservices.GetCharacteristicAsync(new Guid(PPGcharacter.Id));

                    PPGList.ValueUpdated += (o, args) =>
                    {
                        var receivedBytes = args.Characteristic.Value;

                        Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(async () =>
                        {
                           //Need to write some Heart Rate calculation Logic.
                            
                        });
                    };
                    await PPGList.StartUpdatesAsync();
                }
            }
        }

  • ECG 使用以下代码获取字节数组数据:

public async void GetECGLiveData()
        {
            if (App.device != null)
            {
                var temp = App.DeviceDetailsModel.FirstOrDefault(a => a.DeviceService.Id.StartsWith("00005c00"));
                var ECGservices = await App.device.GetServiceAsync(new Guid(temp.DeviceService.Id));

                if (ECGservices != null)
                {
                    var ECGcharacter = temp.DeviceServiceCharacs.FirstOrDefault(a => a.Id.StartsWith("00005c01"));
                    var ECGList = await ECGservices.GetCharacteristicAsync(new Guid(ECGcharacter.Id));

                    ECGList.ValueUpdated += (o, args) =>
                    {
                        var receivedBytes = args.Characteristic.Value;

                        Xamarin.Essentials.MainThread.InvokeOnMainThreadAsync(async () =>
                        {

                            //Need to Write Some calculation logic here.
                        });
                    };
                    await ECGList.StartUpdatesAsync();
                }
                
            }
        }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    本次讨论遵循 NDA、我将通过电子邮件与您联系。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、杨建春:

    我还在等待电子邮件回复。 您能为我提供帮助吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    为延迟道歉。 刚刚给您发送了一封电子邮件、让我们使用电子邮件进行讨论。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    已发送一封电子邮件、由于这是保密协议器件、我们将继续通过电子邮件进行讨论。

    谢谢