你好,
我在想。当值通过BLE的自定义配置文件发送时,有没有办法用DA14580绘制一个图形?你有什么能帮上忙的应用吗?我在分析通过BLE获得的数据时遇到困难,开发工具包通过BLE连接到ECG模块。ECG模块的输出被输入到开发工具包中,我在分析时遇到问题,因为我从自定义配置文件中ADC VAL 1的BLE扫描仪获得的值是十六进制值,并且是ECG信号。我需要分析r-r间期以获得心率,因为心电图中有许多信号,它们是PR段、QRS波群等等。谢谢你的帮助。
设备:
你好herochua617,
据我所知,官方上我们还没有任何调试工具来实时绘制580的验证图,如果我在这方面有错的话,有人会纠正我,因为我对Dialog也有点陌生。你的分析工作必须实时完成吗?我的意思是,如果没有必要这样做,你可以随时记录一段时间的数据,然后导入到任何类型的应用程序,可以绘图或执行进一步的分析,如MATLAB,应该有一个软件可以做到这一点。
谢谢你的对话,
我懂了。我实际上在论坛上一直在问很多疑问。哈哈霍哈克。一般来说,我的项目就长期监测的ECG嵌入式系统。然而,我ADC的信号输出是由于心率是一个R_R间隔的度量,而不是直接等于心率的ECG信号形式,但是我希望获得心率的结果。我认为心率曲线适合我,因为它适用于那些直接产生心率的装置。我确实尝试通过使用BLE_APP_PERITIVELAL示例使用自定义BLE配置文件,但主要问题是,当通知打开时,来自ADC Val 1特性的值为十六进制。我无法分析我应该采取的R-R间隔来检测心率。我真的需要帮助,我对所有帮助对话都有深刻的赞赏。谢谢!
我看到,你需要某种算法将信号流转换为周期性尖峰,到这些尖峰之间的时间间隔,那么你可以使用时间间隔来计算实时呼吸率是的,可视化的输出应该使这很容易但是
答。我现在还不能提供这样的工具,也许我的同事知道这样的工具,但我对此一无所知
b。您仍然需要处理这些数据以获得实际的时间间隔。
我建议你把这些值记录下来,把它画出来,然后找到一个合适的算法来计算一个阈值来识别尖峰,然后你可以用这个阈值来记录尖峰的出现,这样你就有了我想你需要的间隔。
你好,
谢谢你的解释。你帮了很多忙。顺便问一下,我想问一下:既然值是十六进制的,那么如何从自定义配置文件中的ADC val1打印十进制值,还有关于如何从开发工具包中获取日志文件的教程吗?谢谢。
嗨,另一个可能有用的选项-您可以使用uart打印出值并在终端窗口中捕获。您可以通过ADC捕获这些值,然后使用arch\u console.h通过uart打印出来。您只需执行以下操作:在应用程序代码中包含archëu console.h。确保在配置文件中定义了CFG\u PRINTF\u UART2。在user\u periph\u setup.h中,确保UART设置为P0\u 4和P0\u 5。
现在,您可以直接使用ARCH_PRINTF()直接打印出您的值,并将其从终端复制到文本或CSV文件中。如果使用CSV文件,则应使用分隔符打印出来,说逗号和Excel将这些值解析为不同的块。
此外,心率曲线也支持R-R间期。请参考BT SIG文件:https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=239865
谢谢!
//乔恩
你好,
另一个问题是,如何将BLE扫描仪中显示的值更改为十进制值?
谢谢
你好,
我找到了这个。我想用它来做图表绘图。https://www.mathworks.com/matlabcentral/fileexchange/28941-real-time-dat.... 同时,我在MATLAB中有错误。只是想知道,如果我想从闪存启动,uart连接是否可用?
谢谢。
你好,
支持Matlab和BLE扫描器不在表单范围内。arch\u printf()充当典型的C库printf,因此您可以将值强制转换为十进制-但是,您是通过UART打印的,因此需要ASCII等效值-web应该有大量关于如何执行此操作的信息。
使用UART不会对引导加载程序产生任何影响。引导加载程序将在重置时运行,并且当使用cli\u程序员或Smart Snippets工具箱时,系统将提示您重置。
谢谢,
//乔恩
你好,
我在另一个主题中问了一些关于BLE scanner主题的问题,因为这个主题是不相关的。请参考他的https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl .... 谢谢!