在 Mac 上使用 SDRPlay RSP1

SDRPlay RSP1 是一款性价比较高的 SDR 接收机,支持频率范围从 1kHz 到 2GHz,适用于无线电接收、频谱分析、信号侦查等应用场景。笔者最近购买了一台进行研究,虽然是国产的改进版本,但主要芯片型号与原版的 RSP1 相同,因此可以使用同款的驱动和软件。然而,许多好用的上位机软件只支持 Windows 系统,在 Mac 上配置一个合适的环境还需要一番功夫。本文将介绍在 Mac 上使用 SDRPlay RSP1 的具体方法。

使用 SDRuno

SDRPlay 官方提供了丰富的软件支持,其中功能最完善的是 SDRuno,可惜只有 Windows 版本,而且由于驱动问题,需要使用虚拟机才能在 Mac 上运行。如果要使用 SDRuno,需要先通过 VMWare Fusion 或者 Parallels Desktop 等软件安装 Windows 系统,然后在 Windows 系统中安装 SDRuno。之后,将 SDRPlay RSP1 设备连接到 Mac 上,并通过 USB 透传到虚拟机中,即可识别到设备。

使用 SDR++

SDR++ 是一款开源的 SDR 软件,支持多种设备,包括 SDRPlay RSP1。它的界面简洁,功能强大,支持多种操作系统,包括 Windows、Linux 和 macOS。在 macOS 上使用 SDR++ 非常方便,只需要从 GitHub 仓库中下载对应的安装包,安装后即可使用。SDR++ 支持多种设备,可以在侧栏中的 Source 下拉菜单中选择。然而,在 macOS 上,默认安装好的 SDR++ 并不能识别到 SDRPlay RSP1。查看文档可以发现,支持 SDRPlay RSP1 需要安装 sdrplay_source 插件,这个插件在 Release 版本中是包含的,但它依赖于 SDRplay API,需要手动进行安装。

SDRplay API 是 SDRPlay 官方提供的一套 API,用于支持 SDRPlay 设备在第三方软件中的使用。它可以从 SDRPlay 官网上下载。下载好后,完成安装,相关资源会存放在 /usr/local/sdrplay//usr/local/lib/ 目录下。然而,此时再次启动 SDR++,发现仍然无法识别到 SDRPlay RSP1。这是因为 SDR++ 写死了加载动态库文件的地址,需要手动拷贝才可以:

1
cp /usr/local/lib/libsdrplay_api.so.3 /Applications/SDR++.app/Contents/Frameworks/

完成之后,再次启动 SDR++,即可在 Source 下拉菜单中看到 SDRPlay RSP1 设备。

SDR++中使用SDRPlay RSP1

需要注意,如果其它应用程序占用了设备,侧栏中会出现 No device available 的提示。此时需要关闭占用设备的应用程序,然后重新插拔设备,再重启 SDR++ 然后重新选择设备。

其它软件

除了重点介绍的 SDRuno 和 SDR++,还有一些其它软件也支持在 Mac 上使用 SDRPlay RSP1,例如 SDRconnectCubicSDR 等。SDRconnect 也是由 SDRPlay 官方提供的,相比 SDRuno 支持更多系统,可以方便的在 macOS 上使用。然而,它的功能相对较弱,缺少一些高级功能,并且界面存在一些 bug,本文撰写时最新的 1.0.4 版本在拖动部分子框体时会出现错位的问题,使用体验一般。CubicSDR 是一个开源软件,支持多种 SDR 设备,但是代码已经很久没有更新了。总的来说,SDR++ 是在 macOS 上使用 SDRPlay RSP1 的最佳选择。如果不介意使用虚拟机的话,SDRuno 也是一个不错的选择。