899 字
4 分钟
树莓派搭建 ADS-B 接收站教程
请不要尝试将数据传给
Flightradar24、Flightaware、ADS-B Exchange、RadarBox
等境外飞机跟踪网站,否则叔叔会请你去喝茶的
一、安装准备
- 本教程适用于 Raspberry Pi OS 等系统
- 请确保可以通过 SSH 连接到 Raspberry
- 请确保 Raspberry 可以连接到互联网
- 建议使用全新刷写的最新版系统进行安装
- 建议设置 APT 软件源为清华源、中科大源等国内源
- 本教程基于 Raspiberry 2B 和 RTL-SDR/DVB-T USB 接收器编写
二、readsb + tar1090
仅安装 readsb
curl -fsSL https://raw.giteeusercontent.com/self4m/adsb-scripts/raw/main/readsb-install.sh | sudo bash -s no-tar1090安装 readsb + tar1090
curl -fsSL https://raw.giteeusercontent.com/self4m/adsb-scripts/raw/main/readsb-install.sh | sudo bashNOTE
- readsb 编译安装可能耗时较长,请耐心的等待
- 安装 tar1090 后可通过 http://设备IP/tar1090 或 http://设备IP:8504 访问 Web 界面
- 安装 tar1090 后,需要在 readsb 中配置设备的纬度和经度信息
否则 tar1090 无法显示设备所在位置,并且信号接收范围会在每次重启后重新生成
卸载脚本
sudo systemctl disable --now readsbsudo /usr/local/share/tar1090/uninstall.sh三、自动增益
合理设置 SDR 增益可以提高有效接收量,也有助于降低 SDR 长期工作压力
自动增益脚本会根据强信号(>-3dB 的信号)占比自动进行调节:
- 如果强信号的比例大于 7%,则增益降低
- 如果强信号百分比低于 0.5%,则增加增益
可通过以下命令获取当前强信号占比:
grep -sh /run/readsb/stats.json -e '' | jq '.total.local | ((.accepted | add), .strong_signals, .signal, .noise)' | xargs -n4 echo | awk '{printf "\nPercentage of strong messages: %.3f\nSignal: %.1f\nNoise: %.1f\n", $(2) * 100 / $(1), $(3), $(4)}'安装自动增益脚本
curl -fsSL https://raw.giteeusercontent.com/self4m/adsb-scripts/raw/main/autogain-install.sh | sudo bashNOTE
- 该脚本会在每天凌晨 02:30 自动进行调节增益,实际可能延迟最多 30 分钟
如果安装后想尽快获取到合适的增益,建议在日间航班数量较多时运行以下命令进行调节:
# 在一小时内每两分钟调节一次增益for i in {0..30}; do sudo autogain1090; sleep 120; done手动设置增益
如果已知合适的增益,可通过以下命令直接设置:
sudo readsb-gain 43.9SDR 常用可用增益如下:
0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.428.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 -10卸载自动增益脚本
如果已经找到合适的增益或不在使用自动增益脚本,可运行以下命令卸载:
curl -fsSL https://raw.giteeusercontent.com/self4m/adsb-scripts/raw/main/autogain-remove.sh | sudo bash四、安装飞常准 ADS-B 数据上传脚本
安装过程中会自动生成 UUID,并配置 SSH 登录欢迎信息
之后每次通过 SSH 登录设备时,终端都会自动显示 UUID 等相关信息,方便查看设备标识和进行管理
安装脚本
curl -fsSL https://raw.giteeusercontent.com/self4m/variflight/raw/main/install.sh | sudo bash卸载脚本
curl -fsSL https://raw.giteeusercontent.com/self4m/variflight/raw/main/uninstall.sh | sudo bash五、其他设置
修改 RTL-SDR 接收器序号
仅当使用飞常准 ADS-B 设备且未拆除板载 RTL-SDR 接收器时建议修改此项
一般情况下飞常准 ADS-B 设备原有 RTL-SDR 接收器序号为 0,通过 USB 连接的 RTL-SDR 接收器序号为 1
sudo sed -i 's/--device 0/--device 1/g' /etc/default/readsbsudo systemctl restart readsb加速 tar1090 数据显示
可通过以下命令调整 GZIP_LVL 压缩级别:
sed -i 's/^GZIP_LVL=.*/GZIP_LVL=5/' /etc/default/tar1090systemctl restart tar1090GZIP_LVL 支持设置 1-9:
- 数值越低(如
1):压缩级别较低,CPU 占用更少,但需要传输更多数据 - 数值越高(如
9):压缩级别更高,可减少网络传输量,但会增加 CPU 使用率
树莓派搭建 ADS-B 接收站教程
https://www.self4m.com/posts/raspberry-install-adsb-software/
商业用途必须事先获得作者授权;
非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。
非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。