HOME ADS-B STATION
Flightradar24をRTL-SDRとラズパイZeroでお得に使う
RECEIVE. SHARE. TRACK.
手のひらサイズの受信局を、24時間動かす。
RTL-SDRで航空機のADS-B信号を受信し、Raspberry Pi ZeroからFlightradar24へ共有。空を眺める趣味が、世界の航空機追跡ネットワークにつながります。
わが家のADS-B受信構成
サーバーにはRaspberry Pi Zeroを使っています。ディスプレイやキーボードは接続せず、Wi-FiとSSHで管理するヘッドレス運用です。RTL-SDRとアンテナを挿し、受信したデータだけをFlightradar24へ送り続けます。
| サーバー | Raspberry Pi Zero。既存環境を軽量構成で24時間稼働。 |
|---|---|
| 受信機 | RTL-SDR(RTL2832U系)。1090MHzを受信できる製品。 |
| アンテナ | 1090MHz対応アンテナ。屋外または窓際の高い場所が有利。 |
| ストレージ | microSDカード。ログの書き込みを抑え、定期的にバックアップ。 |
| ネットワーク | Wi-Fi。常時共有するなら安定性が重要。 |
| 管理 | SSHとFR24FEEDのローカルWeb画面。 |
新しく作るならPi Zeroは公式推奨外
現在のFlightradar24公式「Build your own」ページは、Pi24についてRaspberry Pi 3B+以降を対応機種としています。私のPi Zeroは、すでに構築した軽量な受信・転送環境を動かしている実例です。
これから公式Pi24イメージで新規構築するなら3B+以降、消費電力を抑えたいならZero 2 Wを含めて対応状況を確認するのが安全です。初代Zeroでの最新Pi24の動作を保証するものではありません。
ADS-Bを共有すると、なぜお得なのか
Flightradar24は世界各地の受信局から送られるADS-B/Mode Sデータなどを組み合わせて航空機を表示しています。自分の受信局からリアルタイムデータを提供すると、現在は無料のContributorプランが付与されます。
有料機能相当を無料で使える
広告なし表示、長い履歴、詳しい機体情報、フィルターなど、60以上のプレミアム機能を利用・評価できる案内になっています。
自分の受信実績が見える
「My data sharing」で、受信した航空機数、位置数、最大到達距離、稼働状態を確認できます。
スマホでも同じ特典
同じアカウントでWeb、iOS、Androidから利用できます。外出先でも広告の少ない地図を確認できます。
地域のカバー範囲に貢献
既存局から見えにくい低高度や地形の陰を補える場合があります。自宅受信が世界の地図の一部になります。
古い資料では無料の「Businessプラン」と表記されていますが、現在の公式ページは「Contributorプラン」と案内しています。名称や利用できる機能は今後変更される可能性があります。API利用権が含まれるわけではありません。
既存のRaspberry PiへFR24FEEDを導入する
すでにRTL-SDRでADS-Bを受信できるRaspberry Piがある場合、公式ページではSSHで次のインストーラーを実行する方法が案内されています。
wget -qO- https://fr24.com/install.sh | sudo bash -s
インターネットから取得したスクリプトを管理者権限で実行するコマンドです。実行前にURLが公式の fr24.com であることと、重要な設定のバックアップを確認してください。
無料アカウントを作る
Flightradar24の無料アカウントを作成します。受信局登録にも同じメールアドレスを使います。
アンテナとRTL-SDRを接続する
1090MHz対応アンテナをRTL-SDRへ接続し、Pi ZeroのUSB OTGへ挿します。電力不足なら電源やUSBハブを見直します。
公式インストーラーを実行する
SSHでログインして上記コマンドを実行。メールアドレス、アンテナ位置、受信方式などの質問に答えます。
緯度・経度・標高を設定する
MLATや受信局の位置計算に使われます。第三者へ公開したくないほど細かな住所情報は記事やSNSへ載せません。
送信状態を確認する
同一LANのブラウザで http://ラズパイのIPアドレス:8754 を開き、FR24 Link、Receiver、Aircraft Seenを確認します。
アカウント特典を確認する
データが届き始めた後、同じメールアドレスで再ログインします。「My data sharing」でオンライン状態と統計を確認します。
コマンドベースの環境構築手順書
以下は、初代Raspberry Pi ZeroにRaspberry Pi OS Lite 32bitを入れ、RTL-SDRをFR24FEEDから直接使う場合の手順です。最新の公式Pi24イメージではなく、既存のPi Zeroを生かすための手動構築例です。コマンドは上から順番に実行します。
0. Raspberry Pi ImagerでmicroSDを準備
パソコンのRaspberry Pi Imagerで「Raspberry Pi OS Lite(32-bit)」を選びます。詳細設定でホスト名、ユーザー名、Wi-Fi、SSHを設定してください。パスワードやWi-Fiキーを記事中のコマンドへ直接書く必要はありません。
armv6lの初代Zeroに64bit OSは使いません。Zero 2 WやPi 3以降とはCPUアーキテクチャが異なります。1. SSHで接続して機種とOSを確認
ssh ユーザー名@ホスト名.local
uname -m
dpkg --print-architecture
cat /etc/os-release
cat /proc/device-tree/model; echo
初代Pi Zeroなら、通常は armv6l と armhf が表示されます。ここで64bitの arm64 が出ている場合は、使っているPiのモデルとOSをもう一度確認します。
2. OSを更新して必要なツールを入れる
sudo apt update
sudo apt full-upgrade -y
sudo apt install -y ca-certificates curl wget usbutils
sudo timedatectl set-timezone Asia/Tokyo
sudo reboot
再起動でSSH接続はいったん切れます。1〜2分待ってから再接続します。初代Zeroは更新に時間がかかるため、処理中に電源を抜かないでください。
3. RTL-SDRがUSB機器として見えるか確認
lsusb
dmesg --color=always | tail -n 40
lsusbにRTL2832U系のデバイスが表示されれば、まずUSB接続は成功です。何も出ない場合は、OTGではない充電専用ケーブル、電力不足、USB変換アダプターの相性を確認します。
4. 公式インストーラーでFR24FEEDを入れる
wget -qO- https://fr24.com/install.sh | sudo bash -s
これはFlightradar24公式サイトが案内しているコマンドです。実行時にOSのパッケージ追加とFR24FEEDの導入が行われます。取得元が必ず https://fr24.com/install.sh になっていることを確認してください。
5. 登録ウィザードを実行
インストール中に登録が始まらなかった場合、次を実行します。
sudo fr24feed --signup
ウィザードでは次の情報を入力します。
| メールアドレス | Flightradar24無料アカウントと同じもの。 |
|---|---|
| Sharing key | 初回は空欄。既存キーがある場合だけ入力します。キーは公開しません。 |
| 緯度・経度 | アンテナ位置。画面の指定桁数に合わせます。 |
| 標高 | アンテナ位置の標高。ウィザードが指定する単位を確認します。 |
| Receiver | RTL-SDRを直接使うなら「DVBT Stick (USB)」。 |
| RAW/SBS出力 | 他のソフトで使わなければNo。不要な待受ポートを増やしません。 |
| MLAT | FR24だけへ送る構成なら案内に従って選択。複数サービスへ送る場合はFR24公式の指示どおり無効にします。 |
6. 自動起動を有効にしてサービスを開始
sudo systemctl enable fr24feed
sudo systemctl restart fr24feed
systemctl is-enabled fr24feed
systemctl is-active fr24feed
enabled と active が出れば、自動起動と現在の動作は有効です。再起動直後は統計が揃うまで数分かかります。
7. 受信・送信状態を確認
fr24feed-status
sudo systemctl status fr24feed --no-pager
sudo journalctl -u fr24feed -n 50 --no-pager
fr24feed-statusで次を確認します。
- FR24 Feeder/Decoder Process: running
- FR24 Link: connected
- Receiver: connected
- Tracked ACが航空機通過時に0以外になる
MLATを無効にした構成では、MLATが動いていない表示だけで失敗と判断する必要はありません。
8. Raspberry PiのIPアドレスと管理画面を確認
hostname -I
ss -lnt | grep 8754
同じ家庭内LANのパソコンやスマートフォンで、次のURLを開きます。
http://ラズパイのIPアドレス:8754/この画面をインターネットへ公開する必要はありません。ルーターで8754番ポートを開放しないでください。
9. 設定ファイルをバックアップ
sudo cp -a /etc/fr24feed.ini \
"/etc/fr24feed.ini.backup.$(date +%Y%m%d-%H%M%S)"
sudo ls -l /etc/fr24feed.ini*
/etc/fr24feed.iniにはSharing keyや位置情報が含まれる可能性があります。内容をブログ、SNS、質問サイトへそのまま貼らないでください。
10. 再起動試験
sudo reboot再接続後に確認します。
systemctl is-active fr24feed
fr24feed-statusここまで通れば、電源復旧後も自動的に受信と共有を再開できる構成です。
うまく動かないときの確認コマンド
| RTL-SDRが見えない | lsusbdmesg | tail -n 60 |
|---|---|
| サービスが停止 | sudo systemctl restart fr24feedsudo systemctl status fr24feed --no-pager |
| 直前のエラー | sudo journalctl -u fr24feed -n 100 --no-pager |
| ネット接続 | ping -c 3 flightradar24.comip route |
| 電圧低下・発熱 | vcgencmd get_throttledvcgencmd measure_temp |
| プロセス重複 | pgrep -a fr24feedpgrep -a dump1090 |
vcgencmd get_throttledが 0x0 なら、現在および起動後に検出された低電圧・温度制限フラグはありません。それ以外の場合は電源アダプター、USBケーブル、放熱を確認します。
設定をやり直す場合
まず /etc/fr24feed.ini をバックアップし、その後に sudo fr24feed --signup を再実行します。Sharing keyをコマンドラインへ直接書くとシェル履歴へ残るため、対話式ウィザードで入力するほうが安全です。
受信方式の選び方
| RTL-SDRを直接使う | FR24FEED側でDVB-T/RTL-SDRを選ぶ簡単な構成。1本のドングルをFR24専用にする場合に向きます。 |
|---|---|
| 既存デコーダーへ接続 | dump1090系がすでに動いている場合は、そのネットワーク出力をFR24FEEDへ渡します。ポート番号とデータ形式は使っているデコーダーの設定に合わせます。 |
他の航空機追跡サービスへも同じ受信データを送る場合、Flightradar24公式ページはFR24側のMLATを無効にするよう案内しています。設定例は mlat="no" と mlat-without-gps="no" です。ADS-Bの共有とMLATの扱いは別なので、併用先の説明も確認してください。
Pi Zeroで安定運用するポイント
- 発熱を逃がす:RTL-SDRは連続受信で熱を持ちます。密閉せず、直射日光を避けます。
- 電源を安定させる:電圧降下や粗悪なUSBケーブルは受信停止やmicroSD破損の原因になります。
- ログを増やしすぎない:microSDへの書き込みを減らし、突然死に備えてイメージを保存します。
- 自動再起動を確認:停電復旧後に受信デコーダーとFR24FEEDが自動起動する状態にします。
- 管理画面を外へ公開しない:8754番の画面はLAN内だけで使い、ルーターでポート開放しません。
- 更新前にバックアップ:初代Zeroは新しいイメージの対象外になり得るため、動作中のSDカードを複製してから更新します。
受信距離はアンテナの高さで決まる
ADS-Bの1090MHzは、基本的に見通しのよい場所ほど遠くまで届きます。高価な受信機へ交換する前に、アンテナを窓際から屋外へ、低い場所から高い場所へ移すほうが効果を感じやすいことがあります。
- 1090MHz専用または対応アンテナを使う
- アンテナを金属製の障害物やWi-Fi機器から離す
- 同軸ケーブルを必要以上に長くしない
- 屋外設置は防水、落雷、接地、安全な固定を優先する
- 変更前後で「My data sharing」の最大距離と位置数を比較する
公式ページには最大200〜400マイルという表現がありますが、これは良好な条件での目安です。住宅地の室内アンテナで同じ距離が出るとは限りません。
電気代は月数十円程度から
Pi ZeroとRTL-SDRの合計消費電力を仮に2Wとすると、24時間×30日で月1.44kWhです。電力量単価が31円/kWhなら約45円になります。
消費電力(W) ÷ 1000 × 24時間 × 30日 × 電力量単価
実際の消費電力と料金単価は電源、USB機器、契約によって変わります。USB電力計で測ると、Contributorプランの特典と維持費を自分の条件で比較できます。
AMAZON AFFILIATE
記事で使うRTL-SDRをAmazonで確認
購入前に1090MHz対応、アンテナ端子、付属アンテナ、Pi Zeroへ接続するUSB変換方法を確認してください。
指定のRTL-SDR商品を見る Amazonで関連製品を探す受信するだけなので無線免許は不要
RTL-SDRはこの構成では電波を送信せず、航空機からのADS-Bを受信します。ただし、アンテナ設置では建物の管理規約、落下防止、避雷を守ります。受信データはリアルタイムの位置情報です。Flightradar24の規約に従い、遅延・改変・捏造したデータを送ってはいけません。
まとめ
余っているRaspberry Pi ZeroとRTL-SDRがあれば、小さなADS-B受信局として24時間動かせます。Flightradar24へデータを共有すると、現在はContributorプランが無料で付与されるため、少ない電気代でプレミアム機能を使えるのが大きな魅力です。
ただし、最新Pi24の公式対応は3B+以降です。動いているZeroは大切にバックアップし、新規構築では公式対応機を選ぶ。受信性能はアンテナの高さから改善する。この2点を押さえると、無理のない長期運用ができます。