嵌入式设备的辅助医疗App 毕业设计 Springboot+App+Mysql+Vant

作者主页毕业设计精选

作者简介:9年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家

摘.  要

农村医疗资源不足,医院空间分布不够合理,医疗系统人工智能化程度较低  因此本系统开发一种基于嵌入式医  疗设备配合医疗 App,为用户搭建一个良好的医疗平台 。基于 Vue 进行 Web 移动端搭建与利用 Keil 编程软件进行 Stm32  嵌入式开发的医疗系统 。在医疗系统 App 端的设计与实现中,运用 VsCode 工具调用Vue3.0+Vant 组件库进行前端界面  的搭建+Axios 进行后端数据的请求,后端运用 Idea 调用 SpringBoot+Spring Data JPA+Redis+JWT 框架进行后端的搭建,运   Postman 进行后端接口的测试,利用 Tomcat 网络信息服务以及 MySQL 数据库服务,实现对硬件测试的数据进行保存, 以推送一些医疗科普知识供人们观看等 。在医疗系统硬件端的设计与实现中,使用 Stm32 以及相应测量模块构成硬件  测量模块 。此硬件通过蓝牙模块与 App 进行通信,实现测血压、血氧、心率、体温以及对阈值的蜂鸣器报警的功能。

关键词:医疗 App;嵌入式设备;系统设计;

1 概况

1.1 乡村医疗存在问题

一是医疗资源问题  目前农村医疗资源不足,技 术比较落后 。二是医院空间分布问题 。一些乡村离 医院比较远,甚至没有医院、诊所,无法进行及时就 医,去医院成本较高 。三是医疗系统人工智能化程度 [1] 。医院、诊所没有集医疗 App 和硬件模式配合在 一起的系统 ,增加医务人员工作难度以及患者的 不便。

1.2 创意来源

以人为本一直是团队创作的出发点和落脚点,社 会不断进步,经济能力不断提高,人们越来越意识到 身体健康的重要 。但是人们无论看大病还是小病都 需要到医院排队挂号,还需要花费很长的时间,所以 在工作繁忙时,大多数人就没时间去医院,长期以往 还会造成了身体亚健康的状态 。综上所述,本文开发 一种基于嵌入式医疗设备配合医疗 App,为用户搭建 一个良好的医疗平台。

2 系统设计

2.1 系统架构设计

该系统分为硬件设计和 App 设计 。其他模块功 能根据两大模块进行扩展 。功能层次结构图如图 1 所示。

 1  功能层次结构图

在登录时,用户可以通过账号和密码进行登录操 作,或者通过手机号进行验证码登录,App 登录流程 模块如图 2

2   登录流程图

用户进行登录操作后进入测量数据页面并连接 硬件设备进行身体指标测量,同时将硬件测得的数据层、异常处理层等 。接口层是连通前端的桥梁,通过  deletepostget 发送请求 。服务层是处理后端的逻辑  代码 。数据库层是直接与 MySQL 连接的 。工具层是  装有对一些逻辑处理的工具 ,例如返回的参数类  JWT 工具类、Redis 方法调用类等[3] 。异常处理层是处  理后端发生异常时进行捕获。

2) JWT 的运用

用户在登录成功后,根据 JWT 的内置函数生成  token 。如果用户想要访问登录以后才能访问的模块 (比如个人中心),我们就可以验证用户发送的请求携 带的 token,如果没有抛出异常,则说明已经登录过 了,否则拒绝访问,转到登录页。

3) Redis 的运用

本系统运用 Redis 来缓存常访问的值,减少了对 数据库的访问,而且 Redis 的访问速度比 MySQL 的访 问速度快。

4) Spring Data JPA 的运用

本系统运用了 Spring Data JPA  App 的数据是实 现了 CRUD 操作,对 App 的数据持有持久性。

Spring Data JPA  供 了  些 常 用 的   ,如  JpaRepositoryJpaSpecificationExecutor 等,这些接口包  含了很多常用的 CRUD 操作方法,可直接继承使用。 同时,Spring Data JPA 还提供了基于方法命名规范的  查询方式,可以根据方法名自动生成相应的 SQL   句,并执行查询操作 。这种方式可以大大减少编写  SQL 语句的工作量。

本系统使用此框架进行与数据库的直接交互。

5) Postman 的调用

后端通过 Postman 调用 controller 接口进行测试, 检测后端数据是否可以与前端通信。

2.4 App 的前端框架

前端框架运用 Vue3.0 进行部署,每一个组件通过 路由渲染不同的数据,同时运用 Vant 组件库进行页面 的前端布局,调用 Axios 第三方库对后端的数据进行通 ,利  路 由 (router) 进行页面的跳转。

1) Axios 的运用

Axios 是一个基于  Promise  HTTP 库 , 简单地讲就是可以发   getpostdelete 等请   。可以将后端请求  的数据渲染到前端。

2) router 的运用

本系统引用router 进行页面的跳转 ,能  前端页面渲染不同的  数据 。并且利用路由  守卫来截取页面是否

5   数据库关系图

3) Vant 组件库的调用

本系统运用 Vant 的组件库对前端页面进行布局, 例如搭建导航栏、列表、搜索框等。

2.5 硬件系统结构

该系统将 STM32F103C8T6 作为系统的主控制元  器件,它采用了 ARM Cortex-M3 内核,具有高速运算、          接 口        统 中  STM32F103C8T6 通 过 I2C 接 口  接 MAX30102 传    ,用于实时监测患者的心率和血氧浓度  同时  STM32F103C8T6 还通过 1-wire 接口连接 DS18B20   度传感器,用于实时监测患者的体温变化 。蜂鸣器是  该系统的报警器,它通过 PWM 接口连接 STM32F103C  8T6,用     生命      进行声  报警[5] OLED 显示屏通过 SPI 接口连接 STM32F103C8T6,用  于显示患者生命体征数据和其他信息 App  HC-  08 蓝牙模块通过 UART 接口连接 STM32F103C8T6,用  于与 App 端进行数据交互和实现远程控制。

此外,该系统还使用了按键设备,用于方便患者 或医护人员对系统进行操作和控制 。按键通过 GPIO 接口连接 STM32F103C8T6,实现对系统功能的快速切 换和操作 。系统的硬件框图如图 6 所示。

6   系统的硬件框图

2.6 蜂鸣器模块

蜂鸣器是一种能够产生音频信号的电子元件,它 通常用于发出警报、提醒和提示等应用场合 。蜂鸣器 可分为有源蜂鸣器和无源蜂鸣器两种类型 。有源蜂 鸣器需要外部电源供电,而无源蜂鸣器则不需要外部 电源,它们利用自身共振频率产生声音 。本系统采用 的是有源蜂鸣器 。本系统使用的蜂鸣器技术参数如  1 所示。

 1   蜂鸣器的基本技术参数

 

参数内容

 

1

工作电压(V)

3、5、12

2

驱动方式

直流电压

3

频率范围(kHz)

2~5

4

电流(mA)

20~50

5

工作电压(V)

3.3 !5

7   蜂鸣器引脚图

2.7 OLED 显示屏模块

OLED 显示屏本身发光,因此不需要背光源,这使  OLED 显示屏更加薄型化,可弯曲,更加适用于移动 设备、手表和可穿戴设备等应用场景 。本系统中采用 的是 12864 OLED 显示屏,该款显示屏的技术参数如  2 所示。

2   OLED 显示屏的基本技术参数

 

参数内容

 

1

分辨率

128×64

2

尺寸(英寸)

 0.96

3

驱动 IC

SSD1306

4

接口类型

IIC  SPI

5

工作电压(V)

3.3~5

6

工作温度(℃)

-40~70℃

7

对比度

10000 ∶1

8

亮度(cd/m2)

150

OLED 显示屏的 PCB 布局如图 8 所示:

8   OLED 显示屏引脚图

3 系统主要典型功能实现

3.1 用户登录

用户可以通过手机接收的验证码进行登录或者 通过账号和密码进行登录,登录成功后进入 App 界面 进行操作反之继续停留在登录页面。

 9 是登录页面的时序图。

9   登录时序图

3.2 App 与硬件交接的处

本系统的 App 与硬件设备通信是通过蓝牙模块, 本系统的 App 与硬件测量设备是通过蓝牙连接。

图 10  App 与硬件设备的五个交接协议图。

 10   App 与硬件通信图

3.3 用户测量指标

用户可以在 App 端的测量数据页面,进行连接硬 件设备与身体指标的测量 ,在此页面中 ,用户点击 App 启动连接按钮,当 App 显示连接成功时,表示 App 与硬件连通,用户可以利用硬件设备进行身体指标测 量,然后用户点击 App 的相应参数按钮将硬件测的数 据传回到 App 中进行保存。

如图 11 是测量身体指标的时序图。

 11    身体指标测量的时序图

3.4 爬取今日新闻

前端利用 Vue 生命周期中的 mounted 来调取后端 的爬虫接口,后端的服务层进行函数逻辑处理进行对 新闻的爬取。

如图 12 是爬去今日时政的时序图。

 12   爬去今日时政的时序图

3.5 蜂鸣器、按键等软件初始化

为了能达到发出警报信息,并且能手动确认/ 消警报信号,需要用到蜂鸣器、按键这两个部件 。上      ,在    置 中 ,较    ,因此   介绍。

1)  IO  :初      、按 键 的    口号。

2) 配置蜂鸣器:使用 HAL_GPIO_WritePin 函数来 控制 GPIO 输出来控制蜂鸣器。

3) 配置按键:设置上/下沿触发,沿触发蜂鸣器、 按键等软件初始化介绍。

3.6 DS18B20 软件初始化

由于 MAX30102 传感器只能测量心率、血压等信  息,并不能精确测量体温信息,为此,本系统添加了  DS18B20 模块,作为温度传感器,用来测量体温信息。 以下是 DS18B20 初始化,使其正常工作的步骤。

1) 配置 GPIO 引脚:DS18B20 使用 GPIO 引脚作为 1-Wire 总线,需要将 GPIO 引脚设置为输出模式 。使  GPIO_InitTypeDef结构体配置 GPIO 引脚,然后使用 GPIO_Init()函数将配置应用于 GPIO 引脚。

2) 发送初始化序列:在 1-Wire 总线上通信之前, 需要向 DS18B20 发送初始化序列 。初始化序列包括  1-Wire 总线发送复位脉冲,然后发送读取 ROM   码指令等。

3) 发送温度转换命令:将温度转换命令发送至 DS18B20,启动温度转换程序。

4) 读取温度数据:温度数据可由DS18B20 1- Wire 总线在完成温度转换后进行读取。

4 系统测试

测试用例:

测试目的是执行 App 的相应的流程,保证系统的 正常使用和安全性 。同时发现系统存在的错误,及时 修改和完善 。本系统使用策略表,适用于逻辑判断复 杂的场景,通过相关条件获得结果,进行优化合并。

身体指标测量操作,如表 3 所示。

实物软硬件模块测试,如表 4 所示。

3  测量身体指标测试

 

操作描述

输入说明

预期输出

实际输出 结果

1

连接硬件 设备

在响应页

面点击启

动连接按

点击启动 连接按钮

返回响应

连接参数,

硬件设备

是否连接

成功

2

开始测量 指标

硬件设备 开始测量

当硬件数

据测量完

毕传回数

在测量数

据的页面

显示测量

身体指标

的数据

3.3 用户与商家协商交易

当用户购买商品后可以选择与商家交易时间,共 选择两个交易时间,用户选择两个交易时间后,服务 端会把这两个交易时间返回给商家,商家可以选择适 合交易时间后,确定其中的一个交易时间返回给卖 家,卖家可以选择自己确定的时间,买家最终确定交 易信息,流程如图 10 所示。

 10   用户与商家协商交易

4 结束语

通过对大学校园二手物品回收再利用的问题思 考和分析,当代大学生要节约资源、低碳环保的意识 刻不容缓;设计中还存在很多不足,比如并没有使用 redis 缓存技术缓存商品信息,这会导致当很多用户访 问数据库的商品信息时会造成访问时间过长,访问次数过多导致数据库崩溃,团队会尽量实现这个技术的  部署,其次在能力范围内,对程序性能进行了优化,手  动分配 JVM 虚拟机[6]的堆的内存,JDK1.8 中默认使用  的是 Parallel Scavenge 垃圾回收器,在本项目中我们开  启的是 G1 垃圾回收器,通过对字节码文件的逐步分  析,采用 JVM 的指令使性能更加高效,在数据库层面, 通过创建索引,使 SQL 查询更加高效,避免了用户查  询商品时间过长,使用户的体验感大大加强,经量减   STW[6]的出现,实现对用户的体验有着很大的改善。

5 结束语

本系统为 Web 移动端搭配 Stm32 嵌入式设备的一套系统设备,将开发系统部署在服务器上,实现不 同移动端设备对此系统的使用 ,使用后端框架为 SpringBoot+Spring  Data  JPA+Redis+JWT    端  的 Vue2.0 。本系统提供对医疗设备的测量的操作,以及 对硬件设备测量的数据进行保存操作,可以检测人体 的血压、血氧、体温、心率以及当达到阈值时,蜂鸣器 报警进行功能 。总的来说,本系统为用户提供了一个 可以查看自己身体指标的平台,为用户了解自己的身 体健康情况提供了便捷的渠道。

参考文献:

[1] 付海滨 . 乡村振兴战略下河南省农村中老年人健身的现实 困境与路径设计研究[D]. 哈尔滨:哈尔滨体育学院,2022.

[2] 缪忠剑 . 基于 Spring 的集成化 Web 开发平台的研究与实现 [M]. 北京:机械工业出版社,2013.

[3] 魏江东,涂继辉,赖少东, . 基于 WebSocket  Redis 的移动 目标轨迹跟踪系统设计与实现[J].计算机时代,2021(8):76- 79,83.

[4] 凌信航,王航蜀,吴俊 . 基于物联网的人体健康及家庭环境监 测系统[J]. 电子器件,2022,45(5):1272-1278.

[5] 向继文,刘昕,陈善荣 . 基于 DS18B20 的数字温度计设计与仿 [J]. 电脑与信息技术,2019,27(1):47-50.

[6] 徐琛 . 基于 MQTT 的温室草莓物联网监测系统[D]. 武汉:武汉 轻工大学,2020.

  • 37
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先需要了解得物网站的数据结构和爬取方,得物网站比较复杂,需要使用Selenium+BeautifulSoup进行爬取。 以下是一个简单的得物爬虫Python代码实现(注:仅供学习参考,请勿用于商业用途): ```python import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from bs4 import BeautifulSoup options = Options() options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在报错的问题 options.add_argument('window-size=1920x3000') # 指定浏览器分辨率 options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 options.add_argument('--headless') # 无界面 driver = webdriver.Chrome(options=options) url = 'https://www.dewu.com/' driver.get(url) # 等待页面加载完成 time.sleep(3) # 模拟鼠标点击,展开商品列表 driver.find_element_by_xpath('//div[text()="全部商品"]').click() # 等待页面加载完成 time.sleep(3) # 获取页面源代码 html = driver.page_source # 解析页面 soup = BeautifulSoup(html, 'html.parser') # 获取商品列表 items = soup.find_all('div', {'class': 'item-card'}) for item in items: # 获取商品标题 title = item.find('div', {'class': 'title'}).text.strip() # 获取商品价格 price = item.find('div', {'class': 'price'}).text.strip() # 获取商品链接 link = item.find('a', {'class': 'item-link'})['href'] print(title, price, link) # 关闭浏览器 driver.quit() ``` 这里的代码仅仅是一个简单的爬虫示例,如果想要更加深入地了解得物网站的数据结构和爬取方,需要结合具体的需求进行更加详细的分析和实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值