1034 文字
5 分

Raspberry Pi 4 + Debian 13 (Trixie) で RTL-SDR を使った ADS-B 受信局を構築して Flightradar24 にフィードした記録

航空機のリアルタイム追跡サービス「Flightradar24」に自作の受信機からデータをフィードすると、Contributor プランが無料で提供されます(Business Plan と同等の機能が使えます)。今回は、最新の Debian 13 (Trixie) 環境で RTL-SDR ドングルを使い、基地局(RJTT2257)を立ち上げた際の技術ログをまとめます。公式スクリプトが Cloudflare に弾かれ、最新の署名ポリシーがレガシーを拒絶するケースへの対処が必要でした。

1. 動作環境と構成#

今回のスタックは以下の通りです。

  • SBC: Raspberry Pi 4 Model B (4GB)
  • OS: Debian GNU/Linux 13 (trixie) aarch64
  • SDR: RTL2832U + R820T2
  • Software: readsb (Decoder) + fr24feed (Feeder)

RTL-SDR ドングルは AliExpress で数百円から購入できます。今回使用した RTL2832U + R820T2 チップセットのものが 1090MHz の ADS-B 受信に適しています。

AliExpress で購入できる RTL-SDR ドングル

公式のオールインワン・インストーラーに頼らず、デコーダーとフィーダーを疎結合にする構成を採用しました。これにより、SDRから上がってくる Raw データを 30005 ポート(Beast形式)で一旦受け、そこから各サービスに分配する拡張性を持たせています。

2. 最初の壁:Cloudflare の 403 Forbidden#

構築を開始して早々、get.flightradar24.com からのスクリプト取得が WAF(恐らく Cloudflare)に弾かれ、403 Forbidden が返される事態に遭遇しました。多くのエンジニアがここで躓きますが、これは wgetcurl のデフォルト User-Agent が Bot と判定されているためです。

解決策:User-Agent の偽装 ブラウザ(Chrome等)の文字列を模倣することで、セキュリティフィルタをパスします。

curl -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" [URL]

このワンクッションを入れることで、リポジトリ署名キー(.pub)の取得に成功しました。

3. 次の壁:Debian 13 (Trixie) の厳格なセキュリティポリシー#

Debian 13 (Trixie) では、2026年以降のポリシーとして SHA1 署名を用いたリポジトリが apt update で拒絶されます。FR24 の公式リポジトリは依然として古い署名形式を使用しているため、そのままではインストールが不可能です。

解決策:[trusted=yes] による強制バイパス /etc/apt/sources.list.d/fr24feed.list の定義に [trusted=yes] を追記し、パッケージの署名検証を明示的にスキップさせることで解決しました。

deb [trusted=yes] https://repo-feed.flightradar24.com flightradar24 raspberrypi-stable

4. 最後の壁:libssl1.1 の依存関係崩壊#

fr24feed バイナリは古い libssl1.1 を要求しますが、Trixie 環境では libssl3 が標準であり、旧版ライブラリがリポジトリから削除されています。

解決策:旧版 deb パッケージの直接導入 Ubuntu 20.04 等のアーカイブから libssl1.1 の aarch64 用 deb パッケージを取得し、dpkg -i で無理やり流し込むことでバイナリのリンクエラーを解消しました。

5. フィーダー設定と運用ステータス#

/etc/fr24feed.ini では、readsb が開放している 127.0.0.1<30005> に接続するよう beast-tcp 形式で指定します。

港区・浜松町付近(RJTT周辺)に設置した結果、btop での観測では CPU 使用率 3% 前後、温度 42°C という超低負荷で安定稼働。深夜帯でも羽田のアプローチ機を確実にトラッキングし、サーバーとの同期結果を示す syncing stream result: 1 を吐き出し続けています。

tar1090 のローカル画面では、受信した航空機の位置がリアルタイムに描画されます。

tar1090 のリアルタイム受信画面

Flightradar24 の統計ページでは、受信機ごとの受信機数・距離・機数などの実績が確認できます。

Flightradar24 の統計ページ

データのフィードを継続することで Contributor として認定され、Business Plan 相当の機能が利用できるようになります。

Flightradar24 の Contributor 表示

結び#

最新 OS での構築は依存関係の問題が連続しましたが、一つずつ解きほぐすことで稼働にこぎつけました。現在は RJTT2257 という局 ID で世界中の航空ファンにデータを提供しています。

次は JE1WFV(アマチュア無線)としての知見を活かし、1090MHz 専用のバンドパスフィルタを自作して S/N 比を追い込み、受信距離の限界に挑戦する予定です。

Raspberry Pi 4 + Debian 13 (Trixie) で RTL-SDR を使った ADS-B 受信局を構築して Flightradar24 にフィードした記録
https://blog.teraren.com/posts/2026-04-01-airband/
作者
Yuki Matsukura
公開日
2026-04-01
ライセンス
CC BY-NC-SA 4.0
この記事が役に立ったら
GitHub Sponsorsで応援できます

コメント