0 前言
🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是
🚩 毕业设计 树莓派 临床静脉输液流速流量监测设计
🥇学长这里给一个题目综合评分(每项满分5分)
- 难度系数:3分
- 工作量:3分
- 创新点:4分
🧿 选题指导, 项目分享:
1 简介
本项目设计的基于树莓派的临床静脉输液流速流量监测系统。
背景和研究意义
1、IDT液体流量传感器 IDT FS2012液体流量传感器模块设计用于使用热传递(测热式)原理来测量液体的流速。工作温度范围为5°C至75°C,并支持0°C至80°C的存储温度范围。
2、当前,静脉输液已经成为一项常规治疗方法,而在输液过程中,不少患者急于追求输液速度,这种做法并不可取,输液的滴速应当根据病人的实际情况来决定,一般情况下,成年人的输液速度为每分钟40-60滴;儿童的输液速度为每分钟20-40滴;老年人的输液速度不应超过每分钟40滴;还有一些患者在输液快结束时没能及时告知医生,造成回血现象,因此,让医生和患者能够很好的监控并提醒流量数据也是很有必要的。
3、应用前景 随着物联网与智能化技术的快速发展,在中国新医改的背景下,智慧医疗正在走进寻常百姓的生活,智慧医疗使得传统的医疗变得更加信息化,智能化。基于液体流量传感器FS2012的一种静脉输液流量流速监测装置可以很灵敏的检测到液体的流速信息,并可以将数据传至云端,输液者和医务人员都可以随时掌握流速流量信息,量化并可视化输液速度,输液剂量,也方便了医务人员对多个节点的监控。
2 主要器件
-
树莓派 Raspberry Pi 3
-
FS2012液体流量传感器
-
LCD显示器
-
MQTT协议发送至百度云天工IoT平台
-
PC端,通过登陆网页或APP,经MQTT协议接受云端数据并实时处理
3 实现效果
4 硬件设计
总框架图
设置多个液体流量传感器装置监控输液的状态,并将实时流速以及流量信息发送至云端,医护人员可以在远端通过PC或移动设备进行监控。
硬件设计如图,主控器选择Raspberry Pi 3,通过I2C协议接口,用杜邦线以如图方式相连,LCD显示器通过HDMI接口连接到Raspberry Pi 。接通电源后,当液体流过传感器时,流量信息传输至主控器,并在LCD屏幕上实时显示,同时将流量信息无线发送至云端,可以远程监测流速流量信息。
FS2012液体流量传感器
IDT提供的FS2012气体流量传感器,最大量程为2SLPM(2000SCCM)即每分钟2L(2000ml)的气体流量。可以通过I2C数字接口或者模拟输出电压的方式获取数据(本次设计中通过ADC测量模拟输出电压的方式)。如下图所示:
5 软件说明
软件框架图
软件设计如图,传感器FS2012通过I2C协议,将测得的实时数据上传至Rasberry Pi,再通过MQTT协议发送至百度云天工IoT平台,在PC端,通过登陆网页或APP,经MQTT协议接受云端数据并实时处理,可以很方便的实现数据记录、实时显示、语音提醒、多节点监测的功能。
客户端界面
6 部分核心代码
上位机
import math
import time
import wiringpi as wpi
try:
import paho.mqtt.client as mqtt
except ImportError:
print("mqtt client not find . Please install and retry")
print("pip install paho-mqtt")
host = 'eqx6629.mqtt.iot.bj.baidubce.com'
port = 1883
username = 'eqx6629/sasukelx'
password = 'ckYUpQgFBQoJu0Zi'
rc=0
def on_connect(mqttClient,userdata,flags,rc):
print('Connection return'+str(rc))
mqttClient.loop_start()
def on_message(mqttClient,userdata,msg):
print(msg.topic+" "+str(msg.payload))
def main():
id = wpi.wiringPiI2CSetup(0x07)
mqttClient = mqtt.Client()
mqttClient.username_pw_set(username,password)
mqttClient.on_connect = on_connect
mqttClient.on_message = on_message
mqttClient.connect(host,port,60)
time.sleep(1)
for i in range (1,10000):
wpi.delay(800)
temp = wpi.wiringPiI2CReadReg16(id,0x00)
speed = temp/1000
print(speed,'L/min')
mqttClient.publish('data_reg',speed,0)
while True:
pass
if __name__ == '__main__':
main()