ADS-B 리시버 하드웨어 변경 및 셋업 방법 정리

이전에 설치해둔 ADS-B 리시버 하드웨어가 소프트웨어 문제로 나간 지 좀 되었는데, 귀찮아서 정비를 몇 달간 미루다가 드디어 보완을 좀 했다.

 

안테나를 ADS-B 1090MHz Mode S용 PCB 안테나로 바꾸고, 1090MHz Band-pass (hairpin 타입) 필터를 추가했다. SPF5189Z칩 기반 LNA(Low-noise Amplifier)도 추가했다. 안테나 – LNA – BPF – RTL-SDR로 연결시켰다.

원래는 라즈베리파이 4 4GB버전에서 돌아가고 있었는데 아까워서 라즈베리파이 3 B+로 바꿈. 사실 라즈베리파이 2정도만 해도 성능은 충분하다.

 

안테나도 기존보다 좀 덜 가려지게 재설치. 금속 캐비넷과 간섭이 좀 있을 것 같긴 한데 어차피 안테나는 오래 안 지나서 바꿀 생각이라 대충 테이프로 고정했다.

 

결과는?

99NM, 180km이 넘는 수신거리가 나온다! 이전에 LNA나 필터 없이 굴릴 때 수신거리가 30-50NM정도에 불과했던 것에 비하면 엄청나게 좋아졌다. 하지만 여전히 FlightAware에서 판매하는 FlightFeeder의 수신거리인 300-500km에는 미치지 못한다. RSSI를 보니 신호의 다이나믹 레인지 자체는 괜찮아 보이는데… 일단 도심지여서 잡음이 심하다는 가정을 하고 추후 필터 등을 추가해 볼 생각이다. 안테나로부터 불과 수 킬로미터 떨어진 곳에 관악산 송신소가 있는 데다가, 1090MHz에서 그리 멀지 않은 950MHz대역은 KT가 LTE용으로 사용하고 있다. 필터의 Bandwidth가 충분히 좁고 attenuation이 강하지 않다면 충분히 간섭이 생길 수 있을 듯하다.

테스트해 보면서 필요에 따라 LNA도 추가하거나 Noise Figure가 더 낮은 제품으로 교체 예정.

 

ADS-B 피드 소프트웨어 설치 및 설정 방법

아래는 기록용으로 적어두는 FlightAware + Flightradar24 + RadarBox 피딩을 동시에 하기 위한 ADS-B 셋업 방법 정리.

참고로 라즈베리파이가 아닌 다른 하드웨어를 쓰는 것은 정신건강에 좋지 않다. 일단 Flightradar24 클라이언트는 윈도우를 공식적으로 지원하지 않는다. 리눅스를 설치해 쓰더라도 Flightradar24에서 제공하는 Dump1090은 ARM용 바이너리만 있어서 x86을 쓰려면 Dump1090을 직접 빌드하거나 Dump1090-mutability를 써야 하는데, 이 서비스와 fr24feed와의 연결을 별도로 설정해줘야 하기 때문에 몹시 귀찮다. 라즈베리파이가 전력도 적게 먹고 성능도 충분하니 없다면 하나 사는 것을 권장한다.

업데이트 내역

– PiAware 버전을 6.1 7.1 7.2 FlightAware repository로 수정

– Plane Finder Client 버전을 5.0.161 5.3.2 로 수정

– AirNav Radar 설치 방법 추가

– OpenSky Network 설치 방법 추가

– ADS-B Exchange 설치 방법 추가

– adsb.fi 설치 방법 추가

 

 

  • 기본적인 라즈베리파이 셋업 및 Raspbian 설치, 그리고 네트워크 연결까지는 모두 끝났다고 가정한다. 이 포스트는 Raspberry Pi 2 이상의 버전과 USB로 연결되는 RTL-SDR (R820T 또는 FC0013 튜너를 내장한 제품을 권장한다. 경험상 R820T(2) 튜너가 훨씬 성능이 좋다.) 을 사용한다는 가정 하에 작성하였다.
  • 2025년 기준, R820T 튜너는 단종되었고, R820T2도 단종 수순이다. 해당 칩셋은 후속인 R860으로 대체되었으나 재고가 불안정하다. 유사한 튜너인 R828D를 사용한 제품도 있으나 ADS-B 수신 성능은 R820T/R860 계열에 비해 좋지 않다.

 

FlightAware 서비스 설치

  1. FlightAware 소프트웨어인 PiAware를 설치한다.
    wget https://www.flightaware.com/adsb/piaware/files/packages/pool/piaware/f/flightaware-apt-repository/flightaware-apt-repository_1.2_all.deb
    sudo dpkg -i flightaware-apt-repository_1.2_all.deb
    sudo apt update
    sudo apt install -y piaware
    sudo piaware-config allow-auto-updates yes
    sudo piaware-config allow-manual-updates yes
  2. USB로 RTL-SDR의 데이터를 받아 ADS-B 데이터로 디코딩해주는 소프트웨어인 Dump1090의 FlightAware 버전을 설치한다.
    sudo apt install dump1090-fa
    sudo reboot
  3. PiAware Claim 페이지에 들어가 본인의 PiAware가 잘 셋업되었는지 확인한다. 반드시 라즈베리파이와 같은 네트워크에서 해당 페이지에 접속해야 한다.

Flightradar24 서비스 설치

  1. Flightradar24 피더 소프트웨어를 설치한다. Dump1090을 앞서 설치했기 때문에 Dump1090은 기존에 돌아가는 서비스에 물리면 된다. 안내에 따라 정보를 입력하면 설치 과정에서 Flightradar24 소프트웨어가 자동으로 기존에 설치된 PiAware를 인식하고 적절히 설정해줄 것이다. 설치 과정에서 Flightradar24 계정 정보와 수신기의 위치를 입력하면 계정에 바로 등록된다.
    sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"

Plane Finder 서비스 설치

  1. Plane Finder 클라이언트를 다운로드하고 설치한다.
    cd ~
    arch=$(dpkg --print-architecture)
    wget http://client.planefinder.net/pfclient_5.3.2_$arch.deb
    sudo dpkg -i pfclient_5.3.2_$arch.deb
    rm pfclient_5.3.2_$arch.deb
  2. 라즈베리파이로 http://127.0.0.1:30053 에 접속해 Plane Finder 클라이언트를 설정한다. 이 때 수신기 연결 방법은 Mode S Beast로 설정하고, IP는 127.0.0.1, port는 30005로 설정한다.

 

AirNav Radar (구 RadarBox) 클라이언트 설치

    1. RadarBox 클라이언트를 아래와 같이 설치한다. 중간에 dump978-rb를 설치할 것인지 묻는데, 한국에서는 필요없는 기능이므로 설치하지 않아도 된다.

sudo bash -c "$(wget -O - http://apt.rb24.com/inst_rbfeeder.sh)"
sudo rbfeeder --set-network-mode on --set-network-host 127.0.0.1 --set-network-port 30005 --set-network-protocol beast --no-start
sudo apt install mlat-client -y

    1. RadarBox 서비스를 시작한다. 처음 RadarBox 서비스를 시작하면 자동으로 새로운 station으로 등록되고 키가 발급된다.

sudo systemctl start rbfeeder

    1. RadarBox 키를 확인한다. 만약 ‘Your sharing key is not set or is not valid’라는 메시지가 뜬다면 10초정도 기다렸다가 다시 확인해 보면 된다.

sudo rbfeeder --showkey --no-start

  1. RadarBox claim 페이지에서 확인한 키로 라즈베리파이를 등록한다.

 

OpenSky Network 설치

  1. 사이트에서 회원가입한다.
  2. 아래 순서로 설치를 진행하고, 안내에 따라 설정한다. 안내에 따라 위경도 및 고도를 입력하고, dump1090은 이미 설치했을 것이므로 넘겨도 된다. 다음으로 사이트 아이디를 입력하고, 포트 번호는 30005(기본값), 호스트는 localhost(기본값)로 설정한다.

sudo apt-get install apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/opensky.gpg https://opensky-network.org/files/firmware/opensky.gpg.pub
sudo bash -c "echo deb https://opensky-network.org/repos/debian opensky custom > /etc/apt/sources.list.d/opensky.list"
sudo apt-get update
sudo apt-get install opensky-feeder

 

ADS-B Exchange 설치

  • 참고로 이 사이트는 원래 비영리 단체였으나 2023년 영리 법인에 매각되었다.
  1. 다음 코드로 스크립트를 설치한다. 스크립트 내용을 보면 알 수 있는 것이, 이 사이트에서는 특정 daemon이나 전용 프로그램을 사용하는 것이 아닌, dump1090에서 출력되는 Mode-S Beast 데이터를 nc를 통해 TCP 소켓으로 그대로 전송한다. 때문에 네트워크 환경이나 다른 변수에 따라 설정이 다소 까다로울 수 있다.

curl -L -o /tmp/axfeed.sh https://www.adsbexchange.com/feed.sh
sudo bash /tmp/axfeed.sh

adsb.fi 설치

  • ADS-B Exchange의 매각 후 비영리 법인으로서의 운영을 지속하고자 만들어진 서비스이다.
  1. 다음 코드로 스크립트를 설치한다. 이 사이트의 클라이언트는 readsb를 컴파일 설치하기 때문에 운영체제 호환성이 대단히 좋다.

curl -L -o /tmp/feed.sh https://adsb.fi/feed.sh
sudo bash /tmp/feed.sh

다른 서비스들

대부분 ADS-B Exchange의 매각 이후 등장한 서비스들로, 유사하게 Mode-S 신호를 대부분 nc를 통해 그대로 서버로 전송하여 모은 뒤 tar1090 기반의 웹 인터페이스에서 보여준다.
ADSB.lol
airplanes.live
Planespotters.net: 꽤나 오래된 항공기 사진 공유 커뮤니티이다.
TheAirTraffic
AvDelphi
plane.watch

설정 확인

  1. 설치가 끝났으면 라즈베리파이를 부팅할 때 모든 서비스가 자동으로 실행되도록 systemctl에서 활성화하고 재부팅한다.
    sudo systemctl enable dump1090-fa
    sudo systemctl enable fr24feed
    sudo systemctl enable pfclient
    sudo systemctl enable rbfeeder
    sudo systemctl enable opensky-feeder
    sudo systemctl enable adsbfi-feeder
    sudo systemctl enable adsbfi-mlat
    sudo reboot
  2. 상태를 체크하려면 fr24feed-status 명령어를 사용하면 된다. 이외에 웹브라우저를 통해 127.0.0.1:8754 (FlightRadar24) 또는 127.0.0.1:8080 (FlightAware), 127.0.0.1:30053 (Plane Finder)로 접속하면 현재 ADS-B Mode-S 데이터 수신 상태를 확인할 수 있다.
Leave a Reply

Your email address will not be published. Required fields are marked *