来个算法题:判断医院病床上是否有病人?
RT,最近在做一个医院的项目,硬件那边已经做好了,在病床上绑定了无线传感器,我这边需要接收数据。数据接收我已经完成了,现在就想根据接受的这些数据判断病床上是否有人,给出相应的信息,请各位大神给点好的思路,自己写了一个但是觉得不好。
接收的数据格式如下:
一、数据格式
(1)协议格式:
AA55信号通道(1)位 数据长度(1)位 数据… 校验位(1)位
包头 数据长度 = 数据 + 累加和 可以为空 前面所有和
AA 55 02 01 02 为例:
02表示命令,01表示数据长度,由于没有数据,因此其长度为1(校验位),最后02是前面所有的和
(2)在协议当中,默认是16进制。如11 表示10进制的17
(3)后面在命令中存在符号N1,表示信号通道,目前只有31,32两个通道。
二.从终端到监控软件的数据
(1)传输数据
AA 55 N1 0A ………… BB
0x0A 表示,通讯数据字节数,后紧跟压力数据,每个数据分为2个字节,低字节在前,高字节在后, BB为效验码,N1表示信号通道信号。
(2)当前命令执行完毕: AA55 01 01 01
(3)接收到命令,执行错误:AA55 02 01 02
主要实现:10个数据(高低位),低位在前,高位在后以16进制表示,就根据接收的10个数据来判断床上是否有人?
[解决办法]
呵呵,要求供应商提供函数嘛,直接返回床上是否有人
[解决办法]
这些数据一贴上来就知道规律啦
[解决办法]
个人感觉,根据压力判断有没有人本身就是不能确定的事情。
压力与床上是否有人,应该是没有必然联系,但是有很强的依赖性。
所以,程序应该自动拟合出一个函数来,根据压力得出有人的可能性有多大。
函数曲线,很有特点。就是两头平缓(压力小没人,压力大有人),中间陡峭(有人没人主要取决于采集到的压力,一般的人,咋说也有几十斤)。
对于多点传感器,压力分布明显不均。
[解决办法]
不知道是不是我理解的问题,直到26楼才明白楼主的真正意图。
建议楼主如下信息参考:
小孩 躺着 站着 翻身 走动 体重 身高
大人 躺着 站着 翻身 走动 体重 身高
老人 躺着 站着 翻身 走动 体重 身高
水果篮 躺着 站着 翻身 走动 体重 身高
…… …… …… ……
等各种情况下的样本数据,然后再分析,我觉得这样更实际一些。
[解决办法]
我以前做过类似的上位机程序
一般软件和硬件之间定义了一套详细的通讯协议
软件在收、发数据时,都需要组帧或解帧
组帧:将业务数据按格式组成命令,比如查询病床上是否有人,软件需要向硬件发送命令AA 02 01 02(随便写的,别当真)
解帧:软件接收到数据后,对命令进行解析,以业务数据的格式(比如某种类实例)返回给软件上层调用方。
当然,如果命令的类型很少,组帧或解帧可以简化掉,软件扩展性会有损失。
[解决办法]
单纯4个压力传感器很难实现你的功能。很难分辨或几乎不能分辨出一个小孩和一个花篮。只能设定一个基数,比如10KG,大于10KG的有人,小于则代表没人。
压力传感器+辐射热流传感器 可解决这个问题
[解决办法]
把压力传感器绑定在床脚?这又是项目经理的方案?
我相信这四个传感器读出的值相差无几
[解决办法]
首先,根据传输内容,无法精确判断,只能判断床上有多少负载,我们只能根据负载的多少来判断是否是一个人,一块石头和一个人其实在数据面前是没有分别的。
[解决办法]
一看是算法题赶紧过来凑凑热闹.
我感觉 因此其长度为1(校验位)这句有问题,校验怎能只是长度呢?建议你尝试随便发几个错误指令看是不是一样的错误.
注意检查校验位吧.
看后边回答的帖子,貌似我理解错了.
给你一个建议"压力传感" 还不如用温感控制呢,有一种节能控制灯,就是用人的体温来判断人是否在指定区域的.
[解决办法]
基本上不牵涉到算法的问题,而只是流程的问题。
有没有人在数据库就是一个bit字段而已,ture就是有人,false就是无人,至于怎么做,可以在病床旁边弄个按钮,让医务人员操作,直接传回数据库,这样最简单,最直接。如果不嫌麻烦可以在床板上弄个压力传感器,返回一个结果即可。
[解决办法]
这问题没必要太复杂化,如果你们是要判断病人是否趟在床上还是跑了的话,以现在的技术条件基本上做不到,无论是压力传感或图形识别、温度识别都不行,他可能蒙着被子睡,可能戴面具,可能在床上放了一个重物然后蒙了被子,也可能找个人来掉包了,无限种可能……
[解决办法]
我们可能偏离的LZ的意图。
也许LZ是想要得到是类似于22楼和38楼那样的“算法”。
但LZ的硬件条件很难,或不能达到这样的要求。更艹蛋的是,居然把4个压力传感器装到床的四个角上,稍微有点常识的人都知道,如果这样做的话,就算一个人坐在床边上,那这四个压力传感器的值也相差无几,LZ的经验已经说明了这个问题。所以没有函数曲线,没有所谓的嘿咻模式。
作为同行,我想说的是,先把自己能做的做完,你能做的是,去检测压力,能分辨出床上有物体和床上没有物体,不管这个物体是不是人。然后你的项目至少能结束一个节点。至于更精准的,在老板心情好的时候,跟他说,那个鬼东西其实实现不了,人和物的区分,想区分的话,得增加投资的,但我能暂时实现蒙蔽医院的。
[解决办法]
就单纯的压力变送器很难判断床上的是人还是其他物体.来2木头人或铁人怎么样?