Dropbox

RTL2832U広帯域受信機によるADS-Bの受信は付属していた簡単なホイップアンテナで行なっていました。それでも200Kmくらい先の航空機からの信号が受信できていたので十分に使える物でした。というわけで受信状況の改善のためというより、アンテナを作ってみたいという欲求にかられてADS-B専用のアンテナを作ってみました。

どんなアンテナが良いか色々と考えてみましたが手持ちの材料だけで出来る、かつ工作が容易であることからコリニアアンテナを作ることにしました。注) 送信も含めて真面目に調整しようと思うとコリニアアンテナはかなり大変な物だと思います。

ColinearElements

材料は例によって余っていたテレビ用の同軸ケーブルです。これを短く切ってアンテナのエレメントにします。今回は10段のコリニアアンテナにするため10本のエレメントとインピーダンスをマッチさせるためのスタブとして更に短く切ったケーブルを用意しました。各エレメントは1/2λ、波長の半分に同軸ケーブルの短縮率を乗じた長さにします。同軸ケーブルはRG6と書かれています。色々とネットで調べて短縮率を67%で計算することにしました。ということで各エレメント長は92mmほどです。むき出しになったシールドも含めてこの長さにします。スタブは1/4λですので更に半分の長さです。

ColinearConnectionColinearStub

各エレメントは互い違いに芯線とシールドをハンダ付けして繋いでいきます。この時、シールドどうしがショートしないように絶縁のために紙を挟みました。電波は1/2波長ごとに極性が反転するので、このようにエレメントを反転させて積み重ねることにより、ちょうど乾電池を直列に繋いだようにゲインを上げることが出来ます。先端はインピーダンスを合わせなければなりません。同軸ケーブルのインピーダンスである75Ωの抵抗をターミネータとして接続しても良いのですが、どうせ同軸ケーブルが余っているので1/4波長のスタブを作り同様にハンダ付けします。1/4波長のところでインピーダンスが最大になるはずなので、その先は開放してもショートしてもインピーダンス的に構いません。一般的にはショートするようです。注)技術的な説明は話半分でお願い致します。

ColinearCompColinearOnWindow

各接続部分はハンダ付けしてあるだけなので強度がありません。ビニルテープをしっかり巻きつけて補強します。屋外に設置するちゃんとしたアンテナの場合は、これをグラスファイバーポールなどに収めて元のところに同軸ケーブル用のコネクターを取り付けます。わたしの場合は屋内に簡単に設置するだけなので、そのままむき出しです。給電用のケーブルも直接ハンダ付けしました。給電用同軸ケーブルの長さも計算はしましたが短縮率が怪しいしあまり意味ないかもしれません。

結局のところ受信だけですし、かなりざっくりとアンテナを作りました。それでも付属のアンテナと付け替えたところ、最大距離はあまり変わらない気がしましたが、受信できる飛行機の数が増えました。

 

RT2832Uチューナーの次の目的は航空無線の受信です。我が家は上海虹橋空港に近いのでタワーの交信も聞けるはずと期待しての挑戦です。RTL2832Uドングルの詳細については過去記事を御覧ください。

RT2832Uに付属しているアンテナは目的とする120MHzから130MHzを受信するには適していません。まずはアンテナの作成からです。市販品も手頃な値段で売っていますが、簡単なものでもアンテナを作ること自体が楽しいです。

[ アンテナの作成 ]
手持ちの材料で簡単に作ってみました。
使用した材料:
– そこそこの太さの被覆されたコード、中に細い銅線が詰まったものです。元々は電源コードだったものを使用。
– TVアンテナ用の同軸ケーブルF型コネクター付き。未使用で余っていたものです。
mcxtofconn– MCX-F変換コネクタ。RT2832Uドングルには小型の同軸コネクター(MCX)が付いています。それをTV用の同軸ケーブルに付いているF型コネクターに接続するためのアダプターです。通販(Taobao)にて12元で購入しました。送料が10元かかっているので合計22元です。

作成するのは構造が簡単なダイポール・アンテナです。設置場所の都合とおそらくは航空無線は垂直偏波であると思うので、垂直ダイポールにします。作り方はいたって簡単で被覆コードを約60cmにカットしたものを2本用意します。同軸ケーブルの被覆を剥がして芯線とシールドを露出させます。60cmにカットした被覆コードの一本を芯線、もう一本をシールドに半田付けしてまっすぐに伸ばせば完成です。短縮率がどれくらいになるか分かりませんが、60cmでおそらくは中心周波数120MHz付近になると思います。

アンテナとしての形を保つためには何かしら構造物が必要ですが、これもごく簡単に窓ガラスにテープで貼り付けました。
RT2832UwithCoaxdiporeant

[ 受信の設定 ]
受信にはMac OS X上のgqrxというSDRアプリケーションを使用しました。ちゃんと受信出来るまでに随分と手こずりました。キモはFilterの設定をWideにするということでした。FilterがNormalのままだとキャリアが出ているのは分かるのですが、まったく音声として復調出来ません。ということで設定は、

Filter: Wide
Mode: AM
AGC: Fast

でOKです。

airbandongqrxあとは適当に115MHzくらいから135MHzを探すか、ネット上で公開されている(中国の場合baidu.comで”航空频率”で検索)周波数に合わせてみます。空港に近いためか、かなりクリアーに交信の様子が聞けます。まだじっくり聴きこんではいませんが、航空無線は英語が基本かと思ったら、結構中国語の会話も聞こえてきます。

Raspberry PiにRT2832Uを接続しMac OS X上のgqrxからTCP/IPで接続し受信することも出来ますがMacBook Airに直接RT2832Uを接続した場合に較べてノイズが多くなります。USBケーブルでノイズを拾うという話しもありますので、時間があればノイズ対策を試してみたいです。

PCさえあれば格安に航空無線の受信環境が得られます。興味の有る方はお試しあれ。

前回まででADS-Bの受信とデコードが完成しています。後はFlightrader24への登録とデータ送付を行うだけです。

Flightradar24へデータを送付するソフトウェアはWindows版Linux版があります。データを送付するに当たってSharing Keyを取得する必要があります。メールで取り寄せることも出来ますがWindows版のソフトウェアを使用すると自動的に登録を行いSharing Keyを取得する事ができます。そのためだけにWindows版のソフトウェアもダウンロードしました。

fr24win1fr24win2

Sign up!ボタンを押してメールアドレスと経緯度を入力してOKを押します。直ぐにSharing keyが画面上に表示されメールが来ます。

Raspberry PiにはARM LE用のバイナリーをダウンロードしSharing keyを指定して起動します。dump1090からデータを取得しFlightradar24へのデータ送信が自動的に始まります。

データ送信を始めると直ぐに特典としてFlightradar24のPremium Accountとしてログインが可能となります。

 

 

 

[ 基本設定 ]
Raspberry PiのOSは一般的なRaspbianを使用しています。これについては沢山の情報がありますので、ここでは省略します。
WiFiの設定については「Raspberry PiのWiFi化」を御覧ください。

[ チューナーの設定とADS-Bデコーダー ]
RTL2832UはUSBチップも兼ねています。これをサポートしたドライバーとADS-Bのデコードを行うアプリケーションを導入します。前者はrtl-sdrというパッケージでADS-Bデコーダーはdump1090というパッケージを使用しました。導入についてはまるまる以下のページに乗っているコマンドを打ち込めば完了します。

ADS-B and the Raspberry Pi Revisited

この説明はRaspberry Piを前提として書かれていますがノートPC上のUbuntuでも全く同じ手順で大丈夫でした。該当ページが無くなってしまうといけないので必要なコマンドだけ以下に書き出しておきます。

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
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
sudo cp /home/pi/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot

rtl_test -t でRT2832Uのハードウェアに関する情報が表示されれば成功です。

sudo apt-get install pkg-config
cd ~
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make

./dump1090 を実行して何かしら文字が連続して表示されれば成功です。

./dump1090 –net > /dev/null
みたいにして外部からwebブラウザーで http://10.0.1.22:8080/ みたいに接続するとGoogle Map上に飛行機がプロットされた格好の良い画面が表示されます。

dump1090-5

 

これでADS-Bを受信して個人的に楽しむ環境が完成しました。付属のアンテナをマンションの窓の内側に貼り付けただけですが、かなり多くの航空機からの電波を受信することが出来ています。一番遠くでは杭州よりも遠いところの航空機も見えていました。おおよそ180Kmくらいのところでした。ちゃんとしたアンテナを設置すれば、この倍くらいの距離がカバー出来るそうです。

MiniDigitalTVStickRTL2832Uというデコーダー(ネットワーク屋にはお馴染みの蟹のマークのチップが入っています)+R820Tというチューナーの乗ったUSBスティクタイプのDigital Energy DVB-T+DAB+FMというチューナーを購入しました。販売店によるとR820Tチューナーということでしたが同じパッケージでE4000チューナーの物もあるので蓋を開けてR820Tであることを確認しました。実は後でdump1090というアプリケーションのメッセージでも確認できました。

RTL2832UR820T

中国ではお馴染みのネット通販サイトtaobaoで45元で購入しました。日本のアマゾンでも全く同じものが手に入るようです(リンクは末尾)。

もともとはラジオやワンセグテレビ(日本のとは違うみたい)を受信するための物でリモコンとかも付属しています。このR820Tチューナーが素晴らしく、受信帯域が24MHzから1766MHzまで連続しているらしいです。昔、アマチュア無線をやっていた人間からすると、世の中そんなことになっていたのかと驚くような性能です。これが安価で入手出来るのは何とも素晴らしいことです。ネットの情報を見ると付属のソフトを使わずにフリーウェアで広帯域受信機やAir Band受信機として使用している人が多数見つかります。今回の目的は1090MHzで発信されているADS-Bトランスポンダーの受信ですが、そのうち別の活用法も試してみるつもりです。

Rasp_RTL

最初しばらくの間、稼働できずに悩んでいました。全ては電源に関する問題です。Raspberry PiにはUSBが2ポート付いているものの供給される電力が極端に少なくWiFiドングルさえ稼働できません。そこでジャンク箱から古いUSBハブとそれに供給する電源を探しだして来て使っていたのですが、チューナーを接続するとこれでも電力が足りなくなっていたようです。ただ動かないだけでエラーメッセージも無いので問題を見極めるのに時間がかかってしまいました。少し新しいUSBハブに交換し電源も5V 2Aから5V 3Aに変更してやっと稼働するようになりました。WiFiドングルも写真の位置では不安定で挿入位置を電源に近い所に変更して何とか安定稼働するようになりました。因みにRaspberry Piの電源自体も同じハブから取るようにしています。

普通のノートPCを使用する場合は、こんな苦労は必要ないでしょう。

Raspberry piを数ヶ月前に譲り受けました。それ以前からFlightradar24へのデータ提供を試してみたいと思っていたので、それにRaspberry piを利用しない手はありません。

Flightradar24とはサイトを見ればすぐ分かるように現在フライト中の旅客機の情報をリアルタイムで表示するシステムです。iPhoneやiPadでアプリケーションを動かしている方も多いことと思います。

ここで表示されているデータは旅客機に搭載されているADS-Bトランスポンダーのデータを受信し解析しFlightradar24へ送信する世界各地のコントリビューターにより成り立っています。そのデータ提供者になってみようという試みです。もっとも、わたしの居るエリアは既にデータが提供されているので既存のデータ提供者が休止した時のバックアップくらいの意味しか無いと思われます。

特別なハードウェアはUSB接続なチューナーだけです。これが驚くほど安価で入手出来ます。

システムの設定は色々な人が仕組みを十分に作りこんでいるので適切な情報を探し当てればWindowsでもLinuxでも比較的簡単に構築することが出来ます。Raspberry Piを使用したためにハード的に幾らか困難な点がありましたがソフトウェアの構築はかなり容易な部類に入ると思います。

長くなりますので何度かにわけて書いて行きます。