请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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(); } } }