日期:2014-05-18  浏览次数:20881 次

来个算法题:判断医院病床上是否有病人?
RT,最近在做一个医院的项目,硬件那边已经做好了,在病床上绑定了无线传感器,我这边需要接收数据。数据接收我已经完成了,现在就想根据接受的这些数据判断病床上是否有人,给出相应的信息,请各位大神给点好的思路,自己写了一个但是觉得不好。
接收的数据格式如下:
一、数据格式
(1)协议格式:
AA 55 信号通道(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个数据来判断床上是否有人?

------解决方案--------------------
呵呵,要求供应商提供函数嘛,直接返回床上是否有人
------解决方案--------------------
探讨
呵呵,要求供应商提供函数嘛,直接返回床上是否有人

------解决方案--------------------
硬件通讯没有协议?要自己开发?
------解决方案--------------------
是测重量的传感器?

那直接让传床的重量。
------解决方案--------------------
应该是定时传的吧,第一次不算,后面每传一次都减去前一次的,得到差值,大于某个值就算是有人。

每一次传的值最好隔一段时间就用数据库保存着,以方便后面查看。

至于你这个数据结构,应该和弄那个传感器的人交流交流,他既然是测重量的,就应该有保存重量的数据位。
------解决方案--------------------
楼主能不能爆一下,

什么压力感应器?什么发射器?

什么接收器?

感觉泄密的话就不勉强了

------解决方案--------------------
你这帖子就写能接收数据,不提供其他信息,怎么给算法
------解决方案--------------------
检查床垫压力,如果压力没有变化或变化过小,表示有人躺着,如果压力面积小于一半,则人是坐着,如果压力一下有一下没有,可能是病人正在床上运动。
------解决方案--------------------
死人算不算人,小孩,2个人嘿咻,货物呢?

我一直好奇车上的安全带报警器。副驾上不坐人,放很重的东西也不会报警,但是坐一个小孩就会。难道是红外的?
------解决方案--------------------
有几个传感器???
------解决方案--------------------
这也要问别人,你自己就不能先拿出一个方案吗?

床上放了一个10公斤的东西,算是有人吗?床上放了一个300公斤的东西,算是有人吗?床上放了一个80公斤的东西,算是有人吗?
------解决方案--------------------
探讨

我们可以连续采集10个点10000压力数据,然后打印出曲线图——系统做工图来。你可以看看两个嘿咻的模式是什么。我想每一种事件发生大概都会有一种独特的系统做工图。

------解决方案--------------------
探讨
引用:

我们可以连续采集10个点10000压力数据,然后打印出曲线图——系统做工图来。你可以看看两个嘿咻的模式是什么。我想每一种事件发生大概都会有一种独特的系统做工图。
非常规姿势呢?

------解决方案--------------------
我擦,判断医院的床上是否有人,都考虑嘿咻了,策划书里你敢这样写吗?
------解决方案--------------------
应该有一个临界值 无人时压力:min 有人时压力max:
比较是否处于该值中
楼上所考虑的如果有货物或者其它东西 从实际出发 医院病床上也不可能
放很重的东西 若果是一些水果 鲜花 食物等等 可以考虑异常压力值范围

------解决方案--------------------
探讨
引用:

应该有一个临界值 无人时压力:min 有人时压力max:
比较是否处于该值中
楼上所考虑的如果有货物或者其它东西 从实际出发 医院病床上也不可能
放很重的东西 若果是一些水果 鲜花 食物等等 可以考虑异常压力值范围

重量数据随时都在传过来都在变,最大值、最小值怕是行不通

------解决方案--------------------
1-3楼不见了.四楼正解.

既然你能接收数据.那么你把所有情况下发生的数据接下来一比较不就清楚了么.
空床:
AA 55 02 01 02
小孩:
AA 55 26 01 27
成人:
AA 55 30 01 31