Haberleşme

RTL-SDR ile Flightradar24’e ADS-B Verisi Göndermek

RTL-SDR ile Flightradar24’e ADS-B Verisi Göndermek

Raspberry Pi 5 Üzerinde Docker ile Ultrafeeder + FR24feed ADS-B İstasyonu Kurulumum

Bu hafta sonu kendi Raspberry Pi 5 cihazımı kullanarak, RTL-SDR Blog V4 tuner ile Flightradar24'e gerçek zamanlı ADS-B verisi gönderen tam teşekküllü bir istasyon kurdum. Tüm mimariyi modern bir yaklaşımla Docker üzerinde inşa ettim ve burada sizlere adım adım kurulumun teknik detaylarını, karşılaştığım sorunları ve çözümleri açıklıyorum.


1. Donanım

Kullandığım donanım:

  • Raspberry Pi 5 (NVMe üzerinden çalışıyor)
  • RTL-SDR Blog V4 dongle
  • 1090 MHz ADS-B anten
  • Debian Bookworm tabanlı Raspberry Pi OS

Önce cihazın USB üzerinden tuner’i doğru gördüğünü doğruladım:

lsusb

Çıktıda RTL2838 tuner görünüyordu:

Bus 001 Device 002: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Daha sonra Docker konteyneri içinden tuner testi yaptım:

sudo docker exec -it ultrafeeder rtl_test -t

RTL-SDR Blog V4 düzgün algılandı ve gain tabloları doğrulandı.


GitHub - sdr-enthusiasts/docker-flightradar24: Multi-architecture docker container (arm32v7/arm64/x86_64) running flightradar24 fr24feed. Designed to work in tandem with https://sdr-e.com/docker-adsb-ultrafeeder
Multi-architecture docker container (arm32v7/arm64/x86_64) running flightradar24 fr24feed. Designed to work in tandem with https://sdr-e.com/docker-adsb-ultrafeeder - sdr-enthusiasts/docker-flightr…

2. Ultrafeeder + FR24feed Mimarisini Hazırlamam

Kullandığım yapı iki Docker servisi içeriyor:

Ultrafeeder: SDR cihazını yönetiyor, readsb çalıştırıyor, Beast TCP verisini üretiyor.

FR24feed: Ultrafeeder’dan veri alıp Flightradar24’e iletiyor.

Kullandığım docker-compose.yml dosyam:

version: '3.8'

services:
  ultrafeeder:
    container_name: ultrafeeder
    image: ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest
    devices:
      - /dev/bus/usb:/dev/bus/usb
    ports:
      - "8081:8081"
    restart: unless-stopped

  fr24feed:
    container_name: fr24feed
    image: ghcr.io/sdr-enthusiasts/docker-fr24feed:latest
    environment:
      - RECEIVER=beast-tcp
      - HOST=ultrafeeder:30005
      - FR24KEY=xxxxxxxxxxx
    ports:
      - "8754:8754"
    restart: unless-stopped

Kurulum:

sudo docker compose up -d

3. Yaşadığım Container Çakışması ve Çözümüm

İlk denemede şu hata çıktı:

Error: container name "ultrafeeder" is already in use

Çözüm:

sudo docker stop ultrafeeder
sudo docker rm ultrafeeder
sudo docker compose up -d

Bundan sonra Ultrafeeder sorunsuz başladı ve RTL-SDR cihazı doğru şekilde bağlandı.


4. Servisler Arası Bağlantıyı Test Etmem

FR24feed konteynerinin Ultrafeeder’a ulaşıp ulaşamadığını netcat ile test ettim:

sudo docker exec -it fr24feed bash -c "nc -vz ultrafeeder 30005"

Başarılı bağlantı çıktısı şuydu:

Connected to 172.18.0.2:30005

5. FR24feed Durumu ve Web Arayüzünü Kontrol Etmem

FR24 web arayüzüne şu adres üzerinden ulaşıyorum:

http://RASPBERRY_PI_IP:8754

Arayüzde sistem şu şekilde görünüyordu:

  • FR24 Link: Connected via UDP
  • Radar Code: T-LTAI9
  • Receiver: beast-tcp, Connected
  • Aircraft Tracked / Uploaded: Görünmeye başladı

FR24feed günlüklerinde bağlantı onayı:

[feed][n]connected via UDP
[reader][i]Connected to the receiver, configuring

6. Tar1090 Arayüzü ve Mesaj Akışını Kontrol Etmem

Ultrafeeder üzerinde tar1090 arayüzüne şu adres ile ulaşıyorum:

http://RASPBERRY_PI_IP:8081

Ek olarak loglardan servislerin durumunu denetliyorum:

sudo docker logs ultrafeeder | grep -i message

readsb, mlathub, adsbx-stats, autogain gibi tüm servislerin çalıştığını doğruladım.


7. FR24 Premium (Contributor) Planının Aktive Olması

Flightradar24 politikası gereği, veri göndermeye başladığınızda hesabınız otomatik olarak Contributor planına yükseliyor. Benim radar kodum T-LTAI9 olduğu için sistem verileri aldıktan kısa süre sonra aktive edildi.

Bu süreç normalde 15–60 dakika arasında sürüyor. Bende yaklaşık yarım saat sonra aktif oldu. Veri akışını durdurunca 7 gün içerisinde tekrar free pakete düşürüyorlar.


8. RTL-SDR Cihazının 7/24 Çalışma Durumu

RTL-SDR Blog V4 cihazı 7/24 çalışmaya uygun. Isı stabil kalıyor, hatalı bir durum yaşanmıyor. Docker servislerini durdurduğunuzda SDR cihazı da pasif moda geçiyor, risk oluşturmuyor.


9. Docker Servislerini Durdurma ve Yeniden Başlatma

Durdurmak için:

sudo docker stop ultrafeeder fr24feed

Tekrar başlatmak için:

sudo docker start ultrafeeder fr24feed

Tamamen silmek için:

sudo docker compose down

Baştan oluşturmak için:

sudo docker compose up -d

Sonuç

Bu çalışma sonucunda Raspberry Pi 5 üzerinde güçlü, kararlı ve tamamen Docker tabanlı bir ADS-B istasyonu kurmuş oldum. RTL-SDR Blog V4 ile birlikte Ultrafeeder, tar1090 ve FR24feed, tam teknisyen seviyesinde bir uçuş takip sistemi oluşturuyor. Hem Flightradar24’e gerçek zamanlı veri gönderiyorum hem de yerel ağ üzerinde detaylı radar görselleştirmesi sağlıyorum.

Bu sistemi genişletmek isterseniz MLAT, ADSBx dağıtımı veya dump978 desteği gibi ek özellikleri de entegre edebilirsiniz.

Paylaş: