首页 > 其他分享 >手搓党分享:用Air700E开发板+毫米波雷达,搓一个睡眠监测仪!

手搓党分享:用Air700E开发板+毫米波雷达,搓一个睡眠监测仪!

时间:2024-10-13 10:34:23浏览次数:9  
标签:监测仪 Air700E 睡眠 手环 开发板 毫米波 雷达

 只能说,看到这个大佬分享的睡眠监测仪,手上的手环瞬间不香了。。。

用Air700E开发板+毫米波雷达,手搓一个开箱即用的睡眠监测仪,不花冤枉钱!

 

一、项目原理及硬件制作

 

毫米波是指频率范围从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

二、功能实现及效果测试

 

图片

 

- 功能实现 - 

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

后端部分主要分三块:

  • 从雷达拿数据存到数据库

  • 提供历史数据查询接口

  • 提供实时数据查询接口

 

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

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

- 效果测试 - 

01. 绑定设备:

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

 

图片

图片

02. 心率测试:

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

 

图片

03. 睡眠测试:

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

 

图片

有几个地方需要注意:

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

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

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

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

 

- 待改进完善 - 

 

图片

指示灯:

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

自身算法:

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

总体上看,个人认为雷达使用体验比手环好多了,它更符合用户长期使用的习惯,要回查睡眠数据也是很方便,你觉得呢?你的手环还好吗?

如果你也对毫米波雷达睡眠监测仪感兴趣,不妨自己试试DIY~

标签:监测仪,Air700E,睡眠,手环,开发板,毫米波,雷达
From: https://www.cnblogs.com/luatos/p/18461944

相关文章

  • 瑞芯微RK3566/RK3568 Android11使用OTA升级固件方法,深圳触觉智能鸿蒙开发板演示,备战第
    本文介绍瑞芯微RK3562/RK3568在Android11系统OTA(U盘/TF卡)升级固件方法,使用的是触觉智能的PurplePiOH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。1、OTA包生成在源码根目录上执行以下命令编译OTA包makeinstallclean#make-j4#......
  • 迅为itop-3568开发板AMP双系统使用手册之编译AMP镜像
       瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和MaliG522EE图形处理器。RK3568支持4K解码和1080P编码,支持SATA/PCIE/USB3.0外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568支持安卓11和linux系......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—利用定时器加DMA方式模拟串口输出
    ------------------------------------------------------------------------------------------------------------------------------------在使用CH582芯片开发测试中,有个实际的用途是利用串口输出日志的方式,来进行程序的调试。CH582芯片一共提供了4组全双工的异步串口......
  • ESP8266 开发板网络时钟和天气 OLED 显示
    ESP8266开发板网络时钟和天气OLED显示开发板详见:物联网开发板-ESP8266-立创开源硬件平台(oshwhub.com)网络时钟OELD显示代码#include<Arduino.h>#include<U8g2lib.h>#include<time.h>#include<SPI.h>#include<Wire.h>#include<NTPClient.h>//changene......
  • Linux查看触摸坐标点的方法,触觉智能RK3562开发板,瑞芯微、全志等通用
    平时遇到键盘、鼠标、触摸板等输入设备无响应等异常情况时,一般通过更换设备判断异常。但在遇到更换正常设备后,输入仍然异常的情况下,可以借助evtest工具查看内核的上报事件信息,协助定位问题所在。本次使用的是触觉智能EVB3562开发板进行演示,搭载瑞芯微RK3562/RK3562J芯片,该方法也......
  • 关于开发板与虚拟机网络不通问题排查
    文章目录一、网络连接二、排查过程1.首先检查Windows和开发板的WIFI模块是否处于同一个局域网2.检查端口转发配置是否正确3.查看防火墙是否关闭一、网络连接开发板(客户端)---wifi模块---无线路由器---Windows主机---NAT模式---Ubuntu虚拟机(服务器)开发板通过WIF......
  • Linux系统更换镜像源的方法 触觉智能Purple Pi R1双网口开发板演示
    本文适用于触觉智能的SigmaStar、瑞芯微、全志等所有芯片方案产品,搭载Linux系统(Ubuntu/Debian/Buildroot)均可。本次使用到的是触觉智能的PurplePiR1双网口开发板,搭载了SigmaStarSSD201/SSD202D芯片,类树莓派设计,双核A7,带WiFi功能,是嵌入式新人入门学习的高性价比开发板!什么......
  • 新手答疑 | 零基础该怎么学习嵌入式?嵌入式Linux学习路线是什么?嵌入式开发板推荐?
    很多初学者想要涉足嵌入式Linux开发领域,但往往在刚入门阶段,会因为初次接触到大量复杂的概念术语和深奥的技术文档感到压力重重,面对这些内容不知从何下手,感到十分迷茫,网上的内容也纷繁复杂,没有清晰的学习线路,看完后甚至更蒙圈。实际上,嵌入式Linux开发并没有想象中的那样高不可攀,关键......
  • 迅为RK3568开发板/核心板助力实时系统!
    iTOP-RK3568开发板使用手册上新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。iTOP-RK3568开发板支持了Preemption和Xenomai实时系统。实时系统以其卓越的实时性能,为用户提供出色的体验,《iTOP-3568开发板实时系统使用手册》将对实时系统的选择、编译烧写、测试等......
  • cubemx无法下程序至开发板
    学习stm32时使用cubemx如果下载程序(load)就出现错误,提示框显示下载失败,已接上烧录程序,就在设备管理器 检查你对应接口,如图stm32,有部分人的link旁会有三角形的警告标识,大概率是你未安装驱动装置,下载对应驱动即可。例如以下驱动注意:解压缩后需要在文件夹中找到驱动安装,不......