用摩尔斯电码定制手机震动:极客的个性化提醒方案

将摩尔斯电码点划节奏映射为手机震动,实现无需看屏幕即可识别来信人的触觉通知实验。
这篇文章介绍了一个来自 Hacker News 的极客小项目:利用摩尔斯电码的点(短信号)与划(长信号)节奏,为不同联系人定制手机震动模式,从而让用户仅凭触觉感知就能判断是谁发来了消息。文章从摩尔斯电码的可辨识性和触觉通知的低干扰性出发,分析了这一想法的合理性;在技术层面,说明了如何借助 Android 的 VibrationEffect 和 iOS 的 Core Haptics 接口,将点、划及各级间隔转换为毫秒级震动时长数组,并指出节奏参数调校是核心难点。文章同时坦承其局限:Android 设备硬件差异导致震动表现参差不齐,而摩尔斯电码本身的学习门槛也限制了它的大众普及空间,使其更适合极客与无障碍需求用户。
一个有趣的极客小实验
在 Hacker News 上,一个名为「Giving friends custom text buzzes based on Morse code」(基于摩尔斯电码为好友定制短信震动)的项目引发了社区的小范围讨论。这个想法本身简单却巧妙:通过摩尔斯电码的点(dot)与划(dash)节奏,把手机的震动变成一种可以「听懂」的信号——不同的好友、不同的联系人,对应不同的震动节拍。
换句话说,当你的手机在口袋里震动时,你无需掏出来看屏幕,仅凭震动的长短组合就能判断是谁给你发来了消息。这是一种把古老通信编码与现代移动设备相结合的有趣尝试。
摩尔斯电码为何适合做震动提醒
摩尔斯电码的核心在于用两种基本单元——短信号(点)和长信号(划)——以及它们之间的停顿,来编码字母和数字。这种二元节奏天然契合手机的线性马达(震动马达)特性。
可辨识性强
人类对节奏模式的记忆能力相当强。就像人们能分辨不同的手机铃声一样,经过短暂训练,大脑完全可以识别出「短-短-短」对应字母 S,或「长-短」对应字母 N。把好友名字的首字母编码成震动,便能实现触觉上的「来电显示」。
无需视觉介入
相比弹窗、屏幕点亮等视觉提醒,触觉提醒在开会、驾驶、运动等场景下更隐蔽也更实用。摩尔斯电码震动提供了一种「不打断当前任务」的信息感知方式,这也是无障碍(accessibility)领域长期关注的方向。
实现思路与技术要点
从工程角度看,这类项目通常依赖移动操作系统提供的震动 API。无论是 Android 的 VibrationEffect 还是 iOS 的触觉反馈接口,都允许开发者自定义震动的时长序列。
将摩尔斯电码映射为震动,本质上是把点、划、字符间隔转换成一组毫秒级的震动时长数组。例如:
- 点(dot)= 短震动(如 100ms)
- 划(dash)= 长震动(如 300ms)
- 符号间隔 = 短停顿
- 字母间隔 = 较长停顿
开发者只需为每个联系人配置一段文本,程序自动将其转译为摩尔斯序列并下发给震动马达。难点往往不在编码本身,而在于节奏参数的调校——过快会导致难以分辨,过慢又显得冗长。
Android 的 VibrationEffect API 自 Android 8.0(Oreo)引入,支持通过 createWaveform() 方法传入一个时长数组(交替表示「关闭」和「开启」的毫秒数)来构造自定义震动序列。iOS 方面,Apple 从 iPhone 7 开始引入 Taptic Engine——一种线性谐振执行器(LRA),相比旧式偏心转子马达(ERM)响应速度更快、定位更精准,能更好地呈现短促的点与较长的划之间的区别。通过 Core Haptics 框架,开发者可以精细控制震动的时间、强度和波形,这为摩尔斯节奏的准确复现提供了硬件基础。两套系统在权限模型上也有差异:Android 需要声明 VIBRATE 权限,而 iOS 的触觉 API 无需额外权限即可调用,对小型 side project 来说开发摩擦更低。
从玩具到实用的边界
这类项目体现了 Hacker News 社区典型的「为兴趣而造」精神。20 个赞和少量评论说明它并非爆款,但它触及了一个被主流厂商忽视的细分需求:个性化、低干扰的触觉通知。
实际落地仍有现实约束。现代智能手机的震动马达虽然精度提升明显(如 iPhone 的 Taptic Engine),但 Android 阵营设备差异巨大,震动表现参差不齐,影响节奏的一致性。此外,学习摩尔斯电码本身存在门槛,大多数用户可能更倾向于直接看屏幕。
不过对于特定人群——摩尔斯电码爱好者、无障碍需求用户、或单纯喜欢折腾的极客——这类工具的价值不容小觑。它提醒我们,技术创新未必总是宏大叙事,有时一个小小的触觉编码也能带来独特的使用体验。
iPhone 的 Taptic Engine 本质上是一种线性谐振执行器(LRA),通过电磁力驱动质量块沿单一轴向高频往复运动,而非传统的旋转偏心马达。这使它的响应延迟可低至数毫秒,能在极短时间内完成启停,因此"短震动100ms、长震动300ms"这样的时序在 iPhone 上表现相当准确。Android 阵营则混用 LRA 与 ERM 两种方案:旗舰机型(如 Pixel、Galaxy S 系列)多已升级 LRA,而中低端设备仍大量使用 ERM,后者因转子惯性较大,短促震动的边界往往被"拖尾"模糊,直接影响摩尔斯节奏的可辨识度。这也是为什么此类项目在跨设备一致性上是工程难点之一。
小结
把摩尔斯电码嵌入手机震动,是一次将经典编码理论与现代交互设备结合的轻量级实验。它不追求规模化普及,却展示了触觉交互的想象空间。对于有兴趣的开发者而言,这是一个门槛不高、却能快速获得满足感的 side project——既能练手移动端 API,也能玩转一点信号编码的乐趣。
相关推荐

Claude国内使用与充值全攻略:三种方式对比及防封控指南
整理Claude国内使用与会员充值的三种方式:海外信用卡直充、苹果美区ID与安卓Google Play内购、网站自助充值,对比各自门槛、成本与封控风险,并给出固定设备、稳定IP、不共享账号等五条降低封号概率的使用习惯。

从ChatGPT内容限制到Eval、可观测性与Guardrail实战
通过电子商店订单Agent实战,讲解ChatGPT内容限制背后的工程逻辑,以及Eval评估、Observability可观测性和Guardrail护栏如何协作,避免同名用户数据泄露与提示注入风险。

LangChain4j决策模型:本地校验Java工具调用
LangChain4j社区提出决策模型方案,在本地对Java工具调用进行校验,将控制逻辑从LLM拉回应用侧,提升工具调用的可靠性与可调试性。