Skip to content

Commit 83e90ad

Browse files
sampaulyiIRISZZW
authored andcommitted
NTUST_blood_pressure_monitor
1 parent fa1864e commit 83e90ad

File tree

47 files changed

+14692
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+14692
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Personal identification of blood pressure monitor without pressure belt
2+
3+
* [Introduction](#introduction)
4+
* [Function](#function)
5+
* [System Architecture](#system-architecture)
6+
* [Hardware and Software Setup](#hardware-and-software-setup)
7+
* [Required Hardware](#required-hardware)
8+
* [Required Software](#required-software)
9+
* [Hardware Connection](#hardware-connection)
10+
* [User Manual](#user-manual)
11+
* [Make This Application](#Make-this-application)
12+
13+
## Introduction
14+
With the advancement of science and technology, people's living habits have changed, and health management is gradually valued. In health management, measuring blood pressure regularly is an inestimable part.
15+
Usually, it is a common situation for a family to buy a sphygmomanometer, and most of the commercially available sphygmomanometers do not have the function of identification, so it is more inconvenient for multiple people to share the recording process of the sphygmomanometer.
16+
We want to achieve a system that can automatically identify the identity through the camera and ECG signal characteristics and automatically record the measurement results to the cloud. Through the convenience of automatic identification, the operation of the sphygmomanometer is simplified, and the public's expectations for using the sphygmomanometer for a long time are raised. The competitive strength of blood pressure plan products will help to establish a sound health management mechanism.
17+
In addition, most of the current sphygmomanometers use a cuff measurement method, and the process is slightly uncomfortable. Therefore, we also hope to establish a new measurement method of pressureless vascular belt through the PTT time difference between ECG and PPG.
18+
19+
### Function
20+
- Using ECG for body discrimination can increase the accuracy of identification and reduce the possibility of using photos to deceive.
21+
- Using ECG and PPG to measure blood pressure can improve the comfort during measurement.
22+
- Significantly reduce blood pressure measurement time
23+
- Reduce operation complexity by automatically identifying users
24+
25+
26+
### System Architecture
27+
#### Hardware architecture
28+
<div align="center"><img width="600" height="400" src="image/hardware.PNG"></div>
29+
30+
#### Software architecture
31+
<div align="center"><img width="1000" height="200" src="image/software.PNG"></div>
32+
33+
#### Project overview
34+
<div align="center"><img width="600" height="400" src="image/project_photo (1).jpg"></div>
35+
36+
## Hardware and Software Setup
37+
### Required Hardware
38+
- 1 embarc iot develop kit
39+
- 1 ecg ppg sensor(sample rate:100hz,baudrate:115200)
40+
- 1 PC with com port
41+
42+
### Required Software
43+
- Metaware or ARC GNU Toolset
44+
- python
45+
- python module:PyQt5,numpy,matplotlib,random,Serial,struct,time
46+
47+
### Hardware Connection
48+
1.
49+
- Connect **4 electrode** to **sensor board LL RL RA LA**.
50+
- Connect **PPG SENSOR** to **sensor board**.
51+
- Connect **sensor board** to **PC**(use UART).
52+
2. Connect your **iotdk** to computer.
53+
54+
## User Manual
55+
### Make This Application
56+
57+
Here take **iotdk** with METAWARE Toolset for example to show how to run this application.
58+
59+
#### Makefile
60+
61+
- Target options about EMSK and toolchain:
62+
63+
BOARD ?= iotdk
64+
BD_VER ?= 10
65+
CUR_CORE ?= arcem9d
66+
TOOLCHAIN ?= mw
67+
68+
- The relative series of the root directory, here the path of the Makefile is
69+
70+
#
71+
# root dir of embARC
72+
#
73+
EMBARC_ROOT = ../../../../..
74+
MID_SEL = common
75+
#### Command
76+
77+
- Use Command gmake BOARD=iotdk BD_VER=10 CUR_CORE=arcem9d TOOLCHAIN=mw V=1 ADT_COPT="-Hdsplib" ADT_LOPT="-Hdsplib -Xdsp1 - Hlib=../my_dsp"
78+
79+
#### python setting
80+
Please make sure you iotdk port and sensor port is COM6 and COM3 or you can change the com port in gui.py line332,337,665
13 KB
Loading
186 KB
Loading
172 KB
Loading
146 KB
Loading
192 KB
Loading
28.2 KB
Loading
13 KB
Loading
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Library generated by buildlib
2+
SPECIFIED-OPTIONS: -tcf=arcem9d .tcf
3+
EXPANDED-OPTIONS: -av2em -core2 -HL -Hccm -Hfxapi -Hrgf_banked_regs=32 -Xagu_small -Xbarrel_shifter -Xbitscan -Xcode_density -Xdiv_rem=radix2 -Xdmac -Xdsp2 -Xdsp_accshift=full -Xdsp_complex -Xdsp_divsqrt=radix2 -Xdsp_itu -Xfpu_mac -Xfpuda -Xfpus -Xfpus_div -Xfpus_div_slow -Xfpus_mpy_slow -Xmpy_option=mpyd -Xshift_assist -Xstack_check -Xswap -Xtimer0 -Xtimer1 -Xunaligned -Xxy -ffp-contract=off .tcf
4+
ARC-OPTIONS: -av2em -core2 -HL -Hccm -Hfxapi -Hrgf_banked_regs=32 -Xagu_small -Xbarrel_shifter -Xbitscan -Xcode_density -Xdiv_rem=radix2 -Xdmac -Xdsp2 -Xdsp_accshift=full -Xdsp_complex -Xdsp_divsqrt=radix2 -Xdsp_itu -Xfpu_mac -Xfpuda -Xfpus -Xfpus_div -Xfpus_div_slow -Xfpus_mpy_slow -Xmpy_option=mpyd -Xshift_assist -Xstack_check -Xswap -Xtimer0 -Xtimer1 -Xunaligned -Xxy -ffp-contract=off
5+
Build successful
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
SL=/
2+
SRC=E:/metaware_tool/MetaWare/arc/lib/src
3+
OBJ=obj
4+
MWLIB = $(SRC)
5+
OBJ_DIR=av2em_p$(SL)custom_o
6+
MOBJ_DIR=av2em_p$(SL)custom_o
7+
LIBDSP=1
8+
LIBITUT_CUSTOM=1
9+
LIBPGO=1
10+
AOM=1
11+
CUSTOM_BUILD=1
12+
# Set the path of the C compiler and assembler here if necessary.
13+
# Alternatively, specify on the command-line to override, such as:
14+
# gmake CC=/path/to/MetaWare/arc/bin/ccac
15+
# Note that the AS setting must refer to a "ccac" driver.
16+
CCAC_EM_BUILD=1
17+
CC=E:/metaware_tool/MetaWare/arc/bin/ccac
18+
AS=$(CCAC)
19+
20+
ifeq ($(CCAC),)
21+
ifeq ("$(dir $(CC))","./")
22+
CCAC=ccac
23+
else
24+
CCAC=$(dir $(CC))ccac
25+
endif
26+
endif
27+
ifeq ($(MCC),)
28+
ifeq ("$(dir $(CC))","./")
29+
MCC=mcc
30+
else
31+
MCC=$(dir $(CC))mcc
32+
endif
33+
endif
34+
35+
# change cflags and aflags here (or override on the command-line) if you
36+
# wish to build with your own additional options or optimization level:
37+
processor_opt=-av2em
38+
cflags=-av2em -core2 -HL -Hccm -Hfxapi -Hrgf_banked_regs=32 -Xagu_small -Xbarrel_shifter -Xbitscan -Xcode_density -Xdiv_rem=radix2 -Xdmac -Xdsp2 -Xdsp_accshift=full -Xdsp_complex -Xdsp_divsqrt=radix2 -Xdsp_itu -Xfpu_mac -Xfpuda -Xfpus -Xfpus_div -Xfpus_div_slow -Xfpus_mpy_slow -Xmpy_option=mpyd -Xshift_assist -Xstack_check -Xswap -Xtimer0 -Xtimer1 -Xunaligned -Xxy -ffp-contract=off .tcf $(libflags)
39+
aflags=$(cflags)
40+
41+
include $(SRC)/libcomm.mk

0 commit comments

Comments
 (0)