通常使用Pulse sensor心率传感器和arduino UNO搭建完硬件平台后,使用上位机PulseSensor_Amped_Processing_Visualizer软件,就可以查看实时心率图、心率值 BPM 和 脉搏间隔 IBI,然而传感器采集到数据只是前提,对数据的处理才是一切应用的核心,因此,需要对arduino发送过来的串口数据进行保存。
通过两种方式进行保存
1、修改现有的上位机软件(Processing)
2、使用Python读取串口数据并保存
一、修改现有的上位机软件(Processing)
在本例中使用PrintWriter对象,官方参考示列如下:

PrintWriter output;   //Create Objectvoid setup() {// Create a new file in the sketch directoryoutput = createWriter("positions.txt");
}void draw() {point(mouseX, mouseY);output.println(mouseX);  // Write the coordinate to the file
}void keyPressed() {output.flush();  // Writes the remaining data to the fileoutput.close();  // Finishes the fileexit();  // Stops the program
}

修改上位机软件方式如下:
1、在主程序 PulseSensorAmpd_Processing_Visualizer.pde中,添加代码,当程序打开时,生成一个TXT文本,用于记录串口数据。
在void setup() { 语句前声明一个 PrintWriter 对象,名字叫output
PrintWriter的使用,请参考

PrintWriter output; //output as txt  新增代码void setup() {      //原程序代码

数据采集后,按照年月日格式命名TXT 文件

String outputname = "PulseSensordata-"+str(year())+str(month())+ str(day())+"-"+str(hour())+" "+str(minute()) +" "+ str(second()) +".txt";    //  新增代码
output = createWriter(outputname);   //  新增代码

2 在串口读取程序serialEvent.pde添加代码

inData = trim(inData); // cut off white space (carriage return)新增代码output.println("b'"+ inData );   // 原程序代码

程序运行后,在主程序所在目录下,将会生成Txt文本,实例如下:
PulseSensordata-2018616-18 54 42.txt
内容如下:

b'S0
b'S413
b'S439
b'S484
b'S490
b'S468
b'S450
b'S430
b'S424
b'S405

二、使用Python读取串口数据并保存
由于Python在数据处理方面的优势,上位机软件可以使用Python实现,本章节将演示Python读取串口数据并保存,需要确认设备管理中查询串口使用哪个口,本例为COM5口,演示如下:

import serial
import serial.tools.list_ports
from datetime import datetimenow = datetime.now()
outputname="PulseSensordata-" + str(now.year)+ str(now.month) + str(now.day) +"-" +str(now.hour)+" "+ str(now.minute)+" "+ str(now.second)+".txt"t = serial.Serial('com5',115200)
while 1: with open(outputname, 'a+') as f:      #a在 原文件 追加中print(t.readline() , file=f)

后续还有很大的空间进行改写上位机以及深度开发和优化,目前我们将精力集中到后续章节:使用 PulseSensor 脉搏传感器测量心率之三:时域波形显示及频域波形显示

使用 PulseSensor 脉搏传感器测量心率之二:数据采集及保存( ProcessingPython)相关推荐

  1. 使用 PulseSensor 脉搏传感器测量心率之一:平台搭建

    转自:玩的就是心跳 -- 使用 PulseSensor 脉搏传感器测量心率 作者:邵国际 网址:https://zhuanlan.zhihu.com/p/27665378 写文章 https://pi ...

  2. 【实测PulseSensor 脉搏传感器】玩的就是心跳 —— 使用 PulseSensor 脉搏传感器测量心率

    https://zhuanlan.zhihu.com/p/27665378 转自:玩的就是心跳 -- 使用 PulseSensor 脉搏传感器测量心率  作者:邵国际  网址:https://zhua ...

  3. 使用 PulseSensor 脉搏传感器测量心率之三:脉搏波信号处理(频域)(Python)2

    在上一节中实现原始数据在时域的回放,这样有助于直观的认识采集的数据,以便进一步的分析和处理,数据处理时,我们可以从波形中提取和时间及强度相关的信息,并由此推演出其它物理量. 同时,我们也知道时域的波, ...

  4. 使用 PulseSensor 脉搏传感器测量心率之三:脉搏波信号处理(时域)(Python)1

    为了分析脉搏传感器测量的心率数据,就需要对原始数据进行回放,从而有助于直观的认识采集的数据,以便进一步的分析和处理,使用Python可以轻而易举的在时域显示波形. 需要进行如下操作: A 将保存的心率 ...

  5. STM32cube之Pulse Sensor脉搏传感器测试

    首先介绍一下Pulse Sensor PulseSensor 脉搏传感器介绍 基本参数 供电电压: 3.3~5V 检测信号类型: 光反射信号(PPG) 输出信号类型: 模拟信号 输出信号大小: 0~V ...

  6. 光电脉搏传感器的研制和噪声分析

    光电脉搏传感器的研制和噪声分析 1 引 言 人体心室周期性的收缩和舒张导致主动脉的收缩和舒张, 使血流压力以波的形式从主动脉根部开始沿着整个动脉系统传播, 这种波称为脉搏波.脉搏波所呈现出的形态.强度 ...

  7. 采用arduino UNO和pulse sensor心率传感器进行心率测量

    转自:anning86525的博客 网址:https://blog.csdn.net/anning86525/article/details/80096816 1.准备工作 首先阅读一遍我们编写的pu ...

  8. Arduino Pulsesensor脉搏心率的检测

    开发板与传感器的型号 开发板:Arduino mega 2560 传感器:Pulsesensor脉搏心率传感器,我的模块购买链接https://m.tb.cn/h.fJbXs9y?tk=Wro828I ...

  9. 基于51单片机的心率计脉搏体温测量仪WIFI传输APP设计方案原理图

    系统的功能分析及体系结构设计 (末尾附文件) 系统功能分析 本系统采用STC89C52单片机+LCD1602液晶+脉搏传感器+温度传感器DS18b20+WIFI模块电路设计而成. 1.LCD1602液 ...

最新文章

  1. STM32F103C8开发板原理图和管脚图
  2. 【 C 】翻译与执行
  3. javascript开发技巧训练_学好这些小技巧,帮你写出更好地JavaScript
  4. Android运行出现“java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。”...
  5. 缓存一致性(MESI)
  6. C/C++面试题:什么是COM和ActiveX,简述DCOM。
  7. oracle离线文档查dbms_Oracle的健康检查–dbms_hm的使用 | 学步园
  8. OCA第7部分的Java难题
  9. Android学习笔记(十三)
  10. IntelliJ IDEA 2020 数据库连接Oracle和Mysql
  11. html5 ul li 自动收回,vue遍历四个ul ,每个ul中有四个li.如何不破坏html结构?
  12. 浮栅场效应管 符号_MOS场效应管
  13. [Android疑难杂症]动态设置TextView的width不起作用
  14. python3.6 配置COCO API出错解决方案
  15. 数据库-SQL Server2005-第4季SQL从入门到提高-2SQL Server使用
  16. python里面if语句一直出错_python错误,写了个小程序,if语句总是不执行,求高手指点...
  17. VC双缓冲画图技术介绍
  18. Google 的核心 Java 库 guava 常用工具类
  19. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配Sliderview)
  20. hdu5773The All-purpose Zero

热门文章

  1. 再次配置iterm2+zsh替代terminal
  2. CF1077C——Good Array题解
  3. java项目使用说明_java项目 BeanCopier使用说明
  4. 01_人工智能与机器学习概念介绍
  5. idea html注释,IntelliJ IDEA文档注释
  6. remote: XXX Incorrect username or password (access token) fatal: Authentication failed for XXX
  7. 移动工作站 linux,戴尔推出三款 Precision 移动工作站产品 采用 Ubuntu Linux 操作系统...
  8. 2017年直播群雄逐鹿:社交直播会否收割行业未来?
  9. 微信小程序-个人总结
  10. 光流定位原理是什么??【转】