你手里那块几块钱的ESP32,可能一直藏着一个没人告诉你的功能。

最出名的软件定义无线电接收器是RTL-SDR——一块数字电视接收芯片,被人挖出了一个未公开的功能。既然电视芯片能这样,那其他带无线电的芯片呢?答案是:有些ESP32家族成员,也有。

打开网易新闻 查看精彩图片

两个地方,各自发现了同一件事

这个发现是独立发生在两个地方的。一个是Espargos,另一个是Reddit上名叫h0m3us3r的用户。两边各自摸到了同一个未公开模式。

原理说起来不复杂:这个未公开模式会在WiFi调制解调器之前,把I/Q数据流截取出来。截出来的数据可以被外部电脑上的SDR软件读取和处理。换句话说,芯片本身没打算让你看的东西,被绕过去看到了。

不是所有ESP32都能用

这个模式有明确的适用范围,不是随便一块板子插上就行:

  • 需要搭载早期Tensilica硬件的ESP32芯片,以及之后的型号
  • 只有低功耗蓝牙的芯片不行
  • 没有配备无线电的P4也不行
  • 只能用于接收侧,发射侧做不到
  • 2.4GHz和5GHz频段都支持,具体取决于用的是哪款微控制器

所以它并不是RTL-SDR那种通用型SDR。功能上有边界,能做的事情也有限。

它到底能拿来做什么

即便有这些限制,可用之处依然不少。它仍然有大量用途。

更有意思的是另一个问题:能不能把SDR的软件部分也跑在同一块芯片上?这个想法被提了出来,但提出者自己也猜测,这可能超出了这些芯片的能力范围。

不管能不能做到,这个新发现的知识已经放出去了。接下来会发生什么,取决于社区怎么用它。

一块原本只被当作WiFi和蓝牙模块的芯片,突然多了一层身份。这种事的迷人之处不在于它有多强,而在于——它一直都在那里,只是没人知道。