Air700E开发板+毫米波雷达,手搓睡眠监测仪

电子说

1.3w人已加入

描述

合宙Air700E开发板+毫米波雷达,手搓一个开箱即用的睡眠监测仪不是梦!

今天特别分享**@zomco**大佬的“基于毫米波雷达的睡眠监测仪”作品。

一、项目原理及硬件制作

毫米波是指频率范围从30-300GHz的电磁波,它的波长很短,雷达发射的毫米波会随人体反射回来,同时人体微小的移动会改变毫米波。有了这些变化,雷达可以计算出人体移动的距离速度以及方向。

- 项目原理 ** -**

毫米波雷达测人体胸腔起伏,根据起伏计算心率和呼吸频率,然后通过算法推算睡眠状态,使用手机小程序读取和展示数据。

开发板

开发板

相比市面上的手环,毫米波雷达无需佩戴即可实现无感体验的隐形 监测

**- **主要物料 -

本文睡眠监测仪主要硬件物料包含:毫米波雷达R60ABD1、合宙Air700E开发板、传感器(AHT20、BH1750等等)、底板和外壳。 除了底板需要打板和外壳需要3D打印, 其他零件都可以在网上购买组装。

01. 毫米波雷达R60ABD1:

常见的毫米波雷达有24/60/77GHz三种,原理上频率越高,雷达感知的微动幅度越小。这款60GHz自带睡眠监测功能的毫米波雷达,它很接近我的想法。

开发板

开发板

02. 合宙Air700E开发板:

按照以往经验,睡眠监测仪最简单直接的做法是,找一块开发板连上雷达串口,将雷达数据通过蓝牙转发出去,客户端通过蓝牙读取雷达数据,然后展示出来。

但为了让家里的老人也能用,我打算加上远程看护的功能, 所以这里要改用可以Wi-Fi或者4G通信的开发板,还要部署一套存放和查询数据的后端服务。

开发板

开发板

虽然我对开发板选型没有任何偏好,但觉得有必要把吃灰的羊毛利用起来——以前入手的合宙Air700E开发板不仅性价比高,而且可以用Lua写嵌入式,特别适合。

03. 自制底板(可选):

自制的底板用于整合Air700E开发板、毫米波雷达R60ABD1和其他传感器(AHT20、BH1750等等)。

开发板

开发板

开发板

开发板

所以其实 即使没有底板,用杜邦线连接它们,然后刷入固件,也可以在小程序验证毫米波雷达的睡眠监测能力。 不过为了避免验证过程中发生各种问题,我还是建议用底板验证。

04. 自制外壳(可选):

设计外壳时,要注意 到雷达的距离最好是半波长的整数倍; 加上USB口和按键,硬件图形就出来了。为了方便调试,外壳保留了开发板上的开机键和关机键。

开发板

开发板

- 硬件组装 -

拿到板子开始组装,先焊接元器件和Air700E开发板,再装雷达。可以看到堆叠后雷达和Air700E开发板还有一点点距离,雷达性能应该不会有太大影响。

开发板

开发板

开发板

开发板

安装外壳也是很简单,几乎不可能犯错。上好螺丝之后,测试一下按键有没有问题,到这里硬件算是完成了。

开发板

开发板

- 开源链接 -

目前基于毫米波雷达的睡眠监测仪项目硬件,已在立创平台开源。可通过原工程链接获取项目相关详细操作步骤、注意事项,以及原理图、PCB等最新文件:

原工程链接:

https://oshwhub.com/zomco/MR60LT0

开源协议:

CERN Open Hardware License

二、功能实现及效果测试


开发板

开发板

合宙LuaTools工具下载:

https://wiki.luatos.com/pages/tools.html

项目最新固件下载:

https://oshwhub.com/zomco/MR60LT0

- 功能实现 -

项目代码嵌入式部分, 我直接用合宙官方的模板工程。删掉不需要的代码,加上雷达串口通讯相关代码。雷达协议并不复杂,心率、呼吸频率、体动是实时上报的,所以比较好调试。而睡眠数据每10分钟才上报一次,调试会比较困难。

后端部分主要分三块:

  • 从雷达拿数据存到数据库
  • 提供历史数据查询接口
  • 提供实时数据查询接口

对接雷达的部分会麻烦一些,其他都是很简单的增删查改。

前端部分我直接参考小米运动的设计,除了要有查看历史数据和实时数据的页面,还需要有调整雷达和绑定雷达的入口。到这里软件也好了,可以测试一下效果。

- 效果测试 -

01. 绑定设备:

插卡开机,等待指示灯常绿。长按绑定键,雷达进入绑定状态;然后打开小程序****OWR Care, 扫描开发板表面的二维码,等待绑定完成。调整雷达位置,确保雷达距离合适。

开发板

开发板

开发板

开发板

02. 心率测试:

我们先看看实时数据,心率测试结果和手环的有一些偏差,但也不是太离谱:

开发板

开发板

03. 睡眠测试:

睡眠数据要等睡醒才会有,而且 雷达只能做单人睡眠监测。 但我没有这样的测试条件,这里只好先给出双人监测测试结果,最后我测了三组数据:

开发板

开发板

有几个地方需要注意:

首先因为睡眠数据的上报,频率是10分钟一次,所以雷达计算睡眠时长最小单位是10分钟。

其次,手环可以测出快速眼动期时长,雷达则不能;雷达会计算清醒时长而手环就没有。最后我无法确认手环和雷达对睡眠状态定义是否一致,也无法得知他们的结果是否能反映实际情况。

但至少从三组数据可以看出, 手环和雷达测得的睡眠时长,总体上接近实际时长。 第三组数据偏差较大,估计在双人监测场景,雷达无法区分哪个人先睡或者先醒,直接将睡眠时长叠加计算了。

考虑到项目定位不是医疗器械,我觉得这种偏差是可以接受的,使用几天整体感受也是很好。

- 待改进完善 -

开发板

开发板

指示灯太亮:

挂在床头就有点光污染,不过可以将外壳做厚避免透光,但我估计会影响雷达性能。当然,最好的办法是换其他材质的外壳。

雷达自身算法也可以再优化一下:

实测发现,有吹风干扰的时候,雷达会误判有人在睡觉,或者雷达安装角度不够,有时候会没有数据,不知道厂商那边有没有升级计划。

总体上看,个人认为雷达使用体验比手环好多了,它更符合用户长期使用的习惯,要回查睡眠数据也是很方便。如果你也对毫米波雷达睡眠监测仪感兴趣,不妨自己试试DIY~

​审核编辑 黄宇

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

全部0条评论

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

×
20
完善资料,
赚取积分