https://www.ishikawa-lab.com/index.html 石川氏のサイトから
これを実現するために従来は、高度な信号処理プロセッサを用いる必要があり、手が出せませんでしたが、QSTというアマチュア無線の雑誌2013年1月号に、パソコン用のUSBタイプのワンセグTVチューナー(日本の方式とは異なるDVB-T方式)を用いると簡単に実現できることが発表され、一躍世界に広がりました。 Cheap and Easy SDR これはQST 2013年1月号のタイトルです。ドングル(Dongle)とは「コンピューターのUSBポートに接続する小さな装置」を指 すため、もっぱらこのチューナーは「ドングル」と呼ばれます。価格は20ドル前後と手ごろであり、生産は中国、日本でもインターネット通販で安価に手に入ります。 さて、そのソフトウエアラジオでなにを受信するかですが、ADS-B(Automatic Dependent Surveillance-Broadcast)を受信しようと思います。 ADS-Bは航空機から1090MHzの周波数で、航空機識別子、GPSによる現在位置、高度、速度などを含む信号をたえず放送的に発信しており、この情報を地上や航空機間で利用することでより安全に航空機を運用できるようにするものです。近年これに対応したトランスポンダを搭載する航空機が増えてきています。それを受信し、パソコン地図上に仮想レーダのように、航空機を表示しようとするものです。 (2019/07/29更新)
ここではRaspberryPiによるADS-B受信機でFlightradar24に情報をアップし、ボランティアの仲間入りをしたいと思います。 2019年5月、いままで動いていたfr24feedが動かなくなり、RaspberryPiを2台使う新しい方式に変更しました。(2019/07/28)
ドングルのなかをのぞいてみると、キー部品の信号処理LSI Realtek RTL2832U とチューナLSI Rafael Micro R820T がみえます。 一部に、ドングルの製造が雑で、USBの接続が不安定、あるいは周波数がずれているなどの報告がありますが、そのようなことはなく、充分安定に使えました。 なお、デコーダーチップのRTL2832Uを積んだチューナーとSDRソフトを使ったソフトウェア受信をRTL-SDRと呼んでいます。 RaspberryPiでソフトウエアラジオを動かすために必要なソフトを準備します。手順はこちらを参考にしました。 1. 必要なパッケージをインストール $ sudo apt-get update $ sudo apt-get install git $ sudo apt-get install cmake $ sudo apt-get install libusb-1.0-0.dev $ sudo apt-get install build-essential $ sudo apt-get install pkg-config 2. rtl-sdrのソースの取得 つぎに最も重要なソウトウェアラジオ用パッケージであるrtl-sdrを本家からインストールします。 $ git clone git://git.osmocom.org/rtl-sdr.git 3. rtl-sdrをビルド $ cd rtl-sdr $ mkdir build $ cd build $ cmake .. $ make $ sudo make install $ sudo ldconfig $ sudo cp rtl-sdr.rules /etc/udev/rules.d/ 4./etc/modprobe.d/ディレクトリにrtl-tcp-blacklist.confというファイルを下記の内容で作成 $ sudo nano /etc/modprobe.d/rtl-tcp-blacklist.conf
上のようにドングルをRaspberryPiのUSBにさし、つぎの確認を行います。 $ lsusb
$ rtl_test
これでソフトラジオがRaspberryPiで実現できましたので、試しにFMラジオを受信してみます。例えば79.5MHzにチューニングする場合 次のコマンドをRaspberryPiのコマンドラインから入力します。 $ rtl_fm -f 79.5M -M fm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE RaspberryPiのイヤホンジャックにイヤホンをさしこむと、FM埼玉が聞こえます。 1.Windowsパソコン側のSDRソフトのダウンロード
SDRSharpというソフトを使います。Dawnloadsページ
http://sdrsharp.com/index.php/downloads を開きます。 Dawnloadsページの中ほど「Important note for RTL-SDR users」の項目にある、 sdr-install.zip ファイルをダウンロードします。 2.ファイルの解凍とインストール PCがインターネットアクセスできる環境であることを確認し、解凍したフォルダの中の、install.bat をダブルクリックします。自動的にsdrsharpフォルダーが作成され、その中にSDR#の必要なファイル群がインターネット経由でダウンロードされます。ダウンロードが終了し たら、sdrsharpフォルダーを開き、中に、 zadig.exe と SDRSharp.exe が保存されていることを確認します。 3.RaspberryPiで次を実行 $ rtl_tcp -a 0.0.0.0 4.Windows側でSDRSharp.exe を起動すると、次のような画面が現れる Source のプルダウンメニューを RTL-SDR/TCP とし、歯車形のConfigure ボタンをクリック サブウィンドウが現れるので、Hostに、RaspberryPiのIPアドレスを記入し、Port が1234を確認しクローズ Radio のWFM ボタンを指定 一番上の大きな数字に、受信したい放送局の周波数を指定 3角のスタートボタンをクリック 右側のスライダを適宜調整すると、このような画面があらわれます。またパソコンのスピーカから音声が聞こえます。 終了するには、RaspberryPi側でctr-C
1.まずは、 RaspberryPi用の modesdeco2 のダウンロードです。 $ wget https://drive.google.com/open?id=1WhheW-I4_1sb3VUXa9bcs8XEkh9fn_Lh 2.ファイルを展開します $ tar xfz modesdeco2_rpi2-3_deb9_20180729.tgz 3.これでソフトの準備が出来ました。たくさんのパラメータ指定があります。しらべるには $ ./modesdeco2 --help 4. modesdeco2の起動 設置されているサイトの、緯度経度を調べておきます。60進ではなく少数以下4桁まで指定します。そしてつぎのように起動します。 $ ./modesdeco2 --gain 49.6 --avrmlat 30002 --rbs --location 35.xxxx:139.xxxx --web 8080
--avrmlat 30002 はAVR format with MLAT style timestampsで、のちほどつかいます。 4.LANにつながっている、パソコンのブラウザからアドレスを http://192.168.x.xxx:8080/ とすれば、このページのトップのような仮想レーダの画面が映し出されます。
マニュアルによれば、デコードソフトdump1090が自動でインストールされ、以前に比べ格段に簡単になっています。私の場合はうえで構成したModesdeco2(アドレスは192.168.x.xxx)はそのまま生かして、Flightradar24へのフィードだけを、LAN接続された別のRaspberryPi(アドレスは192.168.x.yyy)から行うこととしました。 別のRaspberryPiからつぎのコマンドを実行し、fr24feedをインストールします。 $ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)" 事前準備 1.ADS-B受信機をこのコンピュータに接続するかLAN経由でアクセスできるようにしておくこと 2.アンテナの緯度 アンテナの経度 アンテナの海抜の正確な値を準備(MLATの場合) 3.ただしいメールアドレス 4.このコンピュータですでに fr24feed が動いているならば、停止しておく : sudo systemctl stop fr24feed 次のコマンドで設定していく $ fr24feed --signup (一部省略 すでにシェアリングキーを持っている場合の例)
modesdeco2のAVR出力を、fr24feedに食わせるため、Step4では「5 - AVR Compatible」 を選択し、modesdeco2の動いているRaspberryPiのIPアドレス192.168.x.xxx、ポート番号30002を入力しています。 $ sudo systemctl start fr24feed RaspberryPiをスタートさせると、常にfr24feedは動いています。 $ sudo service fr24feed status により、Active: active (running)が表示されれば、正常にフィードされています。 さらに $ fr24feed --status で動作状態を表示できます。 また、LAN接続されたほかのPCのブラウザからは次のアドレスで、状態を見ることができます。 http://192.168.x.yyy:8754 設定ファイルは/etc/fr24feed.iniにあります。 fr24feedを停止させる場合は sudo systemctl stop fr24feed そのほかのよく使うコマンド fr24feed --help ヘルプ fr24feed --fr24key=0123456789ABCDEF 手動でフィード開始 fr24feed --signup サインアップと構成 fr24feed --reconfigure 構成変更 fr24feed --version version 番号
Flightradar24にログインすると、自分のフィードの情報を確認することができます。数時間動作させた後であれば、受信した航空機やメッセージ数、距離や方向などの統計情報を確認することができます。
フィードが動作しているならFlightradar24のプレミアムサービスが無料で利用可能です。表示時間の制限が無くなり、その他全画面表示や、レーダービューなどを見ることができます。さらにスマホから、FR24Premium が無料で使えるようになります。
いろいろな製作例を参考にしながら、簡単で性能の良さそうなグランド・プレーンアンテナを作ります。
グランド・プレーンアンテナは図のように、1/4波長の放射素子に、地面を模したラジアルを配置したもので、無指向アンテナです。ADS-Bは1060MHzですから、放射素子、ラジアルとも、 エレメント長 = 300/1090MHz x 1/4 x 0.95 = 65mm となり、適当な銅線を切断し、BNCコネクタのセンタと、アース側に4本配置しました。それを水道用の塩ビパイプのふたに穴をあけ取り付け、気象観測用のポールの先端に設置しました。 つぎにドングルですが、アマゾンで本番用にあたらしい改良版を購入しました。これは チューナLSIに新型のR820T2を実装し、周波数偏差/周波数温度特性とも±10PPM以下の日本製高精度水晶発振子に国内で交換作業したものです。 予備実験でわかったことですが、主要部品のRTL2832U と R820TのLSIは、運用中に手で触れないほど高温になります。そのため図のようにヒートシンクを用い、かつメタルのケースに熱を逃すようにしました。かなり効果があります。 ドングルとアンテナの配線長は短い方がよいので、ドングルは金属ケースにいれ、軒下に設置。RaspberryPiとはUSB接続
下は、当方のデータが使われた例です。 これで皆さんに仲間入りできました。 数週間運用後、Flightradar24の自分のアカウントをみると、下のような統計データが表示されます。西側が開けた地形のため、200ノーチカルマイル(1ノーチカルマイル=1.852km)、名古屋上空まで見えています。1GHzの電波は直進性が強く障害物(山、樹木)を回り込まないため、南東の特に高度の低い航空機はとらえられず、残念ながら羽田や成田の発着は見えません。 2014/03/08 マレーシア航空370便 クアラルンプール発北京行 行方不明 2014/07/17 マレーシア航空17便 アムステルダム発クアラルンプール行 ウクライナ上空で撃墜 2015/03/24 ジャーマンウィングズ9525便 バルセロナ発デュッセルドルフ行 フランスアルプスに激突 2016/05/12 エジプト航空804便 パリからカイロへ向かっている途中に、レーダーから機影が消えた 2018/10/29 インドネシアのライオン・エアJT610便 ジャカルタ発パンカルピナン行きのボーイング737 MAX 8が墜落 2019/03/10 エチオピア航空ET302便 アディスアベバ発ナイロビ行きのボーイング737 MAX 8型機墜落 |