×

体温监测系统开源分享

消耗积分:2 | 格式:zip | 大小:0.08 MB | 2022-11-23

王秀兰

分享资料个

描述

介绍

自医学发展以来,体温监测一直是人们关注的问题。由于多种原因,需要在多种疾病中不断监测患者的体温。即使人类一直小心谨慎,也可能会发生错误,并且情况将无法控制。当前的疫情形势更需要我们关注,受感染的人数每天都在增加,每一位医务人员的工作量都在增加。因此,本项目将重点在两种情况下创建自动警报系统,当任何特定患者的温度 1)目前恶化或 2)在不久的将来趋于偏离正常指定范围时。该项目的主要思想也可用于许多工业应用。

示范

该项目基本上包括3个部分:

1) 感应体温。

2) 当病人体温突然变化时,建立健全的警报系统。

3) 当预计患者的体温在不久的将来会恶化时,打开 LED。

首先,LM35温度传感器需要放置在患者体腔内,测量实际体温。需要收集和存储数据以供进一步分析。使用这些数据,任何机器学习技术都可以预测接下来一小时或半小时的温度读数。可以设置一些阈值上限和下限。因此,将同时执行两件事。如果预测值和当前值保持在阈值范围内,则将连续检查这些值。如果有任何差异,将向警报提供一个肯定的信号。

两个独立的报警系统的需要是不言自明的。蜂鸣器将寻求立即干预,而 LED 将有助于采取预防措施。

威廉希尔官方网站 连接

硬件连接示意图如下所示。

pYYBAGN67-2AfQcWAABViJAxGYQ351.png
威廉希尔官方网站 原理图
 

可以使用给定示意图的参考来描述连接。LM35 温度传感器的输入来自模拟引脚 A0。两个输出分别在数字引脚 1 和 4 处提供,用于 LED 和蜂鸣器。

LM35是一个温度传感器,它输出成比例的模拟电压到相应的温度。它有 3 个引脚,Vcc 连接到 WiFi 模块的 5V 点,GND 连接到地,输出点连接到 A0,读取电压。实际温度值由 T=r/10.24 给出,其中 r 是模拟引脚的读数。

LED 连接在数字引脚 1 和 GND 之间以及串联的电阻器(330 欧姆 - 用于限制电流),蜂鸣器连接在引脚 4 和 GND 之间。

操作和控制

  • 配置文件

这个项目的程序是在 Ubuntu 中用 python 完成的。创建一个配置文件,其中包含 WiFi 模块的详细信息和主程序所需的其他一些详细信息。文件中的代码如下所示。

API_KEY = "XXXX-XXXX..."        //Bolt Cloud API Key
DEVICE_ID = "BOLTXXXXX"    //Device ID of the Bolt Module
FRAME_SIZE = 10        //Frame Size of Z Score Analysis
MUL_FACTOR = 5         //Multiplication factor of Z Score Analysis
  • Z 分数分析

Z score Analysis 是一个工具,常用于异常检测。虽然,这里它用于一些不同的目的。我们先讨论一下算法。基本上,它为我们提供了两个最佳值作为一个范围。这是被称为上限和下限的值。

它考虑了一些先前的值并计算其均值和方差,并因此创建了一个分布,该分布给出了两个值的范围。帧大小和乘法取决于用户的选择。

  • 完整代码
pYYBAGN67_CAKOpjAAKegP6fouo139.png
完整代码
 

如上所述,此代码执行两项工作。给出了两对预设值,一对用于与当前值进行比较,另一对用于与预测值进行比较。

  • 算法

比如说,x 是当前值,x1,x2 是范围,从 Z 分数分析中获得。此外,a1、a2是与当前值比较的预设最小值和最大值,b1、b2是与预测值比较的预设最小值和最大值。如果 xa2,蜂鸣器将亮起,如果 x1b2,则 LED 将亮起。所有预设值均由经验丰富的专业人员选择。

  • 可能的情况

下面提到了一些场景及其影响。

1. LED 发光,蜂鸣器关闭- 患者体温缓慢下降,因此预测的未来值已超出规定值,因此应采取预防措施。

2. 蜂鸣器亮,LED 不亮——这种情况发生的可能性很小,但如果发生,则说明温度突然变差,需要立即注意。

3. 两者都开启- 这也是一个危急情况,它会在一段时间内寻求一定程度的关注,直到情况得到控制。

4. 两者都关闭——这意味着温度在控制之中。

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'体温监测系统开源分享',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);