Dropbox

広帯域受信機として使用できるUSBドングルRTL-2832Uの活用方法については以前何度となく書きました。ADS-Bにしても受信機としてしようするにしても、それなりにマニアックで敷居が高い感じがしたかも知れません。それらと対照的なとても簡単な方法で広帯域受信機として使用する方法がありました。

Google Chromeの拡張機能Radio Receiverというアプリケーションを導入しRTL-2832UをUSBに接続するだけで受信機として機能します。Chromeの元で動くわけですが、まったくブラウザーとは関係なく単独のアプリケーションの如く動作します。拡張機能であるためOSに関係なく動作するのが素晴らしいところです。

FMはステレオで聞けることも特徴のひとつですし、それに加えて録音機能(wavファイル)が付いているのも素晴らしい。

詳しい解説は、何時も参考にさせてもらっている、こちらのブログに詳しく書かれていますので参照ください。

RadioReceiver

立ち上げるとFMラジオとして動作します。

RadioRecvAirBand

設定でEnable Free Tuning modeにすると広帯域受信機になります。エアーバンド受信機としても使えます。

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さえあれば格安に航空無線の受信環境が得られます。興味の有る方はお試しあれ。

SDR_Touch

 

Twitterで教えてもらったのですがUSBホストモードを備えたAndroidデバイスであればRTL2832Uドングルをそのまま接続して広帯域受信機として使用できます。必要なソフトはRTL2832U driverSDR Touchの2つだけです。SDR Touchは無料のお試しモードで使用しています。

2つのソフトを導入しOTGケーブルでRTL2832Uドングルを接続するだけで簡単に使用可能です。私はあまり長時間試していませんが、かなり電池を消費するようです。

 前回のgqrxのエントリーにあるようにRaspberry Pi上のrtl_tcpにSDR Touchを接続することも出来ます。これだと電池の消費が改善しそうですが、残念ながら私の環境では安定した接続が出来ませんでした。

FM977

ADS-Bの受信に使用しているRTL2832U+R820TなUSBドングルは広い帯域を持ったSDR(Software Defined Radio)として使用できます。Mac OS Xで使用する場合はgqrxのOS X版を使用するのが簡単です。私はgqrx_8.dmgというのを利用しました。これひとつ導入するだけでOKです。そのままMacのUSBポートにRTL2832Uドングルを挿入すれば使えるようになります。

本当は航空無線を聞きたかったのですが、設置位置やアンテナの問題かうまく聞くことが出来ていません。とりあえずFM放送で動作を確認しました。キャプチャー画面のようにある幅でスペクトラムが見えますので、どの周波数で信号が出ているかが目視出来るのは面白いです。

[ リモート接続 ]
私の場合Raspberry PiにRTL2832Uを常時挿入しています。grpxからネットワーク経由でRaspberry Piに接続して動作させる方が便利です。

Flightradar24データ提供計画 – ハードウェア編
Flightradar24データ提供計画 – 基本ソフトウェア編
ADS-B関連アプリケーションとの同時稼働は出来ません。dump1090を止めてから rtl_tcp -a 0.0.0.0 を起動すればRaspberry Pi側の準備は完了です。

後はgqrxの設定でRaspberry PiのIP addressとポート1234を指定すれば後はMacのUSBポートにRTL2832Uを挿入した場合と同様に操作出来ます。

前回までで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を使用したためにハード的に幾らか困難な点がありましたがソフトウェアの構築はかなり容易な部類に入ると思います。

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