版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SpringBoot+STM32的养老院管理系统的设计与实现摘要目前的养老问题越来越突出,本系统旨在设计和开发一套养老院管理系统,以解决传统管理方式存在的问题,从而提高管理效率和服务质量。通过信息化管理,可以减少人工操作,提高工作效率,减少错误率。还可以推动养老院的信息化建设,提高信息化水平,为养老院的长期发展打下良好的基础。系统分为软件系统和硬件系统两部分,共分为管理员、老人、护工三类角色。管理员可以管理用户、管理老人心率血氧数据、管理养老院资讯信息、饮食管理、房间管理、任务计划管理。老人可以查看养老资讯、查看饮食菜单、查看费用情况以及老人的基本信息、充值老人账户等功能。护工可以查看属于自己的任务清单,明确自己应该做的工作,为老人提供更周到的服务。系统软件部分采用前后端分离[2]技术,前端使用Vue框架,主要使用VisualStudioCode实现代码编写,并且界面UI使用ElementUI框架来实现。后端使用SpringBoot技术,数据库使用MySQL。硬件部分使用STM32主控制器、搭配使用MAX30102血氧心率检测模块和WIFI模块,通过硬件设备实时监测老人的血氧含量和心率数据,并将数据同步到系统中,为老人提供及时、有效的健康检测。整个系统实现了智慧化管理养老院的功能,大量测试之后,系统大致稳定,并且有不错的可行性,能够满足现代智慧养老的要求。关键词:饮食管理,信息化管理,健康数据检测DesignandImplementationofRestHomeControlSystemBasedonSpringBootandSTM32AbstractThissystemaimstodesignanddeveloparesthomecontrolsystemtosolvetheproblemsexistinginthetraditionalcontrolmode,soastoimprovethecontrolefficiencyandservicequality.Throughmessagecontrol,manualoperationcanbereduced,workefficiencycanbeimproved,anderrorratecanbereduced.Itcanalsopromotethemessageconstructionofresthomes,improvethelevelofmessage,andlayagoodfoundationforthelong-termdevelopmentofresthomes.Thesystemisdividedintotwoparts:softwaresystemandhardwaresystem,whicharedividedintothreetypesofroles:administrator,elderlyandnurse.Administratorscanmanageusers,managetheelderly'sheartrateandbloodoxygendata,manageresthomemessage,dietcontrol,roomcontrol,taskplancontrol.Theelderlycanviewthepensionmessage,viewthedietmenu,viewthecostmessageandthebasicmessageoftheelderly,rechargetheelderlyaccountandotherfunctions.Carerscanlookattheirownlistoftasks,identifytheworktheyshoulddo,andprovidemorethoughtfulservicetotheelderly.Partofthesystemsoftwareadoptsthetechnologyoffrontendseparation[2],thefront-endusesVueframework,mainlyusesVisualStudioCodetorealizecodewriting,andtheinterfaceUIusesElementUIframeworktorealize.SpringBoottechnologyisusedforthebackendandMySQLisusedforthedatabase.Inthehardwarepart,STM32maincontroller,MAX30102bloodoxygenheartratedetectionmoduleandWIFImoduleareusedtomonitorthebloodoxygencontentandheartratedataoftheelderlythroughhardwaredevicesinrealtime,andsynchronizethedatatothesystemtoprovidetimelyandeffectivehealthdetectionfortheelderly.Thewholesystemhasrealizedthefunctionofintelligentcontrolofresthomes.Afteralotoftests,thesystemisgenerallystableandhasgoodfeasibility,whichcanmeettherequirementsofmodernintelligentelderlycare.Keywords:DietaryControl,MessageControl,HealthDataTesting.目录摘要 IAbstract II第1章绪论 11.1系统背景 11.2目的与意义 11.3论文研究主要内容 11.3.1管理员 11.3.2老人 11.3.3护工 11.4国内外研究现状 1第2章关键技术介绍 32.1SpringBoot框架 32.2Vue 32.3MyBatis 3第3章需求分析 43.1功能性需求分析 43.1.1系统用例图 43.1.2系统用例描述 53.2系统原型 73.3模块需求分析 73.4系统开发环境 103.5系统可行性分析 10第4章系统设计 114.1功能结构设计 114.2数据库设计 114.3硬件设计 134.3.1心率血氧传感器 134.3.2WiFi模块 144.3.3主控芯片选择 144.3.4显示屏选择 154.3.5原理图 154.3.6主要模块流程图 164.4软件设计 174.4.1新增费用记录功能模块设计 174.4.2新增饮食记录功能模块设计 174.4.3编辑费用记录功能模块设计 184.4.4编辑饮食记录功能模块设计 184.5JSON接口设计 194.5.1查看健康数据接口 194.5.2编辑费用记录接口 194.5.3删除资讯记录接口 204.5.4新增医疗记录接口 204.5.5充值余额接口 21第5章系统实现 225.1硬件实现 225.2软件实现 235.2.1管理端功能模块实现 235.2.2老人端功能模块实现 25第6章系统测试 296.1硬件测试 296.2软件测试 296.2测试结论 31第7章结论 32参考文献 33致谢 34PAGE5第1章绪论1.1系统背景当今,老年人的养老问题已逐渐成为社会上很重要的责任。随着全球人口老龄化趋势的加剧,老年人口的增长带来了一系列社会问题。许多老年人面临着缺乏亲人陪伴和自我照顾能力不足的困境。同时,受一些国家生育政策的影响,家庭规模缩小,加之就业市场的挑战,年轻一代的经济负担加重,使得他们对老年人的赡养能力受到限制。因此,老龄化问题及其对养老体系的影响,已成为一个亟待关注和解决的全球性议题。1.2目的与意义本系统旨在设计和开发一套养老院管理系统[3],以解决传统管理方式存在的问题。通过该系统,养老院管理人员可以实时监控和管理养老院的各项业务,包括老人信息管理、房间预订与退订、资讯发布、饮食计划管理等,从而提高管理效率、降低管理成本,并为老人提供更加便捷、舒适的居住环境。1.3论文研究主要内容本系统通过对目前现有的养老院管理平台的研究及对目标人群的调研,并且通过查阅资料分析,最终确实本系统的使用角色为管理员、老人和护工。1.3.1管理员管理员登录自己的账号之后,首先会看到的是自己每天的登录轨迹,可以看出打卡信息,管理员可以通过系统进行养老院的健康数据管理、资讯管理、饮食管理、费用管理、房间管理、任务计划管理等。能够更加方便的实现养老院的日常管理。1.3.2老人老人登录自己的账号,进入到养老院平台的首页,能够看到养老院的精神风采、精彩活动以及活动宣传信息。之后可以查看饮食菜单,包括老人的每日饮食,包括饮食的费用、营养搭配等;查看费用情况以及老人的基本信息,比如老人每月的费用情况。充值老人账户,比如当老人的账户需要缴费时,家属可以据此在线进行充值。1.3.3护工护工登录自己的账号进入到平台,他可以查看老人的特殊需求,比如有些老人难免会有些不同的特殊需求,护工需要据此来接收到老人的需求,方便工作开展。还可以记录自己为老人的服务情况,比如护工为老人做的一些特殊服务,需要记录下来,可由管理员查看。1.4国内外研究现状在国内,随着老龄化的加速发展,养老院管理系统的研究也越来越受到关注。许多大学和研究机构都在进行相关研究。国内众多科技企业开始探索养老领域的创新解决方案。例如,阿里公司推出了“智慧养老”项目,该项目通过整合医疗、健康、生活等多方面资源,构建了一个全方位的养老服务体系,旨在提高老年人的生活质量,减轻家庭和社会的养老压力。在国外[5],欧美等发达国家的养老院管理系统研究比较成熟,主要集中在老人健康监测、社交互动、智能化管理等方面。例如,英国推出了一项创新的“智慧养老院”项目,该项目通过集成化技术,为老年人提供了一个多功能的养老环境。不仅增强了老年人的社交参与、保障了他们的健康,还通过技术优化了养老院的运营效率,减轻了社会养老压力。第2章关键技术介绍本系统的软件部分采用前后端分离[6]的技术,后端使用SpringBoot框架,并配合Swagger、MyBatis等技术,实现数据库操作和代码编写的简化、项目安全性的提高、工作效率和开发便捷性的增强等。前端Vue中融合ElementUI进行界面设计,借助Axios实现前后端数据交互。数据存储部分主要采用MySQL[7]进行基础数据存储。硬件部分使用STM32微控制器技术[4]、传感器技术、无线通信技术实现心率血样数据的上传及获取。接下来对本系统开发涉及的部分关键性技术进行介绍。2.1SpringBoot框架SpringBoot框架以其高效的开发流程和简化的配置管理,成为构建企业级应用的首选。它通过预设的配置模板,显著减少了开发者在初始设置上的工作量。框架的核心特性之一是其智能化的自动配置系统,该系统能够根据应用的依赖和上下文环境,自动调整和优化配置,如数据库连接、消息队列等,从而减少了手动配置的需求。此外,SpringBoot还提供了一个广泛的起步依赖库,允许开发者基于项目需求选择性地集成必要的组件,同时保留了自定义配置的灵活性,以适应不同应用场景的特定需求。这些特性共同构成了SpringBoot的便捷性和强大功能,使其在现代应用开发中备受青睐。2.2VueVue[9]是一个用于构建用户界面的渐进式框架,它可以自底向上逐层应用,也可以与其他库或项目整合。Vue.js作为一款现代前端框架,以其数据驱动和组件化的核心特性,为开发者提供了一种高效构建用户界面的方法。该框架通过双向数据绑定机制,使得用户界面能够自动响应数据模型的变化,从而简化了视图与数据之间的同步过程。此外,Vue的组件化架构允许开发者将界面拆分成独立、可复用的组件,这不仅提高了代码的模块化程度,也便于团队协作和项目的可维护性。2.3MyBatisMyBatis框架通过定义SQL语句与Java对象间的映射关系,简化了数据库交互过程。开发者可以利用XML配置或注解形式,指定所需的数据库操作指令。MyBatis框架将这些指令与Java对象动态绑定,自动生成并执行SQL语句。执行后,框架进一步将SQL查询结果自动映射为Java对象,简化了数据的处理和使用。需求分析3.1功能性需求分析通过需求调研,最终确定系统角色[10]分为管理员、老人、护工三类,管理员可以管理饮食计划、费用记录、房间记录、任务计划等,老人可以查看医疗记录、饮食记录、饮食菜单等,护工可以查看自己的任务清单,明确自己为老人的服务。3.1.1系统用例图管理员可以管理人员、管理健康数据、管理饮食计划、管理费用记录、管理医疗记录等,用例图如图3.1所示。图3.1管理员用例图老人可以查看饮食菜单、查看饮食记录、查看医疗记录等等。老人用例图如图3.2所示。图3.2老人用例图3.1.2系统用例描述(1)获取老人健康数据用例系统管理员获取老人心率等健康数据用例的用例描述如表3.1所示。表3.1获取老人健康数据用例描述用例名称获取老人健康数据参与者系统管理员用例概述系统管理员使用该用例完成获取老人健康数据的功能前置条件系统管理员已经登录,并且进入获取健康数据页面后置条件系统获取到此时检测老人的健康数据记录基本事件流参与者动作系统响应1.系统管理员在健康数据管理主页面上选择角色为老人的一行。3.系统管理员点击操作中的“开始检测”按钮,点击“提交”按钮。2.系统打开添加健康数据管理页面。4.系统提示请放置手指开始检测,放置后请保持5秒。6.系统管理员点击确定,等候5秒。7.系统提示“获取数据成功”。8.系统弹出健康数据对话框,为当前放置手指老人的心率血氧数据。备选事件流1a.系统在验证过程中一旦发现管理员选定的角色非老人用户,将立即弹出警告提示:“角色选择错误”。(2)修改费用记录用例系统管理员修改费用记录用例的用例描述如表3.2所示。表3.2修改费用记录用例描述用例名称修改费用记录参与者系统管理员续表3.2修改费用记录用例描述用例概述系统管理员使用该用例完成修改费用记录的功能前置条件系统管理员已经登录,并且进入管理费用记录页面后置条件系统中修改一条费用记录基本事件流参与者动作系统响应1.系统管理员在费用记录管理主页面上选择“修改”。4.系统管理员填写修改之后的记录信息,点击“提交”按钮。2.系统从数据库中获取要修改的记录信息。3.系统在管理员请求编辑费用记录时,将打开相应的编辑页面。5.系统随后验证输入信息的正确性。6.系统更新数据库中的记录,并反馈“修改费用记录成功”的消息。7.界面自动跳转回费用记录的概览页面。备选事件流7a.系统录入过程发生错误,未完成操作,则提示“添加记录失败”。(3)删除资讯用例系统管理员删除资讯用例的用例描述如表3.3所示。表3.3删除资讯用例描述用例名称删除资讯参与者系统管理员用例概述系统管理员使用该用例完成删除资讯的功能前置条件系统管理员已经登录,并且进入管理资讯页面后置条件系统中删除一条资讯记录基本事件流参与者动作系统响应1.系统管理员在资讯管理主页面上执行删除操作,选择“删除资讯”选项。3.管理员在确认对话框中点击“确定”按钮。2.系统弹出一个删除提示框,询问管理员是否确实要删除选中的资讯。4.系统将该资讯从数据库中移除。5.系统将显示“删除资讯成功”的提示信息,以确认资讯已被成功删除。备选事件流5a.系统录入过程发生错误,未完成操作,则提示“删除资讯失败”。(4)查询饮食记录用例系统管理员查询饮食记录用例的用例描述如表3.4所示。表3.4查询饮食记录用例描述用例名称查询饮食记录参与者系统管理员用例概述系统管理员使用该用例完成查询饮食记录的功能前置条件系统管理员已经登录,并且进入管理饮食记录页面表3.4查询饮食记录用例描述后置条件系统给出相应的数据基本事件流参与者动作系统响应1.系统管理员在成功登录后,将被引导至管理主页面。在此页面上,管理员需选择“饮食记录”选项,以便进入专门的饮食记录页面。3.进入饮食记录页面后,管理员可点击对应记录旁边的“查看”按钮,以获取该条饮食记录的详细信息。2.当管理员在管理界面选择删除某条资讯时,系统首先会弹出一个删除提示框,明确询问管理员是否确认执行删除操作。4.系统将执行删除指令,从数据库中彻底移除所选资讯。5.系统会向管理员显示“删除资讯成功”的提示信息,以确认操作已顺利执行。备选事件流5a.系统获取饮食详细记录列表失败,则提示“详细数据获取错误”。(5)新增医疗记录用例系统管理员新增医疗记录用例的用例描述如表3.5所示。表3.5新增医疗记录用例描述用例名称添加医疗记录参与者系统管理员用例概述系统管理员使用该用例完成添加医疗记录的功能前置条件系统管理员已经登录,并且进入管理医疗记录页面后置条件系统中添加一条饮食记录基本事件流参与者动作系统响应1.系统管理员在医疗记录管理主页面上选择“添加医疗记录”。3.系统管理员填写医疗记录信息,点击“提交”按钮。2.系统跳转至添加医疗记录页面。4.系统进行信息校验,确保所输入的数据准确无误。5.系统将新记录保存至数据库中。6.系统提示“添加医疗记录成功”。系统会向管理员展示“添加医疗记录成功”的提示,确认记录已成功添加。7.系统会自动跳转至医疗记录列表界面,方便管理员查看和管理医疗记录。备选事件流4a.若系统管理员在录入病历信息时遗漏了病历号、就诊情况或检测记录等必要字段,系统将显示提示信息:“信息不能为空,请重新输入”。6a.若系统在医疗记录的录入过程中遇到错误,导致操作未能成功完成,将向用户显示错误提示:“添加医疗记录失败”。(6)充值余额用例老人充值余额用例的用例描述如表3.6所示。表3.6充值余额用例描述用例名称添加饮食记录参与者系统管理员用例概述系统用户使用该用例完成充值金额的功能前置条件系统用户已经登录,并且进入查看费用记录页面后置条件系统中更新用户的当前余额基本事件流参与者动作系统响应1.系统用户在费用记录管理主页面上选择“我要充值”。3.系统用户填写充值数额信息,点击“确定”按钮。2.系统打开充值页面。4.系统检查系统用户输入的信息是正确有效的。5.系统更新用户的当前余额。6.系统提示“充值成功”。7.系统跳转到费用记录列表界面备选事件流6a.系统录入过程发生错误,未完成操作,则提示“充值失败”。3.2系统原型(1)获取健康信息系统原型管理员可以获取当前检测老人的心率、血氧等健康信息,系统原型如图3.3所示。图3.3管理员获取健康信息的系统原型(2)修改费用记录系统原型管理员可以修改费用记录,包括费用名称、费用明细、总费用等信息的修改,系统原型如图3.4所示。图3.4管理员修改费用记录的系统原型(3)查询饮食记录系统原型管理员可以查询饮食记录,包括饮食计划、就餐时间、金额等信息,系统原型如图3.5所示。图3.5管理员查询饮食记录的系统原型(4)新增医疗记录系统原型管理员可以新增医疗记录,包括病人名字、病历号、就诊情况以及治疗方案等,系统原型如图3.6所示。图3.6管理员查询医疗记录的系统原型(5)查询房屋信息系统原型管理员可以查询房屋信息,包括房屋照片、房屋编号以及房屋状态等,系统原型如图3.7所示。图3.7管理员查询房屋的系统原型(6)充值账户余额系统原型老年人通过登录个人账户,能够实时查看其账户余额,并具备在线充值功能,以便及时补充账户资金,如图3.8展示的系统原型,确保了查询和充值过程的简便性和易用性。图3.8老人查看余额的系统原型3.3模块需求分析硬件功能模块主要检测老人的心率血氧健康数据,该模块由STM32主控制器、心率血氧传感器、Wi-Fi模块以及OLED显示屏等关键组件构成。STM32F103C8T6微控制器作为系统的大脑,负责驱动MAX30102传感器进行生理信号的采集。采集到的数据经过处理后,实时显示在0.96英寸的OLED屏幕上,并通过串口输出。此外,系统通过Wi-Fi模块连接互联网,将监测数据上传至阿里云平台,以便于远程监控和分析。操作过程中,管理员只需点击用户界面上的“开始检测”按钮,随后将手指放置于传感器上。经过短暂的5秒等待,系统便能准确读取并展示当前的心率和血氧数据,为老年人的健康管理提供即时、准确的信息。3.4系统开发环境操作系统:Windows集成开发环境:IDEA、VisualStudioCode、KeiluVision5数据库管理系统:MySQL测试接口工具:ApiPost7、Postman构建工具:Maven3.5系统可行性分析基于SpringBoot框架和相关技术的运用,可以快速构建养老院管理系统,并保证系统的稳定性和安全性。同时,Java享有庞大的资源库和活跃的社区支持,这些优势显著降低了软件开发的复杂性和潜在风险。因此,从技术角度来看,本项目的实现是可行的。第4章系统设计4.1功能结构设计养老院管理系统的体系结构设计以SpringBoot[8]为核心,构建后端服务层,处理业务逻辑和数据交互。STM32硬件模块负责采集老人血氧数据,通过接口与后端服务层进行通信,实现数据的实时上传与分析。前端界面层针对不同角色(管理员、老人、护工)提供不同的操作界面和功能模块。数据存储层采用关系型数据库,确保数据的稳定性和安全性。系统的功能层次图如图4.1所示。图4.1功能层次图4.2数据库设计在概要设计阶段,根据需求分析绘制E-R图,包含了9个实体及其若干属性,这些实体涵盖了用户信息、饮食日志、费用记录等关键模块,同时明确了实体间的相互联系。如下图4.2所示。图4.2系统E-R图系统共计13张数据库表,用户表appuser、房间表room、资讯表banner、饮食计划表foodplan、饮食记录表foodrecord、医疗记录表medicalrecord。(1)用户表(appuser)用户表是数据库中用于存储用户账户信息的关键组成部分,它记录了包括用户编号、账户创建时间、密码、用户地址、用户角色以及账户余额在内的多个关键字段,如表4.1所示。表4.1用户表appuser字段名名称数据类型约束Id用户编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人intPassword密码varcharLoginTimePeriod登录时间段longtextEmail邮箱varcharRoleType角色intAddress地址varcharUserName账号varcharPhoneNumber手机号码varcharImageUrls头像varcharBirth出生年月timestampMoney账户余额doubleName名称varcharIdCard身份证varcharFamilyStatus家庭情况varchar续表4.1用户表appuserPhoto个人照片varcharSex性别varcharFamilyName家属姓名varcharFamilyPhone家属电话varchar(2)房间表(room)房间表保存了编号、房屋照片、房屋备注、房屋目前状态等信息。结构如表4.2所示。表4.2房间表room字段名名称数据类型约束Id编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人varcharImageUrls头像varcharRemark房屋备注varcharNo房屋标号intRoomStatus房屋状态varchar(3)资讯表(banner)资讯表是存储关键资讯数据的数据库表,它包含了资讯编号、创建时间、创建人、文章正文以及标题等字段。这些信息共同构成了资讯的详细记录,如表4.3所展示的结构。表4.3资讯表banner字段名名称数据类型约束Id资讯编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人intIsPutaway上架状态varcharContent文章内容varcharImageUrls封面varcharArticleTypeId资讯类型varcharAuthor发表者varcharTitle标题varchar(4)饮食计划表(foodplan)饮食计划表保存了饮食内容、饮食类型、金额等信息。结构如表4.4所示。表4.4饮食计划表foodplan字段名名称数据类型约束Id计划编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人intContent饮食内容text续表4.4饮食计划表foodplanFoodTime饮食阶段枚举intTitle饮食标题varcharMoney金额double(5)饮食记录表(foodrecord)饮食记录表保存了就餐人、饮食计划、金额等信息。结构如表4.5所示。表4.5饮食记录表foodrecord字段名名称数据类型约束Id用户编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人intFoodPlanId饮食计划intRepastId就餐人intMoney金额doubleSettle是否结账bit(6)医疗记录表(medicalrecord)医疗记录表保存了病人、病历号、检测记录、就诊情况、治疗方案等信息。结构如表4.6所示。表4.6医疗记录表medicalrecord字段名名称数据类型约束Id用户编号intPK,AUTO_INCREMENTCreationTime创建时间timestampnotnullCreatorld创建人intnotnullPatientId病人intnotnullCode病历号varcharnotnullSeeRecord就诊情况描述textnotnullTestRecord检测记录textTreatPlan治疗方案textIsEnd是否结束tinyintMoney涉及金额double4.3硬件设计4.3.1心率血氧传感器MAX30102传感器运用PPG(光电容积脉搏波描记法)技术来捕获生理数据。这些数据随后由微控制器进行处理和计算,以得出心率和血氧饱和度的具体数值。处理后的数据通过接口传输,简化了传感器的集成过程并减少了对主控单元资源的需求。此外,MAX30102还配备了上位机软件,允许用户通过电脑直接访问和读取传感器收集的数据,增强了数据的可访问性和系统的用户友好性。如图4.2所示。图4.2心率血氧传感器4.3.2WiFi模块ESP8266是一款高性能的Wi-Fi串口模块,实现透明传输,可以为移动设备和物联网应用而设计,能够将用户的物理设备连接到Wi-Fi无线网络上,进行互联网或局域网通信,从而实现联网功能。如图4.3所示。图4.3Wi-Fi模块4.3.3主控芯片选择STM32F103C8T6单片机[1]是一款由意法半导体推出的高性能、低功耗的32位ARMCortex-M3内核微控制器,具有以下优点:多功能的外设接口:STM32F103C8T6单片机设计了全面的外设接口集,支持USB、CAN、SPI、I2C和USART等多种通信协议。开发便捷性:STM32F103C8T6单片机配备了一套完整的开发工具链,包括多功能开发板、易于操作的集成开发环境(IDE)以及全面的技术文档。这些资源的丰富性极大地简化了开发流程。如图4.4所示。图4.4STM32主控制器4.3.4显示屏选择OLED(有机发光二极管)显示屏,以其自发光特性区别于传统的LCD(液晶显示)技术,后者依赖外部背光源。OLED的自发光属性不仅消除了背光需求,还带来了更佳的显示质量。尽管目前技术限制了OLED显示屏的大型化,但其能够实现的高分辨率是其一大优势。在本系统中,采用了0.96英寸的OLED屏幕,以发挥其高分辨率和自发光的优势,为用户提供清晰且节能的显示效果。如图4.5所示。图4.5OLED显示屏4.3.5原理图心率和血氧数据采集利用STM32微控制器进行,通过心率传感器实时获取数据,并通过WiFi模块无线传输。采集到的信息最终通过OLED屏幕直观展示。原理图如图4.6所示。图4.6心率血氧检测原理图4.3.6主要模块流程图硬件获取数据首先要启动系统,点击开始检测按钮后,将手指放置在传感器模块上等待5s,每隔5s上传一次阿里云平台。流程如图4.7所示。图4.7流程图4.4软件设计4.4.1新增费用记录功能模块设计登录系统的管理员能够利用新增费用记录功能来添加费用信息。该操作流程的详细步骤及交互逻辑在图4.9中以顺序图的形式进行了展示。图4.9新增费用记录功能顺序图4.4.2新增饮食记录功能模块设计管理员登录系统后可以通过新增饮食记录功能增加饮食记录信息。该功能的顺序图如图4.11所示。图4.11添加饮食记录功能顺序图4.4.3编辑费用记录功能模块设计管理员登录系统后可以通过编辑费用记录功能修改费用信息。该功能的顺序图如图4.10所示。图4.10编辑费用记录功能顺序图4.4.4编辑饮食记录功能模块设计管理员登录系统后可以通过编辑饮食记录功能修改饮食信息。该功能的顺序图如图4.12所示。图4.12编辑饮食记录功能顺序图4.5JSON接口设计该系统的JSON接口采用的是REST设计风格,其中用户端和管理端部分接口功能重合。因篇幅原因,仅选取批量新增费用记录、修改费用记录、新增资讯、删除资讯、新增饮食记录、查询饮食记录、新增医疗记录、充值余额接口进行讲解,具体如下。4.5.1查看健康数据接口管理员查看健康数据,请求时候需要选择角色正确的进行检测,角色选择不正确时候系统会进行提示。查看健康数据接口设计如表4.2所示。表4.2查看健康数据功能接口功能说明查看健康数据URL/aly/getInfo请求方式POST参数名称是否必须类型描述file是MultipartFile文件请求示例/aly/getInfo返回类型JSON对象返回示例{ "Msg":"成功", "Data":{ "Id":47, "UserId":"2",续表4.2查看健康数据功能接口 "Hr":101, "Spo":78, "Time":1714103647488, "CreateTime":"2024-04-26T11:54:10.0489811" }, "Code":"200", "Success":true}4.5.2编辑费用记录接口编辑费用记录是给管理员上传的功能,请求是需要携带费用名称、费用明细、总费用、支付方式这几个参数。编辑费用记录接口设计如表4.2所示。表4.2编辑费用记录功能接口功能说明编辑费用记录URL/FeeRecord/CreateOrEdit请求方式POST参数名称是否必须类型描述file是MultipartFile文件请求示例/FeeRecord/CreateOrEdit返回类型JSON对象返回示例{ "Msg":"成功", "Data":{ "Id":1, "CreationTime":"2023-10-1422:39:50", "CreatorId":1, "CreatorAppUserDto":null, "Behavior":null, "PayType":"账户余额扣款", "Content":"您在2023-10-1414:54:34时候购买了包子+面条5元套餐花费了5.0元您在2023-10-1422:02:59时候购买了牛肉面花费了15.0元您在:2023-10-1415:06:53身体检测的时候花费了1252.0", "Remark":"系统自动结算", "PayTime":"2023-12-2814:39:37", "TotalMoney":1222, "Name":"2023-10-1422:39期账单", "PayUserId":2, "PayUserDto":null }, "Code":"200", "Success":true}4.5.3删除资讯记录接口删除资讯记录的请求需要携带资讯编号这个参数,接口设计如表4.4所示。表4.4删除资讯记录功能接口功能说明删除资讯记录URL/ArticleType/Delete请求方式POST参数名称是否必须类型描述续表4.4删除资讯记录功能接口file是MultipartFile文件请求示例/ArticleType/Delete返回类型JSON对象返回示例{ "Msg":"成功", "Data":null, "Code":"200", "Success":true}4.5.4新增医疗记录接口新增医疗记录是给管理员上传的功能,请求是需要携带病人、病历号、就诊描述、支治疗方案等参数。新增医疗记录接口设计如表4.6所示。表4.6新增医疗记录功能接口功能说明新增医疗记录URL/FoodRecord/List请求方式POST参数名称是否必须类型描述file是MultipartFile文件请求示例/FoodRecord/List返回类型JSON对象返回示例{ "Msg":"成功", "Data":{ "Id":4, "CreationTime":"2024-04-1421:40:36", "CreatorId":1, "CreatorAppUserDto":null, "Behavior":null, "PatientId":2, "Code":"222222", "SeeRecord":"<p>22222222222</p>", "TestRecord":"<p>22222222</p>", "TreatPlan":"<p>222222222222</p>", "IsEnd":null, "PatientDto":null, "Money":2222 }, "Code":"200", "Success":true}4.5.5充值余额接口老人可以通过充值余额接口实现账户充值,设计如表4.6所示。表4.6充值余额功能接口功能说明充值余额URL/FoodRecord/List请求方式POST参数名称是否必须类型描述file是MultipartFile文件请求示例/FoodRecord/List续表4.6充值余额功能接口返回类型JSON对象返回示例{ "Msg":"成功", "Data":{ "Id":2, "CreationTime":"2023-10-1414:25:29", "CreatorId":1, "UserName":"old", "Password":"2", "Name":"李永福", "Address":"美国洛杉矶", "RoleType":1, "FamilyStatus":"家庭情况不好", "Sex":"男", "Money":10285, "FamilyName":"李德旺", "RoleTypeFormat":"老人" }, "Code":"200", "Success":true}第5章系统实现5.1硬件实现硬件功能模块主要检测老人的心率血氧健康数据,本系统的硬件模块专为监测老年人心率和血氧设计,集成了STM32微控制器、MAX30102传感器、WiFi通信模块和OLED显示屏。利用STM32F103C8T6微控制器,系统能够驱动MAX30102传感器,采集PPG信号,并将心率与血氧读数实时显示在OLED屏幕上,同时通过串口输出。这一集成设计旨在为老年人提供实时健康监测的便捷方式。接着通过WiFi模块实现联网,将测到的数据上传到阿里云平台。如图5.1所示。图5.1获取硬件数据功能实现图获取硬件数据的功能代码如下:publicclassAlyController{
@Autowired
privateAlyDataServicealyDataService;
@PostMapping("/getInfo")
publicAlyDatagetInfo(@RequestBodyAlyDataReqDtoreqDto)throwsException{
("获取物联信息:{}",reqDto);
AlyDataalyData=Function.queryDeviceProperty();
alyData.setUserId(reqDto.getId());
alyData.setCreateTime(LocalDateTime.now());
alyDataService.save(alyData);
returnalyData;}}5.2软件实现5.2.1管理端功能模块实现管理端功能模块专为管理员设计,涵盖了费用记录、饮食计划、养老院资讯、医疗记录和房屋管理等多个关键领域。这些模块普遍实现了数据的基本操作,即增加、删除、修改和查询。鉴于篇幅限制,本文将重点介绍饮食记录功能模块的实现细节。该功能允许管理员将饮食信息输入系统,从而更新数据库中的相关数据。以下是对新增饮食记录功能的实现说明。(1)新增饮食记录功能在饮食记录管理界面,管理员点击“新增”按钮后,界面将弹出一个对话框用于输入新的饮食记录。管理员输入必要信息并确认后,前端将调用后端的FoodRecordController中的CreateOrEdit方法,将信息添加至数据库,实现饮食记录的创建或更新。如图5.2所示。图5.2新增饮食记录功能实现图新增饮食记录的功能代码如下:@RequestMapping(value="/CreateOrEdit",method=RequestMethod.POST)publicFoodRecordDtoCreateOrEdit(@RequestBodyFoodRecordDtoinput)throwsException{return_FoodRecordService.CreateOrEdit(input);}
asyncShowEditModal(Id){
let{Data}=awaitthis.$Post(`/FoodRecord/Get`,{Id:Id});
this.formData=Data;
this.formData.IsEdit=Id!=undefined;
this.editorShow=true;
},(2)编辑房屋信息功能管理员在房屋管理界面选择“编辑”选项后,系统将触发一个房屋编辑对话框。在此对话框中,管理员能够对选定房屋的详细信息进行修改。完成修改并确认无误后,点击“确定”按钮。此时,前端将通过预设的接口与后端的RoomController组件进行通信,调用其“CreateOrEdit”方法。该方法负责将更新后的数据同步至数据库,从而完成房屋信息的修改操作。如下图5.3所示。图5.3编辑房屋信息功能实现图编辑房屋信息的功能代码如下:@RequestMapping(value="/CreateOrEdit",method=RequestMethod.POST)publicRoomDtoCreateOrEdit(@RequestBodyRoomDtoinput)throwsException{return_RoomService.CreateOrEdit(input);}
asyncShowEditModal(Id){
let{Data}=awaitthis.$Post(`/Room/Get`,{Id:Id});
this.formData=Data;
this.formData.IsEdit=Id!=undefined;
if(this.formData.IsEdit==false){
this.formData.RoomStatus=0;
}
this.editorShow=true;
}(3)批量删除费用记录信息功能管理员在费用记录管理界面中可选中需要删除的多条费用记录后,并点击“删除”按钮。此时,前端界面将展示一个二次确认的提示框,询问管理员是否确认执行删除操作。在管理员点击“确定”之后,前端通过接口调用后端FeeRecordController里的BatchDelete接口,对数据库中的信息进行更新。如图5.4所示。图5.4批量删除费用记录信息功能实现图批量删除费用记录信息的功能代码如下:@RequestMapping(value="/BatchDelete",method=RequestMethod.POST)publicvoidBatchDelete(@RequestBodyIdsInputinput){FeeRecordService.removeByIds(input.getIds());}
asyncShowBatchDeleteModal(){
varids=this.$refs.tableId.GetSelectionRow().map(x=>x.Id);
awaitthis.$PostDelete(`/FeeRecord/BatchDelete`,{Ids:ids});
this.$refs.tableId.reload();
}5.2.2老人端功能模块实现老人是主要使用用户端功能模块的人群,这些模块包括查看养老院资讯、查看饮食菜单、查看老人饮食记录和医疗记录、查看老人房屋入住记录等。本文将仅针对部分核心功能进行描述,避免重复叙述。(1)查看饮食菜单功能管理员是使用该饮食菜单功能模块的目标人群,这模块包括查看就餐时间,饮食标题,金额的功能,其中,饮食内容功能,包含可以查看已经添加的饮食计划的图片信息,提供饮食信息的详细情况。如图5.5所示。图5.5查看饮食菜单功能实现图查看饮食菜单的功能代码如下:@RequestMapping(value="/List",method=RequestMethod.POST)@SneakyThrowspublicPagedResult<FoodPlanDto>List(@RequestBodyFoodPlanPagedInputinput){return_FoodPlanService.List(input);}(2)查看医疗记录功能管理员是使用该医疗记录功能模块的目标人群,这模块包括查看病历号,就诊人,总费用,就诊情况描述,检测记录,治疗方案,是否生成账单,的功能,其中就诊情况描述功能,包含可以查看病号就诊时描述的病情详细情况,检测记录可以查询该病号在医院内所做的检查的详细记录,治疗方案功能可以查看病号的治疗建议治疗方案。如图5.6和5.7所示。图5.6查看医疗记录功能顺序图图5.7查看医疗记录详细信息功能顺序图查看医疗记录的功能代码如下:@RequestMapping(value="/List",method=RequestMethod.POST)@SneakyThrowspublicPagedResult<MedicalRecordDto>List(@RequestBodyMedicalRecordPagedInputinput){ return_MedicalRecordService.List(input);}(3)查看饮食记录功能实现管理员是使用该饮食菜单功能模块的目标人群,这模块包括查看饮食计划,就餐时间,就餐人,金额,是否生成账单的功能,以便管理员查看老人饮食信息的详细情况,了解老人的饮食情况,就餐时间等。如图5.8所示。图5.8查看饮食记录功能顺序图查看饮食记录的功能代码如下:@RequestMapping(value="/Get",method=RequestMethod.POST)@SneakyThrowspublicFoodPlanDtoGet(@RequestBodyFoodPlanPagedInputinput){return_FoodPlanService.Get(input);}系统测试6.1硬件测试(1)上传硬件数据获取硬件数据功能,老人将手指放在心率血氧传感器上等待5s,点击确定按钮,硬件数据上传至阿里云平台。上传硬件数据功能测试用例如表6.3所示。表6.SEQ表6.\*ARABIC1上传硬件数据功能测试用例用例编号用例描述操作过程及数据预期结果实际结果getInfo01数据上传手指放在心率血氧传感器上,等待5s。OLED显示屏实时展示当前的心率和血氧水平数据,且被系统自动采集并加密上传至阿里云平台。正确(2)获取硬件数据获取硬件数据功能,点击开始检测功能,等待5s,系统获取到当前老人的监测数据。获取硬件数据功能测试用例如表6.3所示。表6.2获取硬件数据功能测试用例用例编号用例描述操作过程及数据预期结果实际结果getInfo02获取正确角色的数据前端网页选择角色为老人,点击检测获取数据按钮。系统弹出健康信息对话框。包含姓名、心率、血氧、时间这些数据。正确getInfo03获取不正确角色的数据前端网页点击角色非老人的检测获取数据按钮。系统提示“角色选择错误”正确6.2软件测试(1)添加费用记录测试添加费用记录功能,管理员登陆后,进入系统中的费用记录页面,通过点击“新增”按钮,快速输入并提交费用详情,以实现费用记录的添加。添加费用记录功能测试用例如表6.3所示。表6.3添加费用记录功能测试用例用例编号用例描述操作过程及数据预期结果实际结果addFeeRecord_01登录并成功进入列表管理员登录系统,进入费用记录列表页面。系统显示登录成功,并成功进入费用记录列表页面正确续表6.3添加费用记录功能测试用例addFeeRecord_02正确填写新增数据管理员点击新增按钮,所有的信息填写正确。系统显示新增成功,并更新费用记录列表页面正确addFeeRecord_03错误填写新增数据管理员点击新增按钮,费用名称、费用明细没有填写。系统提示需要填写必填项正确(2)编辑费用记录测试编辑费用记录功能,管理员进入费用记录页面,点击修改按钮,系统获取到当前费用记录信息,管理员可以进行修改数据并确认提交。编辑费用记录测试用例如表6.4所示。表6.4编辑费用记录功能测试用例用例编号用例描述操作过程及数据预期结果实际结果updateFeeRecord_01登录并成功进入列表管理员登录系统,进入费用记录列表页面系统显示登录成功,并成功进入费用记录列表页面正确updateFeeRecord_02修改费用记录管理员点击修改按钮系统获取到当前费用记录信息,管理员可以进行修改数据并确认提交。系统弹出费用记录编辑框,并且更新费用记录列表正确(3)删除资讯测试删除资讯功能,管理员在资讯列表页面选中目标资讯后,点击删除按钮。系统会进行二次确认提示,管理员确认后,资讯将被删除。删除资讯测试用例如表6.5所示。表6.5删除资讯记录功能测试用例用例编号用例描述操作过程及数据预期结果实际结果DeleteArticle_01登录并成功进入列表管理员登录系统,进入到资讯列表页面系统显示登录成功,并成功进入资讯列表页面正确DeleteArticle_02选择删除的数据管理员在系统中选择特定的资讯条目后,点击“删除”按钮。系统随即弹出确认对话框,询问是否继续执行删除操作。在确认信息无误后,管理员选择“确认”以提交删除请求。系统弹出二次提示对话框正确DeleteArticle_03最后确认管理员点击确认提交。系统更新资讯记录列表正确(4)新增饮食记录测试管理员进入相应的饮食记录管理页面,通过点击界面上的“新增”按钮来启动数据录入流程。随后输入详细输入饮食相关的信息,确认无误之后,执行提交操作。新增饮食记录测试用例如表6.7所示。表6.7新增饮食记录功能测试用例用例编号用例描述操作过程及数据预期结果实际结果addFoodRecord_01登录并成功进入列表管理员登录系统,进入饮食记录列表页面系统显示登录成功,并成功进入饮食记录列表页面正确addFoodRecord_02正确填入新增数据管理员点击新增按钮并输入相关数据信息,点击确认提交数据。系统更新饮食记录列表正确addFoodRecord_03不正确填入新增数据管理员没有填写必填项系统提示需要填写必填信息。正确(5)新增医疗记录测试新增医疗记录功能,管理员进入医疗记录页面,点击新增按钮,输入相关医疗记录的数据,选择文件上传并确认提交。新增
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州省铜仁市碧江区重点达标名校2026年中考联考物理试题含解析
- 内蒙古乌海市海勃湾区2026届中考物理押题卷含解析
- 2026届江苏省宜兴市周铁区达标名校中考一模物理试题含解析
- 2026届甘肃省平凉崆峒区中考物理押题卷含解析
- 平凉市崆峒区2025届数学四下期中联考试题(含答案)
- 中医护理心悸的日常保健
- 常州市戚墅堰区2025届数学三年级第二学期期中达标检测模拟试题含答案解析
- 【2026】年体育场地工专项题库
- 浙江省台州市温岭市实验校2026届中考物理全真模拟试题含解析
- 上海护理课件最佳视觉效果奖
- GB/T 17344-2025包装包装容器气密试验方法
- 《基础写作教程》 课件 第七章 散文
- JGT266-2011 泡沫混凝土标准规范
- 配电室运行维护投标方案(技术标)
- 痕迹检验练习测试卷
- 大学英语深层语法
- 海尔太阳能代理商合同范本
- 机床数控技术PPT完整全套教学课件
- 电子技术说课课件
- 脐灸专业知识课件
- 《手术台就是阵地》部编版课件
评论
0/150
提交评论