在家里组建一个可以扫描民航飞机的小型雷达站(基于ADS-B)

前几天(7月22日)有一架埃塞俄比亚航空B77L型货机(注册号:ET-ARH)在上海浦东国际机场(PVG)突然起火燃烧, 导致机场地面服务停止1小时, 进港航班备降到虹桥机场(SHA)或返航.

Never. 看到这个事情后打开了 Flightradar24(一款航班追踪软件), 找到了浦东机场, 果不其然, 虹桥机场附近有好多飞机, 而浦东机场只有在地面的几架.

那么我就在想, 为什么这个软件可以实时追踪航班动态呢? 按照一些政策, 机场应该不会分享雷达数据吧…… 随后我点开了一架飞机, 往下看才找到数据来源:

在飞机目前位置周围是有一个可以接收飞机应答机信号的接收器,即ADS-B系统.

我们可以自己搭建这样的“雷达”来接收周围飞机应答机信号, 从而了解她的位置, 高度, 速度, 机型等, 甚至可以把数据上传到 Flightradar24 (上传之前一定要参照当地的法律是否允许哦)

接下来我们开始进入正题: 组建小型雷达.

你需要: 一台可以持续运行的电脑或微型电脑(例如树莓派), 软件无线电(用来接收应答机信号), 天线.

这里我推荐各位使用树莓派 3b 或 4b, 使用方便, 体积小, 耗电低. 软件无线电和天线可以在某宝上购买到, 价格大约是 60~300 不等. 我购买的是 RTL08T:

我买的这个接收器卖家附赠了天线. 到货后直接把天线拧在后面的口上即可, 天线尽量放置在窗户边或者窗户外, 这样覆盖范围大一些. 然后把接收器插入电脑或树莓派的 USB 口中.

接下来是电脑端的操作了.

使用 Windows 系统 (都0202年了肯定要 Windows7 以上…)

  1. 安装卖家提供的驱动程序.
  2. 下载这个软件,解压.
  3. 将 RTL1090.exe 文件建立一个快捷方式右键单击快捷方式-属性-在目标后面加上 空格/30003 , 目的是让 RTL1090.exe 打开 30003 端口传输捕获的数据. 如下图:
  1. 打开 rtl1090.exe, 然后点击 “START” 开始接收信号.此时窗口上应该显示一些信息了:
  1. 只能接收到应答机信号,没有可视化的数据怎么能行呢, 接下来我们安装Virtual Radar, 一款可以在地图上显示接收到飞机应答机信号位置的软件. 官网: Virtual Radar, 下载地址: Virtual Radar Server. 注意该软件需要 .NET 3.5 依赖.
  2. 安装过程到这儿需要大家注意一下, 这个是选择 HTTP 服务器默认端口的, 如果本机和 80 端口有冲突, 需要在这更改为其他端口 (1025~65535):
  1. 这个选项也要打上勾,自动配置 Windows 防火墙:
  1. 安装完成后先不要打开,下载这个插件, 打开,安装在刚才安装 Virtual Radar 的目录.
  2. 以管理员身份打开 Virtual Radar (可能需要去安装目录打开 VirtualRadar.exe), 单击上方菜单栏的“Tools”,选择“Plugins”:
注意: 若不用管理员身份打开可能无法创建数据库. 创建数据库成功后会有“Created the database file…”的提示
  1. 完成上图步骤后重启 Vitural Radar.
  2. 不出意外的话此时用浏览器访问 http://127.0.0.1/VirtualRadar/ 或 http://电脑IP地址:自订端口/VirtualRadar/ 会出现接收器扫描到的飞机了(默认地图位置可能是英国伦敦,拖动到自己所在位置就可以了).
  3. 如果需要随时可以访问雷达, 需要 Virtual Radar 和 RTL1090 一直保持开启状态.

使用 Linux 系统 (以 Ubuntu 19.10 为例)

一些想要随时访问雷达的小伙伴们可能会发现整天开电脑不太划算, 我们可以借助树莓派来组建全天候的小型雷达站.

  1. 在关机状态下,将接收器和网线插入树莓派中.
  2. 开机, 通过 SSH 连接到树莓派.
  3. 安装 Mono (可以在 Linux 中运行 .exe 程序的插件):
sudo apt-get install mono-complete
  1. 下载并解压 Virtual Radar:
wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz
mkdir VirtualRadar
tar -zxvf VirtualRadar.tar.gz -C VirtualRadar
  1. 安装 Database Writer Plugin 和 Web Admin Plugin:
wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.DatabaseWriterPlugin.tar.gz
wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.WebAdminPlugin.tar.gz
tar -zxvf VirtualRadar.DatabaseWriterPlugin.tar.gz -C VirtualRadar
tar -zxvf VirtualRadar.WebAdminPlugin.tar.gz -C VirtualRadar

检查 VirtualRadar/Plugins 下是否有刚才安装的两个插件:

cd VirtualRadar/Plugins
ls

如果输出如下结果:

则表示成功.

  1. 安装 screen, 以便断开 SSH 连接后进程仍在进行:
sudo apt-get install screen
  1. 新建 sceen 窗口并开始运行 Virtual Radar:
screen -S VirtualRadar  #后面的 “VirtualRadar” 可以自订名称.
cd VirtualRadar
mono VirtualRadar.exe -nogui -createAdmin:admin -password:password #第一次运行 Virtual Radar 需要创建管理员和密码, 将“admin”改为自己喜欢的英文或数字名称, 第二个“password”改为自己要设置的密码.
  • 注意!由于 Virtual Radar 是用 .NET 3.5 编译的,而mono是基于 .NET 4 的。我们需要一个配置文档来让 Virtual Radar 正常工作:在 Virtual Radar 目录下新建 virtualradar.exe.config (nano 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>
  1. 用浏览器打开 http://树莓派IP地址:8080/VirtualRadar/WebAdmin/Index.html , 输入管理员名称和密码.
  2. 点击右边的 Options, 选择“Receivers”, 点击“Add”:
  1. 按照下图填写, 如果使用一个树莓派来接收信号和使用 Virtual Radar, Address 可以按照下图填写, 如果不是由同一个树莓派来接收信号, Address 应填写接收信号设备的 IP 地址:
  1. 更改地图数据提供商, 如果无法访问 Google 的话,建议选择 Leaflet, 如下图:
  1. 填写完成后滑到页面最底下点击“Save”.
  2. 安装 Flightradar24提供的 ADS-B 驱动:
sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"

安装过程中会提示输入 Flightradar24 用户的邮箱, 可以点此注册, 还有目前所处经纬度, 高度等. 完成后, 不出意外可以打开 http://接收器IP地址:8754 :

出现上图就说明成功了, 而且用刚注册的账户登录 Flightradar24 应用还可获得 Business 订阅(只要雷达掉线不超过48h即可一直保持, 因为在接收应答机信号同时还把信息上传到 Flightradar24 服务器中. 如果不想上传到其服务器, 可以关闭接收器的外网权限或在“Settings”中随便填写一个“Sharing key”, 点击“Save”, 然后点击“Restart”). 在分享雷达数据前请先查阅当地的法律规定.

  1. 回到 Virtual Radar 的 WebAdmin 面板: http://树莓派IP地址:8080/VirtualRadar/WebAdmin/ .
  2. 不出意外的话应该都是“Connected”,此时打开 http://树莓派IP地址:8080/VirtualRadar 就可以开始观察飞机了. 如果出现“Disconnected”或一直是“Connecting”的话就需要去排除错误了: 接收器IP地址和端口是否填写正确, 接收器和树莓派的防火墙是否关闭等.

本文章未经允许不可转载. 在分享雷达数据前请先查阅当地的法律规定.

Digiprove sealCopyright secured by Digiprove © 2020-2023 Never.