说在前面
- 树莓派版本:4b
- 血氧模块:MAX30102
- 树莓派系统:Linux raspberrypi 5.15.76-v8+ #1597 SMP aarch64 GNU/Linux
- python版本:3.9.2
模块详情
- 某宝上买的MAX30102模块,包含杜邦线
准备工作
-
开启树莓派的GPIO,即将SD卡中
/boot/config.txt
中的下述配置取消注释
-
将模块与树莓派连接,树莓派引脚如下图
-
连接
RPi(在树莓派引脚图中找到对应的) MAX30102(在我拍的照片中对应的引脚) 3.3V (pin1) VIN (V) I2C_SDA1 (pin3; GPIO 2) SDA (SDA) I2C_SCL1 (pin5; GPIO 3) SCL (SCL) - (pin7; GPIO 4) INT (INT) GND (pin9) GND (G)
代码
- 安装必要的python库(使用清华源)
pip install RPI.GPIO smbus2 numpy -i https://pypi.tuna.tsinghua.edu.cn/simple # 可视化 pip install matplotlib scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
- 直接使用开源的python代码,github
git clone https://github.com/o0olele/max30102
- 运行
python main.py
测试
- SpO2即血氧浓度值,BPM是心率
(手指竖着放感觉测得结果稳定点,心率感觉不太准)
数据可视化
- 可能是模块本身或者数据存在问题,输出的血氧值会存在一些误差,可视化一下可以看的更加直观一些
- 目前使用
matplotlib
进行可视化 - 运行
python main.py -s