找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

514

积分

0

好友

68

主题
发表于 前天 23:40 | 查看: 7| 回复: 0

CaribouLite HAT mounted on Pi 4 in rackmount

CaribouLite 是一款功能强大的软件定义无线电(SDR)树莓派扩展板。相较于仅支持接收且频率范围有限的 RTL-SDR 等入门设备,CaribouLite 凭借其可编程 FPGA、开源固件、高达 6 GHz 的频率覆盖以及发射(TX)功能,为射频爱好者提供了更广阔的应用空间。

选择树莓派型号

CaribouLite 是一款树莓派 HAT,它依赖博通 SoC 的 SMI(次要内存接口)功能,因此必须与树莓派搭配使用。需要注意的是,它不兼容树莓派 5,因为树莓派5 使用 RP1 芯片管理 GPIO,无法直接访问 SMI。

你需要一块具备 40 针 GPIO 接口的树莓派,例如树莓派 4、3 B+ 或 Zero 2。对于大多数 SDR 应用场景,树莓派4 的性能已绰绰有余。本文使用一台运行 64 位系统的树莓派4 进行操作。

在树莓派操作系统 Bookworm 上安装驱动

按照官方指南安装驱动程序时,发现在 Debian 12/Bookworm 系统上需要应用额外的补丁才能正常工作。

以下是完整的安装步骤:

# 克隆 CaribouLite 仓库
git clone https://github.com/cariboulabs/cariboulite.git
cd cariboulite

# 应用针对 Bookworm 的补丁
curl -L https://patch-diff.githubusercontent.com/raw/cariboulabs/cariboulite/pull/210.patch | git apply -v

# 运行安装脚本
./install.sh
# 安装过程中提示 “Did not find SoapySDRUtil” 时,输入 ‘y’

编译安装过程需要几分钟。完成后,安装脚本可能会提示两条警告,要求启用 i2c_vcspi1-3cs 设备。使用以下命令编辑配置文件:

sudo nano /boot/firmware/config.txt

dtparam=audio=on 行上方添加:

# CaribouLite
dtparam=i2c_vc=on
dtoverlay=spi1-3cs

保存文件并重启树莓派。重启后,可以验证驱动模块是否已加载:

lsmod | grep smi

正确的输出应包含 smi_stream_dev 模块。

关于 xtrx-dkms 的编译问题

安装完成后,执行 apt 更新时可能会遇到 xtrx-dkms 编译失败的错误。此错误源于旧版驱动与较新内核(6.4+)的兼容性问题。虽然上游代码已有修复,但 Debian 软件仓库中的旧版本尚未更新。目前可以暂时忽略此错误,它不影响 CaribouLite 核心功能的使用。

通过 SoapySDR 进行远程 SDR 操作

你可以在树莓派上启动 SoapySDR 服务器,以便从局域网内的其他电脑(如你的主力台式机或笔记本)访问 CaribouLite 并运行 GQRX 等图形化 SDR 软件。

启动服务器:

sudo systemctl start SoapySDRServer.service

查看服务状态或实时日志:

sudo systemctl status SoapySDRServer.service
# 或
sudo journalctl --follow -u SoapySDRServer.service

CaribouLite 提供两个频段选项:

  • 高频 (HiF):30 MHz - 6 GHz
  • 次 1 GHz (S1G):389.5 - 510 MHz 和 779 - 1020 MHz

在实际流传输SDR信号到远程客户端时,树莓派4的CPU占用率通常在15-20%左右,网络带宽消耗约为50-150 Mbps。

一个重要提示:为确保信号质量,建议在树莓派上禁用Wi-Fi,仅使用有线以太网连接。Wi-Fi信号本身会对SDR接收产生严重干扰。可使用以下命令关闭Wi-Fi:

sudo nmcli radio wifi off

若需服务器开机自启,执行:

sudo systemctl enable SoapySDRServer.service

在树莓派上本地使用 GQRX

你也可以直接在树莓派上安装并使用 SDR 软件:

sudo apt install gqrx-sdr

安装后即可本地运行 GQRX。但请注意,在树莓派4上直接运行图形界面并处理高采样率数据时,可能会遇到界面响应迟缓或CPU负载过高的问题。这主要是由于图形渲染和信号处理共同占用了系统资源。因此,更推荐的方案是在性能更强的远程电脑上运行客户端,或将树莓派作为纯服务器,通过 OpenWebRX 等网页界面进行访问,这能显著减轻树莓派的负担,属于高效的运维实践。




上一篇:基于C++26反射自动生成多语言绑定:mirror_bridge实战解析
下一篇:Redis缓存实战指南:从核心原理到集群架构的高并发避坑方案
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-8 07:59 , Processed in 0.100983 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表