ADS-B Receiver 系统逐步安装部署指南

张开发
2026/4/20 20:46:18 15 分钟阅读

分享文章

ADS-B Receiver 系统逐步安装部署指南
ADS-B Receiver 逐步安装部署技术方案目录方案概述环境准备第一阶段:基础环境搭建第二阶段:解码器安装第三阶段:数据分发配置第四阶段:Web Portal部署第五阶段:扩展组件安装第六阶段:系统验证第七阶段:配置优化第八阶段:监控维护故障排查指南附录1. 方案概述1.1 方案特点本方案提供逐步式、可执行的安装部署指南,特点如下:✅步骤清晰: 每个步骤都有明确的输入和输出✅检查点: 关键步骤后提供验证方法✅可回退: 支持在任何阶段停止或重新开始✅场景化: 支持不同的部署场景选择✅实战导向: 所有命令都经过验证可用1.2 部署路线图环境准备 ↓ ┌───────────────────────────────────────────────┐ │ 第一阶段: 基础环境搭建 │ │ - 系统更新 │ │ - 依赖安装 │ │ - 用户配置 │ └───────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────┐ │ 第二阶段: 解码器安装 │ │ - ADS-B 解码器 (dump1090/readsb) │ │ - UAT 解码器 (dump978) │ │ - ACARS/VDLM2 解码器 (可选) │ └───────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────┐ │ 第三阶段: 数据分发配置 │ │ - FlightAware PiAware │ │ - ADS-B Exchange │ │ - Flightradar24 │ │ - 其他 Feeders │ └───────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────┐ │ 第四阶段: Web Portal 部署 │ │ - Lighttpd 配置 │ │ - Portal 文件部署 │ │ - 数据库配置 │ │ - 后台服务配置 │ └───────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────┐ │ 第五阶段: 扩展组件 (可选) │ │ - Beast Splitter │ │ - tar1090 │ │ - Graphs1090 │ │ - DuckDNS │ └───────────────────────────────────────────────┘ ↓ ┌───────────────────────────────────────────────┐ │ 第六阶段: 系统验证 │ │ - 服务状态检查 │ │ - 数据流验证 │ │ - Web 界面访问 │ └───────────────────────────────────────────────┘ ↓ 部署完成1.3 时间预估阶段耗时说明环境准备15-30分钟取决于网络速度解码器安装20-40分钟编译时间Feeder 配置10-30分钟数量影响Portal 部署15-25分钟数据库配置扩展组件10-20分钟可选组件系统验证5-10分钟测试验证总计75-125分钟约1-2小时2. 环境准备2.1 硬件检查清单2.1.1 必需硬件最低配置检查:# 1. 检查 CPU 架构cpu_arch=$(uname-m)echo"CPU 架构:$cpu_arch"# 期望: armv7l, aarch64, x86_64# 2. 检查可用内存total_mem=$(free-m|grepMem|awk'{print $2}')echo"总内存:${total_mem}MB"# 最低要求: 1GB (Lite), 2GB (Advanced)# 3. 检查可用磁盘空间disk_space=$(df-BG/|awk'NR==2 {print $4}')echo"可用磁盘:${disk_space}GB"# 最低要求: 16GB# 4. 检查网络接口ipaddr show|grep"state UP"# 至少需要一个网络接口推荐配置检查:# 检查 CPU 性能 (需要支持多线程)nproc=$(nproc)echo"CPU 核心数:$nproc"# 推荐: 4核心以上# 检查内存性能available_mem=$(free-m|grepMem|awk'{print $7}')echo"可用内存:${available_mem}MB"# 推荐: 4GB 以上# 检查磁盘 I/O (如使用 SSD)disk_type=$(lsblk-d-orota,name|grep"$(df/|awk'NR==2 {print $1}'|sed's|/dev/||')")echo"磁盘类型:$disk_type"# 推荐: SSD (rota=0)2.1.2 SDR 设备检查# 1. 检查 USB 设备lsusb# 查找 RTL-SDR 设备 (Realtek, ID 0bda:2832)# 2. 检查设备权限ls-l/dev/bus/usb/# 确认当前用户有访问权限# 3. 检查内核模块lsmod|grepdvb# 如存在 dvb_usb_rtl28xxu,需要黑名单# 4. 测试设备 (如果已安装 rtl_test)rtl_test-t常见 RTL-SDR 设备:Generic RTL2832UNooelec NESDR MiniFlightAware Pro StickRTL-SDR Blog V32.2 软件环境准备2.2.1 操作系统更新# 更新软件包列表sudoapt-getupdate# 升级已安装的软件包sudoapt-getupgrade-y# 发行版升级 (可选,推荐)sudoapt-getdist-upgrade-y# 清理不需要的包sudoapt-getautoremove-ysudoapt-getautoclean-y2.2.2 安装基础依赖# 安装必需的软件包sudoapt-getinstall-y\git\bc\lsb-base\lsb-release\whiptail\wget\curl\unzip\build-essential\cmake\pkg-config# 验证安装git--versionpython3--versionphp--version2.2.3 配置时区和时间# 设置时区 (根据地理位置)sudotimedatectl set-timezone Asia/Shanghai# 或: sudo dpkg-reconfigure tzdata# 同步系统时间sudoapt-getinstall-yntpsudosystemctlenablentpsudosystemctl start ntp# 验证时间datetimedatectl2.3 网络配置2.3.1 配置静态 IP (推荐)# 编辑网络配置sudonano/etc/network/interfaces# 添加静态 IP 配置auto eth0 iface eth0 inet static address192.168.1.100 netmask255.255.255.0 gateway192.168.1.1 dns-nameservers8.8.8.88.8.4.4# 重启网络sudosystemctl restart networking2.3.2 配置防火墙# 安装 UFW (如未安装)sudoapt-getinstall-yufw# 基本策略sudoufw default deny incomingsudoufw default allow outgoing# 允许必要端口sudoufw allow22/tcp# SSHsudoufw allow80/tcp# HTTPsudoufw allow443/tcp# HTTPS (稍后配置)sudoufw allow30005/tcp# Beast 数据端口# 启用防火墙sudoufwenable# 查看状态sudoufw status2.4 用户和权限配置# 创建专用用户 (可选,但推荐)sudoadduser--system--groupwww-data adsb-usersudousermod-aGwww-data,adm,dialout,video adsb-user# 配置 sudo 权限sudovisudo# 添加:# adsb-user ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl restart dump1090-fa# adsb-user ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl restart piaware3. 第一阶段: 基础环境搭建步骤 1.1: 下载安装脚本# 克隆项目仓库cd~gitclone https://github.com/jprochazka/adsb-receiver.gitcdadsb-receiver# 验证文件ls-l# 应该看到: install.sh, bash/, build/, README.md 等# 赋予执行权限chmod+x install.sh验证检查点:✅ 文件下载完整✅ 版本正确 (查看 CHANGELOG.md)✅ 有执行权限步骤 1.2: 执行安装脚本# 标准安装./install.sh# 或使用参数./install.sh--branch=master --no-logging# 显示帮助./install.sh--help安装脚本会执行:✅ 检测操作系统和版本✅ 检测硬件架构✅ 安装依赖包 (bc, git, whiptail)✅ 配置环境变量✅ 创建日志目录预期输出:The ADS-B Receiver Installer v2.8.9 Starting ADS-B Receiver Installer package dependency check ------------------------------------------------------------------------------ Updating package lists for all enabled repositories and PPAs Downloading the latest package lists... Ensuring that all required packages are installed [OK] bc [OK] git [OK] lsb-base [OK] lsb-release [OK] whiptail ------------------------------------------------------------------------------ ADS-B Receiver Installer package dependency check complete Press enter to continue...验证检查点:✅ 依赖包全部安装成功✅ 日志目录已创建 (logs/)✅ 系统信息正确检测步骤 1.3: 欢迎界面和仓库更新安装脚本会自动执行bash/init.sh:执行流程:# 1. 显示欢迎界面┌────────────────────────────────────────────────────────────────┐ │ The ADS-B Receiver Project │ ├────────────────────────────────────────────────────────────────┤ │ More information on this project can be found at: │ │ https://www.adsbreceiver.net │ │ │ │ Do you wish tocontinuesetup? │ │ │ │YesNo│ └────────────────────────────────────────────────────────────────┘# 2. 选择是否更新系统 (推荐选择 Yes)┌────────────────────────────────────────────────────────────────┐ │ Operating System Updates │ ├────────────────────────────────────────────────────────────────┤ │ It is recommended that you update your system before │ │ building. This script candothisforyou. │ │ │ │ Would you like to update your operating system │ │ now? │ │ │ │YesNo│ └────────────────────────────────────────────────────────────────┘如果选择更新系统:# 系统将执行:sudoapt-get-ydist-upgrade# 预期时间: 10-30分钟 (取决于更新数量)验证检查点:✅ 系统更新成功✅ 无错误信息✅ 所有包都已更新步骤 1.4: 检查 Git 更新自动执行的更新:# 1. 检查本地修改gitstatus--porcelain--untracked-files=no# 2. 如有修改,提示是否 Stash# The ADS-B Receiver Project├────────────────────────────────────────────────────────────────┐ │ Stash Changes To Branch master │ ├────────────────────────────────────────────────────────────────┤ │ There appears to be changes to the current │ │ branch. These changes will need to be stashed. │ │ Would you like to stash these changes now? │ │ │ │YesNo│ └────────────────────────────────────────────────────────────────┘# 3. 切换/拉取指定分支gitcheckout mastergitfetch origingitreset--hardorigin/master验证检查点:✅ 代码已更新到最新版本✅ 分支正确切换✅ 本地修改已保存 (如有)4. 第二阶段: 解码器安装步骤 2.1: ADS-B 解码器选择执行bash/main.sh后,会看到解码器选择菜单:┌────────────────────────────────────────────────────────────────┐ │ ADS-B Decoder Selection │ ├────────────────────────────────────────────────────────────────┤ │ The following ADS-B decoders are available: │ │ │ │ 1. None │ │ 2. dump1090-fa │ │ FlightAware's version of the dump1090 │ │ 3. readsb │ │ Wiedehopf's detached fork of readsb │ │ │ │ Ok Cancel │ └────────────────────────────────────────────────────────────────┘选择建议:新手: dump1090-fa (文档完善,社区支持好)高级用户: readsb (更多功能,性能优化)测试: 安装两个,通过 Beast Splitter 切换步骤 2.2: 安装 dump1090-fa2.2.1 确认安装┌────────────────────────────────────────────────────────────────┐ │ FlightAware Dump1090 Decoder Setup │ ├────────────────────────────────────────────────────────────────┤ │ FlightAware Dump1090 is an ADS-B, Mode S, │ │ and Mode 3A/3C demodulator and decoder... │ │ │ │ Website: https://www.flightaware.com/ │ │ GitHub: https://github.com/flightaware/dump1090│ │ │ │ Would you like to begin the setup process? │ │ │ │ Yes No │ └────────────────────────────────────────────────────────────────┘选择Yes继续。2.2.2 设备分配┌────────────────────────────────────────────────────────────────┐ │ Device Assignment │ ├────────────────────────────────────────────────────────────────┤ │ Please select the SDR device to use for: │ │ │ │ [ ] dump1090-fa (ADS-B) │ │ │ │ Ok Cancel │ └────────────────────────────────────────────────────────────────┘可用设备列表(自动检测):/dev/bus/usb/001/002(RTL-SDR #1)/dev/bus/usb/001/003(RTL-SDR #2)/dev/bus/usb/002/001(其他 SDR)2.2.3 依赖安装脚本自动执行以下安装:# 自动安装的包sudoapt-getinstall-y\build-essential\debhelper\devscripts\fakeroot\libbladerf-dev\libhackrf-dev\liblimesuite-dev\libncurses-dev\librtlsdr-dev\libsoapysdr-dev\lighttpd\pkg-config预期输出

更多文章