news 2026/5/15 17:20:10

总在凌晨3点被吵醒的“悬案”?他只用了8小时,AI+树莓派就把“元凶”找了出来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
总在凌晨3点被吵醒的“悬案”?他只用了8小时,AI+树莓派就把“元凶”找了出来

编译 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

你有没有过这样的经历:在吵闹的城市里生活,某个深夜突然醒来,或者第二天早上手表告诉你“深睡被打断”,但你就是不知道罪魁祸首是谁?门、狗、垃圾车、还是楼上那对喜欢半夜挪家具的邻居?

一位软件工程师 Martin 也有同样的困扰。但和大多数人不一样的是,他决定自己造一个工具来找出真相——让人意外的是,借助 AI 编程助手,这个原本需要好几天的“小项目”,他只花了一个周末(约 8 小时)就完成了。

睡觉像开盲盒,醒来永远不知道被什么吵醒

Martin 住在一个相当喧闹的城市。有些晚上他凌晨 3 点惊醒,不知道是什么声音导致的;有些晚上他没有醒来,但早上 Garmin 手表的数据显示:凌晨3:32,他被某种力量从深睡中拽了出来。

最让人抓狂的是,你几乎永远没法知道原因。当一个声音把你吵醒时,你的大脑还在从之前的睡眠阶段“切换状态”,需要好几秒才能正常运作。等你反应过来,那个声音早就消失了——除非它反复出现(比如持续响的车喇叭)或者留下明显的痕迹(比如闪电之后必然有雷鸣)。

不知道原因,就没法解决。是屋里的声音?还是屋外的?是邻居、卡车或者门?你尝试的任何解决方案(换床垫、加厚窗帘、戴耳塞)都只是瞎猜,而瞎猜往往代价不菲。

于是,Martin 决定不猜了,他要找出真相。

工具:俩麦克风 + 树莓派 + 手表数据 + Web 应用

Martin 本身是一位软件工程师,家里已经有一套基于 Home Assistant 的智能家居系统,布满了各种传感器(人体移动、门窗开关、灯光、温湿度、CO₂、空气质量)。他需要的数据大部分已经在收集中了,只差两样:音频和睡眠数据。

放在几年前,他会觉得“为了这点事专门搭一个系统,小题大做了”。但现在有了 AI 编程助手的加持,这类小项目已经悄悄跨过了阈值——从“算了不值得”,变成了“行吧,就花个周末搞搞”。

基于此,Martin 只额外添了几样东西:

● 两个便宜的 USB 麦克风:一个放在室内,一个放在临街的窗外。

● 一台树莓派:负责监听声音,但只在他回家且躺在床上时才启动。

● Garmin 手表的睡眠数据:包括睡眠阶段、心率、心率变异性(HRV)。

● 一个运行在家用服务器上的 Web 应用:把音频、睡眠数据和现有的传感器数据全部整合在一起。

整个监听流程非常“克制”:树莓派把自己注册为 Home Assistant 的一个集成,由自动化规则严格控制——只有当他在家、在床、并且时间接近平时入睡时段时,监听才会开启。其余时候麦克风完全禁用,连访问权限都没有。即使是自己的家庭网络,他也坚持了这种“最小权限”原则。

而当树莓派捕捉到足够响的声音时,它就会保存一段短音频,包含这段声音的前后几秒。

真正的杀手锏:Web 应用

大体来说,Martin 开发的 Web 应用是整个项目的灵魂。每个晚上,相关数据都被展示成类似音乐编辑软件(DAW)的多轨道视图:

● 一条睡眠阶段的轨道(深睡、浅睡、REM等)

● 一条心率 + HRV 的轨道

● 几条各类传感器数据(门窗开关、人体移动等)的轨道

● 一条噪音(音频已加载,可直接播放)的轨道

这个页面是响应式的,手机上也能用,轨道还可以像放大缩小音频块一样自由缩放。而最有用的功能,无疑是应用会高亮标记出他睡眠阶段转变或醒来的时刻(红色)。这样一来,Martin 每天早上扫一眼,直接点击红色区域收听那个时间点的声音,省去了漫长的“听白噪音”过程。

更贴心的是,前端是一个渐进式 Web 应用(PWA),支持 Web 推送,但只在他的家庭网络内提供服务。每天早上他一醒来打开手机,就会收到一条推送:“昨夜数据已就绪,可查看。”

也就是说,所有数据都不离开家庭网络——这是 Martin 非常在意的一点。

AI 到底干了什么?又没干什么?

先把预期说清楚:AI 并没有帮他识别具体是什么声音(至少目前还没有)。

判断“这是门声还是碗碟声还是摩托车”这一步,还是 Martin 自己戴着耳机干的活。AI 做的事是:帮他极快地搭建了整套基础设施,把数据采集、存储、展示、关联的流程跑通,然后精准地告诉他“嘿,你该听这个时间点”。

至于开发过程,Martin 做了一个决定:他几乎没读过生成的代码。他只测试结果,发现 bug 就直接反馈,让 AI 自己修正。他甚至让 AI 在浏览器里对运行中的应用截图,自我验证输出。

在树莓派那边,他更进一步:给 AI 编程助手直接开了 SSH 权限(一个全新的、空白的树莓派)。“它会自己搭一个实验,然后让我喊一声、摔个东西或打开厨房水龙头,录下样本,然后帮我分析,有时还会生成频谱图。”

Martin 补充道,虽然刚开始他得明确指示 AI 按这种方式工作,但一旦说清楚,这个迭代循环其实非常顺畅——对于跑在自己硬件上的个人项目来说,这套流程已经足够了。

“这里有趣的变化不是‘AI 解决了我的问题’,而是‘AI 降低了造出这个工具的成本,然后我自己解决了自己的问题’。”

不过 Martin 也坦言,他并不完全信任 Garmin 手表对每一个睡眠阶段的精准判断——所有消费级设备在这方面都有误差。但它们在检测你实际醒来的时刻上相当靠谱,而这些醒来事件,加上睡眠阶段之间的大致转换点,正是他真正需要的东西。

它们不是临床真理,它们是视觉标记,告诉他“这个时间点值得查一下”。没有它们,他就得坐在那里听好几个小时的冰箱嗡嗡声和邻居的无关动静,努力找到有时让他早上起来感觉难受的原因。

结果:真凶浮出水面,而且不止一个

一旦开始实际使用,规律很快就显现了。Martin 指出,打扰他深度睡眠的常见“罪魁祸首”有:

● 门:邻居摔门,或者家里人去洗手间时不太注意关门。

● 碗碟:它们发出的高频、尖锐的声音在公寓里传得出奇地远——不管是自家厨房还是邻居家。

● 街道:摩托车、小摩托、卡车,还有垃圾清运车经过。

有了真实数据,他就不再瞎猜,而是有针对性地采取了措施。例如加装了办公隔音板(效果出乎意料地好)、在卧室门和窗户周围添加了额外的隔音条(硅胶、橡胶等),对于某些室内噪音,就跟家人进行一次友好沟通。

当然,城市就是城市,做不到完全静音。但效果是肉眼可见的——无论从 Martin 早上起床的主观感受,还是 Garmin 手表的长期数据来看,都有明显改善。

一些老实的交代

需要注意的是,Martin 有软件工程背景,所以他知道该向 AI 问什么、什么时候该保持怀疑。但音频处理对他来说是一个全新领域,而这一部分几乎是在零基础之上借助 AI 构建的。

此外,他也不会把这个项目代码公开发布——它只是基于结果测试过,没有正规的代码审查。但在他的家庭实验室里,他可以锁死访问权限、限制网络,因此问题不大。

“我不是睡眠科学家,这篇文章也不是什么“高质量睡眠指南”。我只是一个愿意关注那些影响日常生活质量的小细节、并且尽可能采取行动的人。如果你也住在一个吵闹的城市,你的睡眠追踪器总说“昨晚睡眠质量差”却不告诉你原因,我真心推荐你也试试类似的方法。不需要完全照搬我的方案,哪怕只是在你床边放个麦克风,第二天早上看看哪些时间点的声音有尖峰,你都能学到很多。”

而现在,Martin 在窗户和门上加了足够多的隔音之后,又得面对一个新问题:卧室里的 CO₂ 浓度开始上升了。隔音太好,但空气不流通……他正在琢磨怎么智能地降低 CO₂——这大概会是他的下一个“周末项目”。

原文链接:https://martin.sh/i-let-ai-build-a-tool-to-help-me-figure-out-what-was-waking-me-up-at-night/

推荐阅读:

AI 都会写代码了,我们还需要一门国产编程语言吗?

开源打破“AI黑箱”!集结全球大咖,GOSIM Paris 2026带你看懂Agent时代大变局

“10周的工作量,AI只用4天!”Anthropic发布会全程实录:你引以为傲的复杂工程,在模型眼里只是个玩具

从“拥抱 AI”到“AI 原生”,我们正站在生产力变革的奇点。

由 CSDN 与奇点智能研究院联合举办的「2026 全球产品经理大会」将于 7 月 17-18 日在北京正式召开。本次大会精心设计了十二个深度专题,旨在通过最前沿的实战案例,拆解 AI 原生时代的进化密码。

目前大会正式开启演讲议题与优质分享嘉宾招募。

你的每一次真实分享,都在为 AI 原生时代的产品实战手册添砖加瓦。

我们在北京,期待听见你的声音。

议题 & 嘉宾推荐/自荐方式:hemiao@csdn.net

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 17:17:05

基于模块化与事件驱动的AI智能体平台构建实战:从原理到部署

1. 项目概述:一个面向开发者的智能体构建与编排平台 最近在开源社区里,一个名为 98kiran/agenthq 的项目引起了我的注意。乍一看这个仓库名,你可能会觉得它和某个著名的游戏枪械型号有关,但实际上,它是一个非常硬核的…

作者头像 李华
网站建设 2026/5/15 17:17:04

为团队统一开发环境使用Taotoken CLI一键配置各工具密钥

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为团队统一开发环境使用Taotoken CLI一键配置各工具密钥 作为技术团队的负责人,当团队开始使用多个大模型进行开发时&a…

作者头像 李华
网站建设 2026/5/15 17:16:31

软件开发复杂性解析:从需求管理到系统设计的工程实践

1. 项目概述:从一行代码到一座城市的距离“软件开发过程是一个复杂过程”,这句话听起来像一句正确的废话,但只有真正在项目泥潭里摸爬滚打过的人,才能体会到“复杂”二字背后那沉甸甸的分量。它远不止是“写代码很麻烦”那么简单&…

作者头像 李华
网站建设 2026/5/15 17:15:04

Marko代码规范:ESLint与Prettier配置指南

Marko代码规范:ESLint与Prettier配置指南 【免费下载链接】marko A declarative, HTML-based language that makes building web apps fun 项目地址: https://gitcode.com/gh_mirrors/ma/marko Marko是一种声明式、基于HTML的语言,旨在让构建Web应…

作者头像 李华
网站建设 2026/5/15 17:13:07

2. 高斯场和高斯马尔可夫随机场

高斯场和高斯马尔可夫随机场 1. 高斯场 (GFs) 的大 n n n 问题 1.1. GFs 的定义 1.2. GFs 计算成本问题及传统解决方法 2. 高斯马尔可夫随机场 方法 (GMRFs) 2.1. GMRFs 的定义 2.2. GMRFs 计算的高效性 2.2.1. Cholesky分解的高效计算 2.2.2. Σ i j \Sigma_{i j} Σij​的高…

作者头像 李华