从零开始的飞机追踪之旅

简介

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

从零开始的飞机追踪之旅

装置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
假如一切正常,你应该见到如下输出

[[email protected] ~]# 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
 <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  <InstallerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <WebServerPort>8081WebServerPort> 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/

未经允许不得转载:91天空 科技 生活 快乐 » 从零开始的飞机追踪之旅

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址