RTL2832U広帯域受信機によるADS-Bの受信は付属していた簡単なホイップアンテナで行なっていました。それでも200Kmくらい先の航空機からの信号が受信できていたので十分に使える物でした。というわけで受信状況の改善のためというより、アンテナを作ってみたいという欲求にかられてADS-B専用のアンテナを作ってみました。
どんなアンテナが良いか色々と考えてみましたが手持ちの材料だけで出来る、かつ工作が容易であることからコリニアアンテナを作ることにしました。注) 送信も含めて真面目に調整しようと思うとコリニアアンテナはかなり大変な物だと思います。

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


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


各接続部分はハンダ付けしてあるだけなので強度がありません。ビニルテープをしっかり巻きつけて補強します。屋外に設置するちゃんとしたアンテナの場合は、これをグラスファイバーポールなどに収めて元のところに同軸ケーブル用のコネクターを取り付けます。わたしの場合は屋内に簡単に設置するだけなので、そのままむき出しです。給電用のケーブルも直接ハンダ付けしました。給電用同軸ケーブルの長さも計算はしましたが短縮率が怪しいしあまり意味ないかもしれません。
結局のところ受信だけですし、かなりざっくりとアンテナを作りました。それでも付属のアンテナと付け替えたところ、最大距離はあまり変わらない気がしましたが、受信できる飛行機の数が増えました。
rgb400さんがUSBアダプター型の電圧電流計を購入されているのを見て、同じものを中国の通販サイト(taobao.com)で買いました。一個18元(+送料10元)でした。
写真のようにUSBコネクターに刺すとUSBの線にかかっている電圧と流れている電流を計測することが出来るものです。能動的に何かをするわけではありません。
使用目的は充電状況を具体的な数値で確認することです。最近の大容量バッテリーを備えたデバイスでは使用している充電器やUSBケーブルにより充電時間が異なったり、場合によっては100%まで充電できないような状況が発生します。使っているうちに、このケーブルはダメとか、この充電器あるいはモバイルバッテリーは充電が遅いとか分かってきますが、具体的に電流値を見れば簡単に判断出来ます。
試しに手持ちのマイクロUSBケーブルで充電時の電流を調べてみました。明らかに充電できていなかったNOKIAの短いケーブルは普通のケーブルに比べて1/10しか電流が流れていませんでした。意外であったのは太くで短い如何にも電流が沢山流れるように見えるケーブルが調子の良いものに比べて70%くらいしか電流値が出ませんでした。この辺りになると、おそらく充電時間に明らかな差が出るものと思います。また、それを経験から見出すのはなかなか困難でしょう。ということで18元の価値は十分にあったと思います。
蛇足ですが、今回はじめてtaobaoのコンビニ受け取りを使用しました。なかなか便利です。留守がちであることに加え、自宅に配達してもらうと留守の場合、宅配業者から電話で問い合わせが来たりします。従って中国語を話さないと行けないわけですが、コンビニ受け取りだとSMSで来たお知らせの内容を指定したコンビニで伝えるだけなので外人にも優しいと言えるかもです。
RT2832Uチューナーの次の目的は航空無線の受信です。我が家は上海虹橋空港に近いのでタワーの交信も聞けるはずと期待しての挑戦です。RTL2832Uドングルの詳細については過去記事を御覧ください。
RT2832Uに付属しているアンテナは目的とする120MHzから130MHzを受信するには適していません。まずはアンテナの作成からです。市販品も手頃な値段で売っていますが、簡単なものでもアンテナを作ること自体が楽しいです。
[ アンテナの作成 ]
手持ちの材料で簡単に作ってみました。
使用した材料:
– そこそこの太さの被覆されたコード、中に細い銅線が詰まったものです。元々は電源コードだったものを使用。
– TVアンテナ用の同軸ケーブルF型コネクター付き。未使用で余っていたものです。
– MCX-F変換コネクタ。RT2832Uドングルには小型の同軸コネクター(MCX)が付いています。それをTV用の同軸ケーブルに付いているF型コネクターに接続するためのアダプターです。通販(Taobao)にて12元で購入しました。送料が10元かかっているので合計22元です。
作成するのは構造が簡単なダイポール・アンテナです。設置場所の都合とおそらくは航空無線は垂直偏波であると思うので、垂直ダイポールにします。作り方はいたって簡単で被覆コードを約60cmにカットしたものを2本用意します。同軸ケーブルの被覆を剥がして芯線とシールドを露出させます。60cmにカットした被覆コードの一本を芯線、もう一本をシールドに半田付けしてまっすぐに伸ばせば完成です。短縮率がどれくらいになるか分かりませんが、60cmでおそらくは中心周波数120MHz付近になると思います。
アンテナとしての形を保つためには何かしら構造物が必要ですが、これもごく簡単に窓ガラスにテープで貼り付けました。


[ 受信の設定 ]
受信にはMac OS X上のgqrxというSDRアプリケーションを使用しました。ちゃんと受信出来るまでに随分と手こずりました。キモはFilterの設定をWideにするということでした。FilterがNormalのままだとキャリアが出ているのは分かるのですが、まったく音声として復調出来ません。ということで設定は、
Filter: Wide
Mode: AM
AGC: Fast
でOKです。
あとは適当に115MHzくらいから135MHzを探すか、ネット上で公開されている(中国の場合baidu.comで”航空频率”で検索)周波数に合わせてみます。空港に近いためか、かなりクリアーに交信の様子が聞けます。まだじっくり聴きこんではいませんが、航空無線は英語が基本かと思ったら、結構中国語の会話も聞こえてきます。
Raspberry PiにRT2832Uを接続しMac OS X上のgqrxからTCP/IPで接続し受信することも出来ますがMacBook Airに直接RT2832Uを接続した場合に較べてノイズが多くなります。USBケーブルでノイズを拾うという話しもありますので、時間があればノイズ対策を試してみたいです。
PCさえあれば格安に航空無線の受信環境が得られます。興味の有る方はお試しあれ。
一部の方々には懐かしいPalm OSがAndroid端末上でそのまま再現できるPHEMの紹介です。 Palmについて多くを語る必要は無いでしょう。PHEMはM68kベースなPalmのハードウェアのエミュレータです。純粋にエミュレータだけですので稼働するためにはPalm OSのROMイメージファイルが必要です。ここが若干、敷居を高くしてる感じがありますがROMイメージファイルさえ入手出来れば動作させるのは難しくありません。PHEMを日本語で紹介されているミニーの独り言さんのブログには英語版ROMイメージの入手方法が紹介さています。もし実機を持っている場合は実機からROMイメージファイルを作成する方法もあります。
PHEMはGoogle Playで有料で公開されています。有料と言っても99円ですので気軽に購入出来ます。
起動するとROMイメージファイルの導入先のディレクトリーがメッセージで示されます。私のTCL Heroの場合は/storage/sdcard0/phem/romでした。そこにROMイメージファイルを保管します。複数のイメージファイルを持たせて必要に応じて選択する事が出来ます。この辺りの操作は分かりやすく作られていますので、実際に試せば迷うことは無いでしょう。
私はパームウェアの開発を行っていましたので古いHDDに幾つものROMイメージファイルを持っていましたので、それでPHEMを起動しました。上のキャプチャー画面のように日本語ROMイメージも動きました。本当はCLIEのハイレゾ画面で稼働したかったのですが現在のところPHEMではCLIEのROMイメージファイルは起動できません。この辺りの事情もミニーの独り言さん
が詳しく書かれています。
無事PalmOSが起動できたのでアプリケーションを導入してみます。Androidのストレージの適当なところにパームウェアのファイル(拡張子がprc等のもの)を保管しておきます。
PHEM上部の左のアイコンをタップするとファイルを選択するダイアログが出ますのでパームウェアのファイルを選択すると導入が行われます。右のキャプチャー画面は私の唯一の公開パームウェアである「かれいどすこーぷ」を実行した画面です。このパームウェアは出来ればハイレゾ画面で起動したいところです。

Twitterで教えてもらったのですがUSBホストモードを備えたAndroidデバイスであればRTL2832Uドングルをそのまま接続して広帯域受信機として使用できます。必要なソフトはRTL2832U driverとSDR Touchの2つだけです。SDR Touchは無料のお試しモードで使用しています。
2つのソフトを導入しOTGケーブルでRTL2832Uドングルを接続するだけで簡単に使用可能です。私はあまり長時間試していませんが、かなり電池を消費するようです。
前回のgqrxのエントリーにあるようにRaspberry Pi上のrtl_tcpにSDR Touchを接続することも出来ます。これだと電池の消費が改善しそうですが、残念ながら私の環境では安定した接続が出来ませんでした。

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版のソフトウェアもダウンロードしました。


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上に飛行機がプロットされた格好の良い画面が表示されます。

これでADS-Bを受信して個人的に楽しむ環境が完成しました。付属のアンテナをマンションの窓の内側に貼り付けただけですが、かなり多くの航空機からの電波を受信することが出来ています。一番遠くでは杭州よりも遠いところの航空機も見えていました。おおよそ180Kmくらいのところでした。ちゃんとしたアンテナを設置すれば、この倍くらいの距離がカバー出来るそうです。
RTL2832Uというデコーダー(ネットワーク屋にはお馴染みの蟹のマークのチップが入っています)+R820Tというチューナーの乗ったUSBスティクタイプのDigital Energy DVB-T+DAB+FMというチューナーを購入しました。販売店によるとR820Tチューナーということでしたが同じパッケージでE4000チューナーの物もあるので蓋を開けてR820Tであることを確認しました。実は後でdump1090というアプリケーションのメッセージでも確認できました。


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

最初しばらくの間、稼働できずに悩んでいました。全ては電源に関する問題です。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を使用したためにハード的に幾らか困難な点がありましたがソフトウェアの構築はかなり容易な部類に入ると思います。
長くなりますので何度かにわけて書いて行きます。