利用 60GHz 微波技术与 Python 构建智能运动监测系统
扫描二维码
随时随地手机看文章
大多数运动传感器——包括被动红外传感器、超声波传感器,甚至基本的雷达传感器——只能告诉你是否有物体移动。它们就像门铃一样:你能知道有人在那儿,但无法知道他们在做什么。
引入 60GHz 微波雷达。这种小巧的传感器不仅能检测运动,还能测量距离、人体信号振幅(如呼吸/心跳引起的微小动作),甚至能够区分静止站立、坐立不安和行走等状态。
我想要将所有这些丰富的数据转化为直观的呈现形式——比如一个在有人移动时会闪烁的 LED 灯,以及一个简洁的桌面图形用户界面,能够实时显示所有信息。为了使它看起来专业一些,我还把电子元件安置在一个由 JUSTWAY 公司生产的精美 3D 打印外壳中。
这篇文章将带你完成整个构建过程——从 Arduino 代码到 Python 图形用户界面,最后将其安装到外壳中。
其工作原理(简述)
•60GHz 雷达 → 能够检测物体的存在、移动类型、距离以及身体信号。
•Arduino(XIAO RP2040)→ 通过 UART 接口读取雷达数据,控制一个 NeoPixel 灯带,并通过 USB 串行接口发送格式化的数据。
•Python GUI(图形用户界面)能够读取串行数据,通过色彩鲜明的控件显示实时数据,并且在检测到移动时使运动指示灯闪烁。
•3D 打印外壳 → 可将所有物品整齐地收纳其中,还设有雷达观察窗和 LED 灯孔。
•没有睡眠追踪功能,也没有云端服务——只有即时的本地运动智能。
接线图
按照如下所示将所有设备连接起来。XIAO RP2040 设备有两个硬件 UART 接口——我们使用 Serial1(引脚 0 和 1)来连接雷达,而使用 Serial(USB)接口与电脑进行通信。
Arduino 脚本 - 仅运动检测,LED 闪烁
我删除了所有与睡眠追踪相关的代码,因为我不关心睡眠情况,我只关注运动数据。雷达为我们提供了以下信息:
•情况:有人在此/无人在此
•状态:移动/静止/无活动
•身体指标:微动幅度(0 - 100,数值越高表示运动幅度越大)
•距离:从 0.2 米到约 5 米
LED 的表现情况:
•没有人 → 暗蓝色
•现场有人员静止不动 → 绿色
•移动 → 闪烁黄色(500 毫秒亮/灭)
•无活动 → 蓝色
以下是完整的 Arduino 代码(将此代码上传至您的 XIAO 设备):
上传提示:选择“Seeed XIAO RP2040”板子、端口,然后点击上传。在 115200 波特率下打开串行监视器——您将看到数据正在流式传输。
Python 图形用户界面——以优雅的方式监控数据
Arduino 会发送人类可读的指令。而 Python 脚本则在 USB 端口上监听这些指令,对其进行解析,并驱动一个使用 customtkinter 构建的现代深色主题的图形用户界面。
特点/特征
•以文字形式呈现的“存在”状态
•在带有颜色边框的区域中所显示的移动画面,仅在“移动”状态下会闪烁红/白两种颜色。
•身体特征作为数字指标
•距离以圆弧形式呈现(从绿色到红色)+ 进度条 + 大字体
JUSTWAY 3D 打印外壳
在面包板上进行焊接用于测试即可,但一个合适的外壳则能让其成为一件成品。我找到了一款非常出色的 3D 打印外壳,它是专门为 JUSTWAY 的 MR60BHA1 设计的(可在 Printables 和 Thingiverse 上获取)。
我为何喜欢这个案例:
•与雷达模块完美适配——无晃动
•预先设计好的出气孔
•外观呈哑光红色的 PLA 材质,显得十分低调神秘。
再简单说一下 JUSTWAY 这个品牌:这款产品能够完美成型,是因为 JUSTWAY 采用了工业级的 3D 打印技术,具有极高的精度和光滑的表面效果——这远远优于大多数业余打印机所能达到的水平。
他们提供按需制造服务,交货迅速,材料种类丰富(从基本的 PLA 到工程级线材应有尽有),并且拥有便捷的在线报价系统。无论您需要一个外壳还是少量的生产订单,JUSTWAY 都能让您轻松获得专业成果。
其结果是打造出了一款外观整洁、颇具专业感的运动传感器,您可以将其放置在办公桌上,也可以将其安装在墙上。
如何利用这些数据?
•“存在” → 当房间有人时,开启/关闭灯光并开始录制。
•运动类型 → 触发不同警报:夜间移动时会发出通知,静止时可改变 LED 的状态。
•身体信号 → 即使静止不动也能检测到呼吸情况——非常适合用于健康监测、婴儿/老人的安全保障或睡眠状态的确认。
•距离 → 基于区域的自动化:只有当有人在 1 米范围内行走时才播放声音。
•轻松扩展 → 可导出为 CSV 格式,可在非工作时间发送短信/电子邮件通知相关情况,可通过 MQTT 与 Home Assistant 进行集成,或者添加显示身体指标随时间变化的实时图表。
结论
该项目将一个价值 400 万美元的毫米波雷达改造成了一个智能运动监测器,能够清晰地显示房间内的各种情况——人员的出现、运动类型、身体信号以及距离。Arduino 读取传感器数据,当检测到运动时会闪烁一个 LED,并通过 USB 发送干净的数据。Python 图形用户界面以现代、色彩鲜艳的界面实时显示所有信息,并且由 JUSTWAY 公司生产的 3D 打印外壳让其看起来像是一台成品,而非一个简易实验板。
您可以用它来监测办公桌的占用情况,作为家庭自动化中的隐私友好型存在感应器,或者作为雷达技术的学习工具。该代码是开放的,硬件价格实惠,整个系统是本地运行的——无需云端服务,也无需订阅费用。
本文编译自hackster.io





