이전에 설치해둔 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가 더 낮은 제품으로 교체 예정.
아래는 기록용으로 적어두는 FlightAware + Flightradar24 피딩을 동시에 하기 위한 ADS-B 셋업 방법 정리.
참고로 라즈베리파이가 아닌 다른 하드웨어를 쓰는 것은 정신건강에 좋지 않다. 일단 Flightradar24 클라이언트는 윈도우를 공식적으로 지원하지 않는다. 리눅스를 설치해 쓰더라도 Flightradar24에서 제공하는 Dump1090은 ARM용 바이너리만 있어서 x86을 쓰려면 Dump1090을 직접 빌드하거나 Dump1090-mutability를 써야 하는데, 이 서비스와 fr24feed와의 연결을 별도로 설정해줘야 하기 때문에 몹시 귀찮다. 라즈베리파이가 전력도 적게 먹고 성능도 충분하니 없다면 하나 사는 것을 권장한다.
업데이트 내역
– PiAware 버전을
6.17.17.2로 수정– Plane Finder Client 버전을 5.0.161 로 수정
- 기본적인 라즈베리파이 셋업 및 Raspbian 설치, 그리고 네트워크 연결까지는 모두 끝났다고 가정한다. 이 포스트는 Raspberry Pi 2 이상의 버전과 USB로 연결되는 RTL-SDR (R820T 또는 FC0013 튜너를 내장한 제품을 권장한다. 경험상 R820T(2) 튜너가 훨씬 성능이 좋다.) 을 사용한다는 가정 하에 작성하였다.
-
FlightAware 소프트웨어인 PiAware를 설치한다.
wget https://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_7.2_all.deb
sudo dpkg -i piaware-repository_7.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
-
USB로 RTL-SDR의 데이터를 받아 ADS-B 데이터로 디코딩해주는 소프트웨어인 Dump1090의 FlightAware 버전을 설치한다.
sudo apt install dump1090-fa
sudo reboot
-
PiAware Claim 페이지에 들어가 본인의 PiAware가 잘 셋업되었는지 확인한다. 반드시 라즈베리파이와 같은 네트워크에서 해당 페이지에 접속해야 한다.
-
Flightradar24 피더 소프트웨어를 설치한다. Dump1090을 앞서 설치했기 때문에 Dump1090은 기존에 돌아가는 서비스에 물리면 된다. 안내에 따라 정보를 입력하면 설치 과정에서 Flightradar24 소프트웨어가 자동으로 기존에 설치된 PiAware를 인식하고 적절히 설정해줄 것이다. 설치 과정에서 Flightradar24 계정 정보와 수신기의 위치를 입력하면 계정에 바로 등록된다.
sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
-
Plane Finder 클라이언트를 다운로드하고 설치한다.
cd ~
wget http://client.planefinder.net/pfclient_5.0.161_armhf.deb
sudo dpkg -i pfclient_5.0.161_armhf.deb
rm pfclient_5.0.161_armhf.deb
-
라즈베리파이로 http://127.0.0.1:30053 에 접속해 Plane Finder 클라이언트를 설정한다. 이 때 수신기 연결 방법은 Mode S Beast로 설정하고, IP는 127.0.0.1, port는 30005로 설정한다.
- 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
- RadarBox 서비스를 시작한다. 처음 RadarBox 서비스를 시작하면 자동으로 새로운 station으로 등록되고 키가 발급된다.
sudo systemctl start rbfeeder
- RadarBox 키를 확인한다. 만약 ‘Your sharing key is not set or is not valid’라는 메시지가 뜬다면 10초정도 기다렸다가 다시 확인해 보면 된다.
sudo rbfeeder --showkey --no-start
-
RadarBox claim 페이지에서 확인한 키로 라즈베리파이를 등록한다.
-
설치가 끝났으면 라즈베리파이를 부팅할 때 모든 서비스가 자동으로 실행되도록 systemctl에서 활성화하고 재부팅한다.
sudo systemctl enable dump1090-fa
sudo systemctl enable fr24feed
sudo systemctl enable pfclient
sudo systemctl enable rbfeeder
sudo reboot
-
상태를 체크하려면
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 데이터 수신 상태를 확인할 수 있다.