可穿戴硬件不是一个新词,但最近这个赛道又热了起来。看到有前 META、XREAL 产品负责人出来创业做可穿戴硬件,还拿到了美国顶级 VC 千万美金级别的种子轮,不少做软件、做后端的同学都来问我:可穿戴硬件到底在做什么?和普通嵌入式有什么区别?如果现在转行或者入局,该从哪些技术点开始准备?
这篇文章不聊融资八卦,也不做产品预测,而是以技术视角把可穿戴硬件从概念、架构到工程落地完整拆一遍。我会结合智能眼镜、运动手环、医疗体征监测这类典型设备,讲清楚结构设计、传感器选型、低功耗策略、数据流管线以及从原型到量产的工程链路。文末会给出常见问题排查清单和工程最佳实践,适合想进入可穿戴领域的嵌入式工程师、软件开发者,也适合准备做硬件产品创业的技术合伙人。
1. 可穿戴硬件到底是个什么“硬件”
1.1 它不是智能手环的“升级版”
很多人对可穿戴硬件的理解停留在“能戴在身上的电子设备”,这个说法没错,但太宽泛。如果从工程视角拆开看,可穿戴硬件真正区别于手机、PC、服务器这些传统计算平台的核心点在于三个约束。
第一是紧贴人体。设备长期或高频接触皮肤、贴合眼眶、缠绕手腕,这意味着表面材质、散热路径、EMI 屏蔽、生物兼容性都要纳入硬件设计,而不只是结构件选型。第二是功耗预算极其有限。以智能眼镜为例,整机功耗往往被限制在 1W 到 2W 以内,否则电池体积和发热会直接毁掉佩戴体验。第三是交互范式发生改变。用户不可能像操作手机一样去点按镜腿或手表表冠,更多依赖语音、手势、眼动、头部姿态这类多模态输入。
所以,可穿戴硬件从本质上是“在极限功耗、极限体积、极限发热约束下,完成感知、计算、交互、连接闭环”的工程体系。它和手机供应链高度重合,但设计逻辑完全不同。
1.2 行业分层:从上游芯片到终端品牌
看一家公司做可穿戴,要先分清它在产业链的哪一层。
上游是核心器件,包括 SoC、光波导模组、Micro-OLED/Micro-LED 显示驱动、MEMS 传感器、电池、天线等。中游是模组和整机方案商,做的事情是光学引擎封装、传感器标定、整机堆叠、可靠性测试。下游是终端品牌和软件生态,负责产品定义、系统交互、内容生态和数据服务。
文章开头提到的那类创业团队,往往切的是“终端品牌 + 核心算法 + 场景应用”这一段,也就是把现有供应链里的显示、传感、计算能力组合成一种新交互形态。对开发者来说,理解这一分层很重要,因为在可穿戴行业找工作或做项目,你首先得知道自己卡在哪一层。
如果是个人学习,最合适的切入点是中游偏应用,也就是“基于现成模组搭建原型”这一段,不用从贴片电阻开始,也不至于只写 App 而完全不懂整机约束。
1.3 可穿戴设备常见的六种产品形态
可穿戴硬件形态很多,但技术脉络大致能分成六类。
- 智能手表 / 手环:以健康监测、消息通知、运动记录为核心,技术重心是 PPG(光电容积脉搏波)、加速度计、陀螺仪数据融合和低功耗显示。
- 智能眼镜 / AR 眼镜:以近眼显示、SLAM、手势交互为核心,技术重心是光学、IMU 融合、功耗和轻量化。
- 智能音频眼镜:主打开放式音频、语音交互、主动降噪,技术重心是音频算法、漏音处理、天线设计。
- 医疗级贴片 / 穿戴监护:主打 ECG(心电)、EEG(脑电)、血氧、体温等连续监测,技术要求是信号质量与医疗认证。
- 智能服装 / 织物电子:把传感器、导线织入布料,目前多用于运动姿态和生命体征实验性产品。
- 智能戒指:形态极小,但传感器密度高,主打睡眠和健康趋势监测,对结构堆叠和功耗挑战很大。
无论哪种形态,底层技术模块都是同一套:感知、处理、连接、供电、交互。差别只在于每个模块的优先级和物理约束。
2. 可穿戴硬件开发需要掌握的核心概念
2.1 感知层:从传感器原始数据到“有用的信息”
可穿戴设备的直接价值来自它能感知人体和周围环境,所以传感器是硬件系统的眼睛和耳朵。日常项目中至少会遇到这几类传感器。
运动类传感器最常见的是加速度计、陀螺仪和磁力计,三者组合成 IMU(惯性测量单元)。在智能眼镜和 AR 设备里,IMU 是 SLAM 算法的重要输入,用来估计头部姿态和设备位移。在手表手环里,IMU 用于计步、睡眠翻身检测、运动模式识别。
生理信号传感器包括 PPG(用来测心率、血氧)、ECG(心电)、温度传感器、EDA(皮肤电导)等。PPG 的原理是用 LED 照射皮肤,再用光电二极管接收毛细血管中血流变化引起的反射光变化,通过算法算出心率、心率变异性(HRV)、血氧饱和度(SpO2)。这类信号容易受运动伪影干扰,所以可穿戴设备做运动监测时通常要融合 IMU 数据做运动补偿。
环境传感器包括环境光、气压计、温湿度等,它们更多用于场景识别,例如根据气压变化测算海拔、根据环境光调整屏幕亮度。
学习时不要只停留在“调库读寄存器”的层面,还要理解一个关键点:传感器原始数据几乎都是带噪声的,真正有用的是经过校准和滤波后的数据。所以信号链路的每一级都值得关注。
2.2 计算层:MCU、应用处理器与异构计算
可穿戴设备的计算单元不是越强越好,而是“刚好够用”。目前主流的方案分成两档。
低功耗档采用 MCU(单片机)配合 DSP 或专用传感处理单元,例如在手表手环中非常常见的 Cortex-M 系列。这类芯片主频在几十 MHz 到两百 MHz 左右,内存通常只有几十 KB 到几百 KB,跑的是 RTOS 或裸机代码。
高算力档采用 SoC(应用处理器),例如智能眼镜中的高通骁龙 XR 系列或国产的 RK 系列。这类芯片能跑完整的 Android/Linux 系统,支持 SLAM、手势识别、语音助手等复杂算法,代价是功耗和体积成倍上涨。
不过,就算用了高算力 SoC,整机上依然会保留一颗 MCU 作为“传感器中枢”或“低功耗唤醒协处理器”。原因是系统级 SoC 在深度睡眠和待机场景下功耗仍然偏高,有一颗独立 MCU 常驻负责监听按键、佩戴检测、低功耗传感器轮询,可以让设备在待机时功耗降到微安级别,这是可穿戴硬件设计里非常重要的一个技巧。
2.3 连接层:蓝牙、Wi-Fi、UWB 与 NFC 的搭配
可穿戴设备通常不是孤立工作的,它需要和手机 App、云平台通信,连接层的选型直接决定数据同步速度和功耗表现。
BLE(低功耗蓝牙)是可穿戴设备最常用的连接方式,功耗极低,适合周期性同步心率、运动记录、通知消息等数据。需要注意的是,BLE 虽然叫低功耗,实际功耗和连接间隔、MTU 大小、数据吞吐量有关,调试时功耗差异非常大。
Wi-Fi 通常用于需要高吞吐的场景,例如智能眼镜的视频通话、固件 OTA、高分辨率地图数据下载。但 Wi-Fi 在工作时电流很高,在可穿戴设备上常被限制在特定场景短时使用。
UWB(超宽带)最近在配件防丢和空间感知里出现得比较多,适合厘米级定位和测距。NFC 则用于快速配对、支付和电子票券等场景。
实际项目里经常同时存在多条连接通路。以 AR 眼镜为例,眼镜端和设备端可能走私有低延迟无线协议,手机与眼镜之间走 BLE 做控制通路,Wi-Fi 做高吞吐数据通路。多链路并存时,天线布局和共存干扰是硬件层最头疼的问题。
2.4 供电与功耗管理:可穿戴的“生死线”
可穿戴设备不是不能做大电池,而是体积限制太严格。以一副智能眼镜为例,镜腿里能塞进的电池可能只有 300mAh 到 600mAh,要支撑显示、感知、连接整机运行,功耗预算极其紧张。
系统设计里通常会把设备状态划分成运行态、空闲态、睡眠态和关机态,不同状态对应不同的外设电源策略。这里要用到 PMIC(电源管理集成电路)、负载开关、LDO、DC-DC 等器件,软件侧则通过动态调频、外设电源门控、事件唤醒等机制来压低平均功耗。
有一类比较典型的设计错误是:硬件上做了很好的低功耗待机,软件里却用轮询的方式反复唤醒系统,结果整机功耗高得离谱。做低功耗设计时,一定要从“事件驱动”角度思考,而不是“循环扫描”。
3. 智能眼镜与空间计算设备的硬件架构拆解
3.1 智能眼镜整机模块组成
智能眼镜是目前可穿戴领域关注度最高的品类,其硬件架构也最有代表性。我们以带显示功能的 AR/智能眼镜为例,梳理一台设备里包含哪些模块。
- 光学显示模组:负责把数字画面投射到人眼中。主流技术包括 BirdBath、光波导、全息光栅等,光波导是目前轻量化消费级产品的方向。
- SoC 主板:运行操作系统和感知算法,处理音视频和图形渲染。
- 传感器组:包括 IMU、摄像头、接近传感器、光线传感器、麦克风阵列。
- 电池与电源管理:分布在镜腿或后置电池仓,需要考虑重心配平。
- 音频模块:包括扬声器、麦克风、音频功放,用于语音交互。
- 无线连接模组:蓝牙、Wi-Fi、天线。
- 结构件:镜框、镜腿、散热片、密封件等。
整机堆叠最大的挑战是“体积、散热、重量”的三角平衡。多塞一毫米的散热片,重量和重心就变了;多留一点电池容量,镜腿就粗一圈;想做得轻,光学和主板就得极致压缩。这也是为什么可穿戴硬件开发经常是产品、结构、电子、光学、软件一起评审,而不是各做各的。
3.2 SoC 选型与传感器数据协同
做智能眼镜系统设计时,一个常见思路是把系统拆成“感知子系统”和“交互子系统”。
感知子系统由摄像头、IMU 和专用 DSP 组成,处理 6DoF 位姿估计、手势识别和环境理解。交互子系统负责显示渲染、音频处理和 App 运行。两边通过共享内存或高速总线交换数据。
这里涉及一个核心概念:传感器时间同步。SLAM 和空间定位对 IMU 与摄像头的时间戳一致性要求很高。如果二者时间不同步,哪怕只差 10ms,在快速转头时都会产生严重的漂移。所以 SoC 侧通常会通过硬件同步信号(sync signal)来同时触发摄像头曝光和 IMU 采样,确保数据属于同一时刻。
软件架构上,现在很多设备采用“Android/Linux + 实时感知中间件”的混合方案:非实时部分跑应用生态,实时性要求高的感知任务跑在独立核或 RTOS 上,确保不会因为上层 App 卡顿导致追踪中断。
3.3 显示与光学:一个容易被低估的技术栈
智能眼镜的显示和普通屏幕完全不同,不是把一块 LCD 塞进镜框就行。因为人眼离显示源只有几厘米到十几厘米,必须通过光学系统把微型屏幕的画面放大并投射到视网膜上,才能形成“大屏”的视觉感受。
这就引入了光波导、BirdBath、自由曲面等光学方案。拿光波导来说,微型显示屏(Micro-OLED 或 Micro-LED)发出的光耦合进一片透明波导,在波导内部通过全反射传播,最后被光栅耦出到人眼。整个光路涉及纳米级光栅结构,制造精度和对齐要求远高于普通结构件,这也是智能眼镜成本居高不下的主要原因。
从开发者角度看,光学涉及到的知识包括视场角(FOV)、眼动范围(Eye-box)、出瞳距离、MTF、亮度均匀性、色散等。做上层应用的人不一定需要设计光机,但需要理解“为什么同一块屏在不同眼镜上显示效果差异很大”,这会影响 UI 布局和渲染分辨率适配。
4. 从原型到量产的六道关键工程关卡
4.1 结构堆叠:先把“能戴”解决掉
原型阶段,开发板可以摊在桌面上飞线调试,但一旦进入产品阶段,首先要面对的就是结构堆叠。以智能戒指为例,一个直径不到 2cm 的壳体里要塞下主控、蓝牙 SoC、电池、充电线圈、多种传感器,还要保证天线不被金属件屏蔽,难度非常大。
结构堆叠阶段通常用三维建模软件(如 SolidWorks、Creo)把 PCB、电池、屏幕、传感器等所有器件的 3D 模型摆到一起,检查装配干涉、重心位置、按键手感、散热通道、天线净空区。结构工程师会在这个阶段反复和电子工程师讨论器件布局,因为很多问题后面改起来成本极高。
4.2 硬件原理图与 PCB Layout 的坑
可穿戴设备的 PCB Layout 有几点和普通消费电子非常不同。
第一,面积极端受限,很多板子需要做 HDI 高密度互连甚至任意层互连。走线密度高,信号完整性风险也随之增加。第二,天线净空区非常紧张。BLE 天线、Wi-Fi 天线、GPS 天线要放在同一块小主板上,彼此隔离度不够会影响连接稳定性。第三,传感器布局需要避开发热源。心率传感器通常要贴在皮肤侧,如果背面就是 SoC 发热区,传感器信噪比和佩戴舒适度都会受影响。
做原型时有人喜欢直接用四层板甚至两层板“先跑起来”,这不丢人,但量产前必须按可制造性设计(DFM)规则重新布局布线,否则小批量贴片时会产生大量焊接不良。
4.3 传感器标定:算法跑得好不好,一半看标定
传感器标定是很多人容易忽略的一环,但恰恰是决定产品体验的关键工序。加速度计和陀螺仪出厂时会有零偏、刻度因子误差、轴间非正交误差,如果直接喂给姿态解算算法,跑出来的姿态会在静止时缓慢漂移。
量产的传感器标定流程一般包含:零点标定、六面静态标定、温度补偿标定、整机组装后二次校准。对于带摄像头的 AR 眼镜,还要做摄像头与 IMU 的外参标定,也就是确定二者在空间中的相对位姿。这个外参如果打歪了,SLAM 初始化就会出现严重的尺度漂移。
个人开发者如果能从 AliExpress、淘宝买到一个相对便宜的带 IMU 的可穿戴开发板,自己用上位机采集静态数据、计算零偏,再对照算法输出的姿态变化,就能快速理解标定的价值。
4.4 低功耗设计与电池续航优化
续航是可穿戴产品最敏感的用户体验指标之一。做低功耗不只是选一颗低功耗芯片,而是一整套软硬件策略的配合。
硬件层面会做电源树设计。例如把心率传感器、屏幕、蓝牙射频分别挂在独立电源域上,软件可以在不需要某个外设时直接切断电源,而不仅是让外设进入睡眠模式。
软件层面常见的做法包括:
- 事件驱动代替轮询:例如抬手亮屏、佩戴检测、跌落检测等都由中断唤醒,而不是每秒读一次传感器判断。
- 动态调频:根据当前负载在几十 MHz 和几百 MHz 之间动态切换 CPU 频率。
- 数据缓存批量发送:心率数据先缓存在本地,每 5 分钟或者 30 分钟通过 BLE 批量同步一次,避免频繁射频发包。
- 计算下沉:在 MCU 侧完成基础滤波和特征提取,而不是把全量原始数据送给手机。
实际调功耗时,需要使用功耗分析仪(例如 Nordic PPK2、JouleScope)或至少串口打印不同工作状态下的电流曲线,观察哪里出现了预期外的高电流尖峰。
4.5 可靠性测试与佩戴安全
可穿戴设备长期接触皮肤,安全标准和可靠性测试比普通手持设备繁琐。
至少需要考虑:皮肤致敏性和细胞毒性测试(ISO 10993 系列)、充电接口和电池安全认证、跌落测试、汗液/盐水耐腐蚀测试、防水防尘测试。智能眼镜和耳机一类还要做长时间佩戴的人因测试,确认夹持力、鼻托压力、重心不对用户造成不适。
量产阶段还会有环境可靠性测试,比如高低温存储、温度冲击、湿热循环,这些测试听上去枯燥,但很多量产后的“偶发死机”“电池鼓包”都是因为环境可靠性没测透。
4.6 量产良率与校准效率
可穿戴设备量产和开发板烧录完全不是一回事。一个产量几十万台的智能手表项目,单台产品的整机测试时间可能被压缩到几十秒以内,所有射频指标、传感器响应、按键功能、显示坏点都要自动跑完。
这就需要在设计阶段预留产测点和测试模式。例如预留射频测试座、在固件里写产测固件、设计自动化夹具,让产线上的测试设备能快速读出传感器数据和蓝牙地址。产测方案是否高效,直接决定了代工厂愿不愿意接你的单,也决定了良率和交付周期。
个人开发者可以通过采购现成的夹治具服务商来解决小批量测试问题,但一定要在设计阶段就预留 Pogo Pin 或测试点,否则后面飞线测试的效率会非常低。
5. 可穿戴数据管线的软件工程实战
5.1 端侧数据采集与处理串成一条链
抛开芯片和硬件,从软件工程师视角看,可穿戴设备的核心是一条“采集-处理-上传-反馈”的数据管线。下面我以手环的光学心率监测为例,拆一下这条管线上每一层该做什么。
硬件层通过 PPG 传感器以 25Hz 到 100Hz 的采样率采集光电容积脉搏波原始数据。数据进入 MCU 后,第一件事是滤波,把环境光和运动伪影造成的低频干扰去掉。之后经过峰值检测算法,从脉搏波波形中计算出瞬时心率,再通过滑动平均或卡尔曼滤波平滑结果。
如果设备还带加速度计,还要做运动状态判断:静坐、走路、跑步状态下,PPG 信噪比差异极大。运动剧烈时,PPG 可能完全不可用,需要切换到算法估值的模式,或者直接标记“测量不可信”。
5.2 一段可模拟的 PPG 信号处理示例代码
这里没法直接跑真实硬件,但可以用一段 Python 脚本模拟信号处理逻辑,帮助理解可穿戴端侧算法的工作流程。逻辑是:生成一段带低频干扰的 PPG 模拟信号,用带通滤波提取有效脉搏波,再做一个简单的峰值计数得到心率估计。
import numpy as np from scipy import signal import matplotlib.pyplot as plt # 这部分代码模拟 PPG 传感器采样后的信号处理流程 fs = 50.0 # 采样率 50Hz t = np.arange(0, 10, 1.0 / fs) # 模拟 72 BPM 的脉搏波分量 heart_rate = 72.0 bpm_wave = np.sin(2 * np.pi * (heart_rate / 60.0) * t) # 叠加低频基线漂移(模拟呼吸、身体晃动等干扰) baseline_drift = 0.3 * np.sin(2 * np.pi * 0.2 * t) # 叠加高频噪声 noise = 0.05 * np.sin(2 * np.pi * 9.0 * t) ppg_raw = bpm_wave + baseline_drift + noise # 设计 0.8Hz ~ 3Hz 的带通滤波器,对应 48~180 BPM 的心率范围 lowcut = 0.8 highcut = 3.0 nyquist = fs / 2 low = lowcut / nyquist high = highcut / nyquist b, a = signal.butter(2, [low, high], btype='band') # 滤波输出 ppg_filtered = signal.filtfilt(b, a, ppg_raw) # 通过找峰值估算心率 peaks, _ = signal.find_peaks(ppg_filtered, distance=fs * 0.4) estimated_bpm = len(peaks) / 10.0 * 60.0 print(f"模拟心率: {heart_rate} BPM, 估计心率: {estimated_bpm:.1f} BPM") # 可视化对比 plt.figure(figsize=(10, 4)) plt.plot(t, ppg_raw, label="Raw PPG", alpha=0.6) plt.plot(t, ppg_filtered, label="Filtered PPG", linewidth=2) plt.plot(t[peaks], ppg_filtered[peaks], "x", label="Detected Peaks") plt.xlabel("Time (s)") plt.ylabel("Amplitude") plt.legend() plt.grid(True) plt.show()这段代码的核心思路是先认识原始信号里“脏”在哪:基线漂移加高频噪声会把真实的脉搏波淹没。通过带通滤波只保留 0.8Hz 到 3Hz 的信号,就对应保留了 48 到 180 BPM 之间的心率频带,干扰被大幅抑制,峰值检测才变得可信。
真实嵌入式系统里会面临更多问题:滤波器的相移是否会影响实时性,峰值检测的幅度阈值和间隔阈值怎么自适应调整,以及运动状态下信号完全被淹没时如何快速标记数据无效。这段代码只是让大家直观看到信号处理对可穿戴数据质量的巨大影响。
5.3 时域特征与简单运动识别
除了生理信号,可穿戴设备经常要对运动数据进行识别。以计步为例,主流方案并不会简单地用加速度阈值“超了就计数”,而是依靠周期性检测。
人在走路时,腰部或手腕位置的加速度会呈现近似周期性的波动,步频通常在 1Hz 到 2.5Hz 之间。算法先对三轴加速度求模,去掉重力偏置,再做带通滤波,最后通过峰值间距和周期稳定性判断是不是一次有效迈步。这样能避免“抖一下算一步”的误计。
如果设备内具有陀螺仪,还可以判断手臂摆动和身体姿态,进一步提高准确率。从工程角度讲,这些算法在 MCU 上的实现要求很高,不仅要求算得快,还要求省 Flash 和 RAM。因此很多团队会先用 Python/Matlab 做离线算法验证,再移植成 C 代码,跑在开发板上用真实传感器数据回放测试。
5.4 端到端数据链路:从设备到云再到 App
可穿戴设备的用户价值不只是“表上有数”,而是数据能产生反馈。因此数据链路通常包括三个环节。
设备端采集和预处理数据,生成结构化记录,例如一条心率记录包含时间戳、平均心率、最低/最高心率、运动状态标签。通过 BLE 或 Wi-Fi 同步到手机 App,App 做数据格式化后传到云端。云端负责长期存储、跨设备汇总、趋势分析和 AI 模型训练。
这里值得提醒的是,原始信号(例如 PPG 波形)数据量大,不适合全量上传。通常设备端只上传特征值或统计值,原始波形只在特殊调试模式下上传。这不仅仅是省流量,也是保护用户隐私的设计原则——可穿戴数据属于敏感健康数据,应该遵循数据最小化原则。
6. 可穿戴硬件项目的完整起步方案
6.1 两步确定你的原型方案
个人或小团队入局可穿戴时,最容易被“自研芯片”“自研光学模组”这类想法带偏。实际上,技术路线应该反过来走:先明确场景,再选模组,最后才考虑自研。
第一步确定要验证的核心体验。例如你想做一款“久坐提醒 + 体态识别”的穿戴设备,核心体验是姿态检测,那么你不需要自己设计 PCB 的全部细节,而是可以先用集成了 IMU 的开发板跑通算法。第二步根据核心场景选择模组和主控。某款国产低功耗蓝牙 SoC 开发板已经集合了 6 轴 IMU、电量管理、BLE 通信,软件生态也比较成熟,对起步项目来说完全够用。
这种方案的优点是成本低、周期短、风险小,适合创业团队在种子阶段快速做出可用 Demo 去接触用户和渠道。等验证了场景和算法价值,再考虑定制 PCB 和量产结构。
6.2 一个最小可穿戴原型项目的模块划分
假设我们要做一个“坐姿提醒智能贴片”,贴在背部,当检测到驼背超过一定时间就通过振动提示用户。整个项目可以拆成这些模块。
感知模块使用加速度计或陀螺仪判断躯干倾角。主控模块选用支持 BLE 的低功耗 MCU,例如 Nordic nRF52832 或国产替代。交互模块使用线性马达做振动反馈,用 LED 做状态指示。电源模块用聚合物锂电池加充电管理芯片,通过 USB 或无线充电。结构模块用 3D 打印外壳做初步验证。
这个项目的工程量主要不在硬件原理图,而在算法和低功耗优化:怎么从加速度中准确估计倾角,怎么区分“坐着”和“站着”的倾角基线,怎么在连续检测到不良姿态时触发振动而避免频繁打扰。
6.3 固件中的事件驱动状态机示例
可穿戴固件和 Web 后端的思路差异很大。通常会用一个状态机管理设备的工作状态,例如待机态、测量态、提醒态、充电态。以下用伪 C 代码演示一个简单的状态处理逻辑。
typedef enum { STATE_IDLE, STATE_MEASURING, STATE_ALERTING, STATE_CHARGING } sys_state_t; sys_state_t current_state = STATE_IDLE; void on_sensor_event(float trunk_angle) { switch (current_state) { case STATE_IDLE: if (trunk_angle > BAD_POSTURE_THRESHOLD) { current_state = STATE_MEASURING; start_bad_posture_timer(); } break; case STATE_MEASURING: if (trunk_angle <= BAD_POSTURE_THRESHOLD) { current_state = STATE_IDLE; stop_bad_posture_timer(); stop_motor(); } else if (bad_posture_timer_expired()) { current_state = STATE_ALERTING; start_motor_vibration(); } break; case STATE_ALERTING: // 持续提醒一段时间后回到待机,或者等姿态恢复后停止 if (trunk_angle <= BAD_POSTURE_THRESHOLD) { current_state = STATE_IDLE; stop_motor_vibration(); } break; case STATE_CHARGING: break; } }这段代码的价值在于把设备行为从“裸地读传感器”变成“有状态的事件响应”,这对低功耗很重要。MCU 不需要每秒都跑完整数据处理,而是等传感器中断到来时只做必要判断,其他时间进入休眠。
6.4 “先硬件后算法还是先算法后硬件”
很多项目团队卡在“算法还没调好要不要先做硬件”这个问题上。经验答案是:只要预算允许,尽量硬件和算法并行。
硬件原型可以先做起来,因为 PCB 打样和结构开模周期很长。算法团队可以在电脑上先基于公开数据集或历史采集数据做离线仿真,等硬件 Sample 回来后再把算法部署到真实设备上做参数校正。
千万不要等到全部算法仿真完美后才开始画板子,这会浪费 2 到 4 个月的时间窗口。做可穿戴产品,软硬件联动越早发生,项目风险越低。
7. 可穿戴硬件常见问题与排查清单
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 设备待机时功耗偏高 | 外设未断电,软件轮询频繁唤醒 | 用功耗分析仪看电流曲线,找到异常高电流段,改成事件驱动 |
| 心率测量在运动时乱跳 | 运动伪影干扰 PPG 信号 | 融合 IMU 判断运动状态,切换算法或标记数据不可信 |
| 蓝牙连接经常断连 | 天线净空不足或者连接参数不合理 | 检查天线匹配、BLE 连接间隔,使用稳定连接参数 |
| 设备发热明显 | SoC 高负载运行时间过长 | 降低渲染帧率、算法降频、增加散热片或改用大小核调度 |
| 姿态解算随时间漂移 | 传感器零偏未校准或磁力计干扰过大 | 做陀螺仪零偏校准、加速度计六面标定,检查磁干扰源 |
| 设备无法进入睡眠 | 外设持有唤醒锁或 GPIO 配置错误 | 检查所有外设电源域状态和 GPIO 唤醒配置 |
| 产测效率太低 | 未预留测试点,测试固件不完整 | PCB 设计时预留产测点,开发产测固件和测试夹具 |
| 充电时发热严重 | 充电电流与电池规格不匹配 | 按电池规格书配置充电参数,检查充电芯片散热 |
| 佩戴过敏性投诉 | 接触皮肤材质未做生物兼容测试 | 更换医用级材质,按 ISO 10993 做皮肤致敏测试 |
| 批量焊接后功能不良 | DFM 设计不足,焊盘间距过小 | 提前做 DFM 评审,调整封装和钢网开孔 |
排错时第一步永远是复现并缩小范围。可穿戴领域涉及的变量太多:电池电压、温度、天线方向、贴肤状态都会影响现象。接到一个偶发问题,先固定变量,再去翻日志和电流曲线,不要凭经验直接换芯片或改代码。
8. 可穿戴硬件工程的最佳实践建议
8.1 从第一天就把“功耗预算表”建起来
可穿戴硬件开发最常见的失控就是在功能堆叠时不断增加功耗,等整机做出来才发现电池只能撑半天。正确的做法是从需求阶段建立一张功耗预算表。
把每一个外设的工作电流、工作时间、触发频率列出来。例如设备每天抬手亮屏 200 次,每次亮屏 5 秒,持续电流 80mA,那这一项每天耗电是多少毫安时。所有功能加总后,再除以电池可用容量,得到预估续航。这样在产品功能评审时,每加一个新功能都能直观看到对续航的伤害,避免后期砍需求引发团队矛盾。
8.2 建立传感器数据日志系统
可穿戴硬件开发中很多算法问题无法靠“看现象”解决,必须依赖原始数据的回放。所以建议在固件开发早期就建立一套日志系统,至少支持把传感器原始数据、算法中间变量、状态机跳转记录打包通过 BLE 或串口导出。
数据日志的格式要有版本号、时间戳、采样率信息,保证离线分析时能准确复现现场。这一套系统虽然前期费时间,但在装机调试和量产问题回溯时会节省数倍时间。
8.3 安全和隐私必须前置考虑
可穿戴设备采集的生理数据具有高度私密性。工程上至少要做好三件事。
数据传输使用加密协议,BLE 连接要启用加密配对,云端接口要使用 TLS 并严格鉴权。设备端遵循数据最小化,不采集与功能无关的数据,例如非必要的麦克风录音权限绝不申请。固件 OTA 更新要有签名校验机制,防止恶意固件通过升级通道写入设备。
个人开发者尤其要注意,不要把用户的健康数据明文传到自建服务器上做演示,哪怕只是技术验证阶段,也要尽早养成好的数据安全习惯。
8.4 原型迭代时“一版只改一个变量”
硬件改版不像软件改代码那么快。一次改版里同时换了 MCU、传感器型号和天线布局,出了问题之后你根本不知道是哪一项导致的。因此建议每次原型迭代尽量只改一个关键变量,其他部分保持稳定。
软件调试同理。每次优化功耗,只动一个外设策略;每次调姿态算法,只改一个滤波器参数。可穿戴系统的耦合度高,变量混在一起会造成大量浪费时间的“幽灵 Bug”。
8.5 团队配置:可穿戴不是单一工程师能扛到量产的
个人开发者做原型很容易,但想做到量产,必须认识到可穿戴硬件需要的技能栈极其庞杂。一个小而美的核心团队至少要覆盖:硬件设计、固件开发、结构设计、算法开发、App 开发、产品定义和供应链管理。
如果团队早期人手不足,可以把非核心部分外包,例如结构设计、模具开发、可靠性测试,由内部核心成员负责需求定义、开发板验证和整机调试链路。尤其是创业团队,一定要清楚自己的护城河究竟是算法、交互体验还是供应链整合,不要在非核心环节上耗尽资源。
9. 写在后面
可穿戴硬件最近几年频繁出现在大众视野,资本也在加注这个方向,但真正推动行业向前走的,仍然是每一个工程细节的突破:功耗下降一点、重量轻一点、传感器数据再准一点、光学显示再清晰一点。
如果你现在是软件背景,想进入这个领域,建议从低功耗蓝牙开发板入手,配合 IMU,先跑通一个“采集-处理-展示”的小闭环,亲手感受一下传感器数据的噪声和功耗曲线的变化。这是比读一百篇行业报告更有效的入门方式。
如果你已经在做硬件,可以试着把你的算法和数据链路再往前推一步,多想想量产和用户体验层面的约束,而不仅仅是“能跑”。可穿戴行业需要的,恰恰是既懂技术又尊重工程约束的人。
这篇文章从行业概念、系统架构、低功耗设计到数据管线做了系统梳理,也给出了一些起步阶段的实践思路和排查建议。由于可穿戴硬件涉及的细节太多,很多环节没法在一篇文章里穷尽,后续可以针对投资上的光学选型、BLE 功耗调优、传感器标定流程等方向再展开细聊。
如果你正在准备实际的智能硬件项目,欢迎带着具体场景和问题继续交流。