EN
返回档案库

档案库 · 产品创意 · 技术决策 · 2021

ggwave 的 r2t2 将 PC 扬声器变成隔离机器的数据传输链路

r2t2 将短消息编码成主板压电扬声器可播放的音调,因此将手机靠近扬声器即可读取无网络机器的数据。

ggwave

创意是什么将被遗忘的主板蜂鸣器变成发射器:将短消息编码成 PC 扬声器可播放的音调,并通过靠近扬声器的手机解码。小步快跑

当时的题目

ggwave is an open-source library for communicating data through sound. Its r2t2 example targets a real gap: machines that must not touch a network still need a way to emit data, and adding dedicated hardware usually costs money or complicates the isolation. The motherboard's piezo speaker — a component that many computers already have and that costs a few dollars as a spare — is audio hardware nearly every machine owns.

它是怎么成立的

隔离机器之所以安全,在一定程度上是因为没有数据离开它们——而这恰恰是它们需要报告数据时的问题。ggwave 的 r2t2 示例提供了一个几乎零成本的通道:主板内置的 PC 扬声器,一个许多电脑已经有的压电蜂鸣器,作为备件只需几美元。

该工具刻意极简。r2t2 将短消息编码成音频并通过扬声器播放——在 Unix 上通过加载 pcspkr 内核模块并以 sudo 运行命令。可选的三种协议——Normal、Fast 和 Fastest——覆盖了不同速度需求,接收端是一个网页:在手机上打开 r2t2.ggerganov.com,将其靠近扬声器,消息便会显示出来。README 建议的应用场景是自动脚本周期性地从隔离机器发出传感器值,方便附近的人收集。

README 中将此想法归功于 Radoslav Gerganov,该工具于 2021-04-21 以 Show HN 的形式正式公开,获得 189 分和 71 条评论。该示例一直位于 ggwave 仓库中——这是一个通过声音传输数据的开源库——包括演示视频和接收页面;到 2026 年的存档快照为止,该仓库已获得约 7.9k 星和 466 个分叉。

妙在哪

  • 通道早已存在:压电扬声器已安装或可通过几美元的成本连接到几乎所有主板上,因此该链路无需增加网络硬件或布线。
  • 接收端只是一部手机:一个网页即可将任何手机变为解码器,因此收集数据的人可轻松携带整套接收设备。
  • 隔离遥测是真实需求:无法接入网络的机器仍然可以发出传感器值,脚本可以在需要时读出最新读数。
  • 三种命名协议——Normal、Fast 和 Fastest——让一条命令即可满足不同的速度要求。
  • 复古的魅力让这个黑客技巧得以传播:关于通过主板蜂鸣器发出吱吱声传输数据的 Show HN 一夜之间获得 189 分和 71 条评论。

做出来什么

The tool launched as a Show HN on 2021-04-21 and drew 189 points and 71 comments. The r2t2 example remained part of the ggwave repository with its demo video and receiver page; by the 2026 archive snapshot the repository showed roughly 7.9k stars and 466 forks.

他们自己的页面r2t2 README & demo video

可以借走的

被忽视的硬件也是硬件:大多数机器已有的近乎免费的组件可以变成数据通道,而单音的约束也催生了最简、优雅的协议。

后来

r2t2 仍保留在 ggwave 的示例中并附有演示视频,而且仓库获得了持续增长:截至 2026 年的存档快照,ggwave 已获得约 7.9k 星和 466 个分叉,README 仍在推荐 PC 扬声器作为隔离机器超廉价的遥测通道。资料显示没有进一步的产品化——这个想法仍然如发布之时:一个开源示例证明机器可以通过自带的扬声器进行通信。

资料来源

发现哪里写错了?告诉我们。

轮到你了

你刚读完一个点子。把你手上的题目说出来,看看谁接过同样的题。

免费账号 · 3 次免费提问 · 不用绑卡

相关案例