Loading... ## 简介 ADS-B系统即广播式自动相关监视系统,由多地面站和机载站构成,以网状、多点对多点方式完成数据双向通信。它主要实施空对空监视。 一般情况下,只需机载电子设备(GPS接收机、数据链收发机及其天线、驾驶舱冲突信息显示器CDTI),不需要任何地面辅助设备即可完成相关功能,装备了ADS-B的飞机可通过数据链广播其自身的精确位置和其它数据(如速度、高度及飞机是否转弯、爬升或下降等)。ADS-B接收机与空管系统、其它飞机的机载ADS-B结合起来,在空地都能提供精确、实时的冲突信息。 国内民航ADS-B无线电频率处于1090MHz,想要接收到民航飞机的广播信号并看到飞机的轨迹,首先需要搭建一个的ADS-B ## 环境 > CPU:Intel Celeron J1900 RAM:2G DDR3 OS:CentOS Stream release 8 RTL-SDR电视棒一个,芯片为RTL2832U ( 电视棒白嫖至[@zrm](https://zrmblog.com/ "@zrm")  ## 安装LibUSB 如果未安装LibUSB,编译RTL-SDR驱动会出现如下错误 ``` -- Checking for module 'libusb-1.0' -- Package 'libusb-1.0', required by 'virtual:world', not found CMake Error at CMakeLists.txt:88 (message): LibUSB 1.0 required to compile rtl-sdr ``` 对于Ubuntu与Debian等系统可以尝试使用如下命令进行安装 ``` sudo apt-get install libusb-1.0-0.dev ``` 对于和我一样在CentOS Stream 8的同学可以使用如下方式安装 ``` # 首先下载该RPM包 https://centos.pkgs.org/8-stream/centos-baseos-x86_64/libusbx-devel-1.0.23-4.el8.x86_64.rpm.html # 安装RPM包 yum install libusbx-devel-1.0.23-4.el8.x86_64.rpm -y ``` ## 编译RTL-SDR驱动 ``` git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build && cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig sudo cp ../rtl-sdr.rules /etc/udev/rules.d/ ``` 新建blacklist-rtl.conf文件 ``` vim /etc/modprobe.d/blacklist-rtl.conf # 加入如下内容 blacklist dvb_usb_rtl28xxu ``` ##测试RTL-SD 如果一切正常,你应该见到如下输出 ``` [root@MisakaTAT ~]# rtl_test -t Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Supported gain values (29): 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.4 28.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 [R82XX] PLL not locked! Sampling at 2048000 S/s. No E4000 tuner found, aborting. ``` 如果出现如下错误 ``` rtl_test: error while loading shared libraries: librtlsdr.so.0: cannot open shared object file: No such file or directory ``` 请尝试按以下方式解决 ``` echo "/usr/local/lib/" > /etc/ld.so.conf ``` ## 部署dump1090 拉取代码并编译dump1090 ``` git clone https://github.com/antirez/dump1090.git export PKG_CONFIG_PATH=~/rtl-sdr/build make ``` 启动dump1090 ``` # 无Web服务 ./dump1090 --interactive # 带Web启动,默认端口8080 ./dump1090 --interactive --net ``` ## 安装Mono 1.首先导入存储库的GPG密钥 ``` sudo rpm --import 'http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3fa7e0328081bff6a14da29aa6a19b38d3d831ef' ``` 2.添加Mono存储库 ``` yum config-manager --add-repo https://download.mono-project.com/repo/centos8-stable.repo ``` 3.安装Mono ``` sudo yum install mono-complete ``` 4.安装完成后检查Mono版本 ``` mono --version ``` ## 安装VirtualRadarServer 首先下载并解压VRS ``` mkdir vrs cd vrs wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz tar -zxvf VirtualRadar.tar.gz ``` 下载WebAdminPlugin并解压到vrs目录下 ``` wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.WebAdminPlugin.tar.gz tar -zxvf VirtualRadar.WebAdminPlugin.tar.gz ``` 创建VirtualRadar.exe.config文件并写入如下xml配置 ``` vim VirtualRadar.exe.config ``` ``` <?xml version="1.0"?> <configuration> <configSections> </configSections> <startup> <supportedRuntime version="v2.0.50727"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Mono.Data.Sqlite" publicKeyToken="0738eb9f132ed756" culture="neutral" /> <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration> ``` 修改web端口防止与dump1090冲突 ``` vim ~/.local/share/VirtualRadar/InstallerConfiguration.xml <?xml version="1.0" encoding="utf-8" ?> <InstallerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <WebServerPort>8081</WebServerPort> </InstallerSettings> ``` 创建用户并启动VRS ``` mono VirtualRadar.exe -nogui -createAdmin:admin -password:password ``` ## 安装screen ``` yum install epel-release yum install screen -y ``` 启动vrs ``` # 创建一个screen screen -S vrs # 启动vrs mono VirtualRadar.exe -nogui # 退出当前screen Ctrl + A + D ``` 同理,启动dump1090 ``` # 创建一个screen screen -S dump1090 # 启动dump1090 ./dump1090 --interactive --net # 退出当前screen Ctrl + A + D ``` 其它命令 ``` # 列出所有screen screen ls # 回到某个screen screen -r vrs ``` > 如果顺利启动的话,将会看到如下信息输出  ## 浏览器访问 >VRS `http://192.168.1.100:8081/VirtualRadar/desktop.html` Web管理插件地址 `http://192.168.1.100:8081/VirtualRadar/WebAdmin/Settings.html`  ## VRS部分配置修改 > 如果有从公网访问管理界面的需求,请将此处修改为无限制,否则将会403  > 设置接收机地理位置(经纬度),可以使用百度地图的坐标拾取系统,设置完成后请拉到底部点击Save http://api.map.baidu.com/lbsapi/getpoint/index.html  ## VRS可选插件部署 > 数据库插件 可以将飞行记录(以及可选的飞机详细信息)保存到BaseStation.sqb数据库文件中 ``` # 下载插件并解压至vrs目录,并重启vrs cd /root/vrs wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.DatabaseWriterPlugin.tar.gz tar -zxvf VirtualRadar.DatabaseWriterPlugin.tar.gz ``` 如下图所示,请将`Enable`勾选以启动数据库插件,并且设置数据库文件存放路径,也可选择`Use Default File Name`,并且勾选底下两个复选框,作用分别为将在线查询保存在数据库中以及覆盖现有飞机的详细信息,配置完成后请点击Save按钮进行保存  ## 提示 如果yum安装Mono的时候特别慢,可以为yum添加代理 ``` # 编辑yum配置文件 vim /etc/yum.conf # 设置代理 proxy=http://192.168.1.101:1080/ ``` 最后修改:2021 年 01 月 08 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏
18 条评论
要飞天了
新年快乐zero|´・ω・)ノ
新年快乐!
biubiu~~~赞一个
好厉害的样子...
不过...这是合法的嘛?
根据中华人民共和国无线电管理条例第七章第五十五条 境外组织或者个人不得在我国境内进行电波参数测试或者电波监测。
任何单位或者个人不得向境外组织或者个人提供涉及国家安全的境内电波参数资料。
所以向境外发送会违法୧(๑•̀⌄•́๑)૭
不向境外发送数据就没事
飞常准那个我申请到了
xmsl,我申请了几次都没申请下来,可能上海不缺吧
我也是上海的
啊这,你啥时候申请的
18年申请,19年3月拿到设备
那应该是饱和了233
开始玩这个了哦
您好,请问能出个WINDOWS的教程吗?
早说嘛,我去出个,zero太懒了