树莓派心率计

news/2025/3/16 20:50:26/

树莓派心率计

文章目录

  • 前言
  • 一、安装系统
    • 1.下载树莓派官方系统
    • 2.安装系统
  • 二、开机启动以及基本配置
    • 1.有显示器
    • 2.无显示器使用网线
    • 3.VNC
    • 3.更新源
  • 三、TensorFlow环境配置
    • 1.安装python3.7.3
    • 2.安装TensorFlow2.0
    • 3.其他包安装
  • 四、树莓派串口使用
  • 五、在树莓派用运行代码


前言

这个只是我自己跑通的一个方法,基本参考知乎这篇文章https://www.zhihu.com/collection/723286847和助教给的那个文档,好多地方我也不懂,基本是遇到什么问题百度啥。可能还有更简单的环境配置方法。也有可能你会遇到新的问题。


一、安装系统

1.下载树莓派官方系统

网址:https://www.raspberrypi.com/software/operating-systems/
建议下载如下图Raspberry Pi OS with desktop版本,这个版本不带推荐软件,占用空间小一点。
不然8G内存卡装完系统剩下的不够装python和tensorflow了。建议装完系统还剩余2G空间。
官网最新的bullseye版本上一代是buster版本,bullseye版本后面更新源需要用阿里源,清华源没这个版本的。
我用的是2021-12-02-raspios-buster-armhf这个版本
在这里插入图片描述
系统下载完成后解压,解压出来的内容是.img结尾的系统文件。

2.安装系统

1.使用DiskGenius将SD卡格式化,具体步骤可参考该视频https://www.bilibili.com/video/BV1bt411c7fC?p=3
2.格式化完毕以后打开Win32 Disk Imager,选择刚刚格式化的SD卡,先点击红色圈起来的按钮,找到开始下载好的系统文件,再点击write,然后就等待系统写入。
在这里插入图片描述
3.在系统镜像烧写完成以后,在boot里面添加ssh文件(要打开文件扩展名显示),参考该视频[https://www.bilibili.com/video/BV1bt411c7fC?p=3]
在这里插入图片描述

二、开机启动以及基本配置

1.有显示器

1.1SD 卡插入树莓派底部卡槽,HDMI线分别接入树莓派和显示器,给树莓派接入键盘和鼠标,接入电源开机。
1.2按照提示设置国家语言时区,修改密码(建议默认,点击next)
1.3设置ssh和vnc。打开终端 输入命令:sudo raspi-config 会弹出下图界面,选择Interfacing 那一项,点击Enter键。
在这里插入图片描述
分别开启SSH和VNC
在这里插入图片描述
1.4扩展SD卡容量,选择Advanced Options项,进入选择第A1项
在这里插入图片描述
在这里插入图片描述

2.无显示器使用网线

2.1电脑连接wifi,右击电脑选择网络设置→点击更改适配器→右击WiFi选择属性→属性里面选择分享,打上勾,确认。
在这里插入图片描述
2.2连接上网线分别插入树莓派和电脑网口,然后给树莓派供电。等绿等停止闪烁的时候,系统启动完成。
2.3打开电脑的终端,win+R, 输入cmd,进入后输入命令 :arp -a (p和- 之间有空格),会出现如下类似内容
在这里插入图片描述
192.168.137.1下面第一个ip就是树莓派通过电脑分享后的 IP。(如果下面有多个IP,物理地址一样的那几个,挨个尝试)
2.4打开putty软件,输入IP地址点击open,
在这里插入图片描述
如果输入的网址正确,会显示下图:
在这里插入图片描述
点击Accept进入,然后输入用户名和密码。默认用户名:pi,密码:raspberry(输入密码的时候就是不显示的。输完按enter键就行。
2.5输入命令:sudo raspi-config,之后步骤和有显示器的相同。

3.VNC

1.下载VNC软件,并安装。
2.网线连接树莓派和电脑,打开VNC软件。
在这里插入图片描述
3.蓝色框内输入树莓派IP地址,进入以后输入用户名和密码,默认用户名pi,raspberry
在这里插入图片描述
填写完,点击ok就好了

3.更新源

bullseye版本系统需要使用阿里源
buster版本更新清华源,步骤如下:(可以参考视频:https://www.bilibili.com/video/BV1bt411c7fC?p=4)
可以在putty中使用命令行操作,也可以用VNC进入树莓派桌面中使用命令行操作。
使用管理员权限编辑/etc/apt/sources.list文件

sudo nano /etc/apt/sources.list

删除原文件所有内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi

使用管理员权限编辑/etc/apt/sources.list.d/raspi.list文件

sudo nano /etc/apt/sources.list.d/raspi.list

删除原文件所有内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

三、TensorFlow环境配置

基本是按照知乎这篇文章来配置的。
基于硬件树莓派0-Tensorflow的心电图识别 - Ethan-Q的文章 - 知乎
https://zhuanlan.zhihu.com/p/336918922
然后参考了此文:https://blog.csdn.net/happywlg123/article/details/107286458

1.安装python3.7.3

先看一下树莓派系统自带的python版本

python3 -V

如果是python3.7.3,就可以跳过python安装的步骤,直接安装tensorflow。
2021-12-02-raspios-buster-armhf这个版本好像自带的就是python3.7.3
1.1安装依赖包

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev   
sudo apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm 
sudo apt-get install -y libncurses5-dev  libncursesw5-dev xz-utils tk-dev

1.2下载python3.7

sudo wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

1.3解压python3.7

sudo tar -zxvf Python-3.7.3.tgz

1.4进入解压包并安装python

cd Python-3.7.3
sudo ./configure --prefix=/usr/local/python3
sudo make

1.5安装完成,创建软连接

ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

有时会出现软连接已存在问题,需要删除原有软连接

rm -rf /usr/local/bin/python3
rm -rf /usr/local/bin/pip3

1.6打印版本测试

python3 -V
pip3 -V


安装完成!

2.安装TensorFlow2.0

2.1检查配置相关环境

python3 --version
pip3 --version
virtualenv --version

python3和pip3前面刚装的应该都有。
可能会没有virtualenv,则需要以下操作:

sudo apt update # 更新
sudo apt install python3-dev python3-pip  # 如已经安装了Python3和pip3则跳过此命令
sudo apt install libatlas-base-dev  # 此命令必选 
sudo pip3 install -U virtualenv  

2.2创建虚拟环境并激活虚拟环境

virtualenv --system-site-packages ./venv
source ./venv/bin/activate

2.3更新pip并且安装依赖包

pip install --upgrade pip #更新pip
# 安装依赖包
pip install keras_applications==1.0.8 --no-deps
pip install keras_preprocessing==1.1.0 --no-deps
pip install h5py==2.9.0
pip install -U six wheel mock

2.4下载并安装TensorFlow2.0
在github上下载Tensorflow2.0,并使用VNC将下载包传递至树莓派内。放在对应目录下。然后安装

pip install tensorflow-2.0.0-cp37-none-linux_armv6l.whl

安装结束后,测试安装结果:

python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

如输出tf.Tensor(1035.3678, shape=(), dtype=float32)则表示安装成功!
2.5安装失败后的处理。
如果安装失败,可以重试。此时使用rm -r venv/删除安装失败的TensorFlow所在虚拟环境,即可从第2.2步开始重试。

3.其他包安装

接着上一步,还是在虚拟环境下,命令行前头有(venv)则表示在虚拟环境中

pip install matplotlib # 画图
pip install sklearn # 使用sklearn里面的数据处理模块

然后查看具体安装了哪些包:

pip list

是否有pyserial(串口),pywavelets(小波变换库),python3-gi-cairo(没有这个库后面画图会包错)
如果没有,缺啥装啥。
我的是缺pywavelets和python3-gi-cairo。pywavelets直接安装,下载太慢。建议下载依赖包后手动安装。
推荐PyWavelets-1.1.1-cp37-cp37m-linux_armv7l.whl这个版本。
下载地址:https://www.piwheels.org/simple/pywavelets/
将下载好的包传到树莓派上,放在对应文件夹下。

pip install PyWavelets-1.1.1-cp37-cp37m-linux_armv7l.whl

安装python3-gi-cairo,这里我是直接安装的

sudo apt-get install python3-gi-cairo

四、树莓派串口使用

参考了此文:https://blog.csdn.net/qq_43725844/article/details/97682424
1.按照AD8232_STM32资料包里的说明,连接底板、STM32最小系统板、AD8232模块、蓝牙和导联电极(电极是一次性的,建议先不装电极)
2.将示例代码用ST-LINK下载到STM32最小系统板
3.带USB的那个蓝牙模块插在树莓派上
4.在命令行输入lsusb即可出现所有的串口,看自己的设备是否连接上ch340,有的话会显示
5.接着输入ls -l /dev/tty*
在这里插入图片描述
这里可以看到自己的ch340模块被识别成什么,可能是0,也可能是1;
接着,输入stty -F /dev/ttyUSB1(若识别为0则写0)
即可看到目前USB串口的波特率

五、在树莓派用运行代码

1.将continuous_test.py(连续获取心电信号代码,并绘制图),ECG_test.py(实时心电数据监测),model.tflite(tflite单导联模型)传到树莓派上
2.运行代码。
2.1使用命令行运行:
打开命令行,激活虚拟环境

source ./venv/bin/activate

使用python xxx.py命令运行代码(xxx为要运行的文件名称)
2.2使用树莓自带编程软件Thonny运行:
更改解释器,如图所示,单击Run,在弹出的菜单栏选择第一个,Select interpreter。
在这里插入图片描述
在弹出的配置窗口,根据下图选择。
在这里插入图片描述
选择前面创建的虚拟环境的位置,并定位python执行文件的位置,一般为/bin/python。
在这里插入图片描述
配置成功之后ThonnyIED会输入如下所示的提示信息。
在这里插入图片描述
3.更改代码中的串口名称
在这里插入图片描述
更改为之前被识别到的名称,例如/dev/ttyUSB0
4.运行程序
运行continuous_test.py,会显示原始心电图和小波变换滤波后的心电图
运行ECG_test.py,也会显示原始心电图和小波变换滤波后的心电图,以及下图内容
在这里插入图片描述


http://www.ppmy.cn/news/517356.html

相关文章

数仓工具Hive 概述

Hive Hive简介Hive架构HiveSQL语法不同之处建表语句查询语句 Hive查看执行计划Hive文件格式 Hive简介 Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 通过Hive可以将mapred…

ROS:结构

目录 前言一、设计者二、维护者三、系统架构四、ROS自身结构 前言 从不同的角度,对ROS架构的描述也是不同的,一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构: 一、设计者 ROS设计者将ROS描述为“ROS Plumbing Tools Capab…

【202203】必应2022年3月壁纸链接合集

全部壁纸 https://wallpaper.ddddavid.cn/subpages/page-220329.html 2022 年 3 月份 https://cn.bing.com/th?idOHR.Shamrocks_EN-US9111259398_UHD.jpg https://cn.bing.com/th?idOHR.MoonlightRainier_EN-US6336057354_UHD.jpg https://cn.bing.com/th?idOHR.Rhinocer…

linux+4k+桌面壁纸,微软发布适用于Windows 10的4K壁纸包

微软最近发布了新的Windows 10壁纸包,其中包括10种不同的4K桌面背景。 这款名为“地球日”的软件包以主题的形式提供给Windows 10用户,专门用来庆祝2019年地球日。 主题描述中写道:“在 2019 年的这个地球日,通过包含 10 幅独家 4K 图像的免费…

PMP学习重点笔记(项目质量管理)

词条内容质量管理的内涵 质量和等级(朱兰理论三部曲-质量规划、质量控制、质量改进,质量螺旋曲线) 高质量高等级(高端产品) 高质量低等级(受欢迎) 低质量高等级(人傻钱多&#xff09…

python修改桌面壁纸_Python设置每日更新windows壁纸

不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力。 原来使用的是Deepin系统,自己写了一个爬虫爬…

linux 壁纸自动更换,使用LSWC在Linux中自动更换壁纸

本文将为你介绍安装及使用LittleSimpleWallpaperChanger(LSWC)小脚本为你的Linux桌面定期自动更换壁纸。如果你不再使用LSWC,还可以使用本文介绍的删除方法处理。 其实在“外观”或“更改桌面背景”设置中有一个随机壁纸选项。但那是随机更改预置的壁纸而不是你添加…

html怎么制作壁纸,CSS3制作皮卡丘动画壁纸的示例

正文 OK,接下来就是晒效果图的时候了,看图后才有兴趣了解一下,不然很沉闷,没什么心思看了。 PS:由于我这个动画的尺寸做得比较大(720 x 1280),所以为了能录这个gif动画,我缩小了一倍。但是其实按…