Raspberry Pi さん出番です!
前回の投稿ではワンセグチューナーを使ってflightradar24(FR24)のボランティアに参加するまでの奮闘を記しました。しかし、それで満足した訳ではありません。私はもっとワクワクしたいのです。
私は電子工作マニアではないのですが自宅にこんな基盤が転がっています。
(タイプBです)
素足で踏んづけると痛そうなこれはRaspberry Pi(ラズベリーパイ)です。掌に乗る大きさの可愛い奴です。可愛い奴ですが内容はかなり本格的です。OSは、まんまLinuxのRaspbian(ラズビアン)。東京支店1F下ネタ担当の某マネージャーが勘違いして喜びそうな名前です。
以前、こいつを自動車に積んでiPhoneに保存された音楽を iPhone(WiFi) -> RaspberryPi -> カーナビで聞くというマニアックな企画を社員ブログに投稿した方がいました。その記事に感化され私もラズベリーパイを購入したのは良いのですが1~2週間で飽きてしまい、何か使い道は無いかと考えていたところでした。ラズベリーパイでADS-B情報を受信してFR24のサーバにデータを送れたら面白いっしょや!ボランティアのためPCの電源を24時間入れておく訳にはいきませんが、ラズベリーパイなら消費電力も僅かです。
偉大なる先人たちに感謝!
なんとGitHubにワンセグチューナーをSDRにするソフト(rtl-sdr)が登録されています。偉大なる先人たちに感謝しつつ、まずは下準備で、USBドライバーなど必要なパッケージをインストールします。以下皆さん興味ないと思いますがお約束のコマンドラインを記しておきます。
rtl-sdrのリポジトリをクローンしてmakeします。
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
続いてSDRで受信したADS-B情報を文字情報に復号するソフト(dump1090)をインストールします。
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make
こちらもなんの問題もなくすんなりインストール出来ました。
電気が足りない!
./dump1090 –interactive –net
そしてdump1090を起動してみると...
無事ADS-B信号を受信出来ているようです。
しかし!何度やってもdump1090を起動してから数秒経つと受信が止まってしまいます。
cb transfer status: 1, canceling… 何でだよ。
これまではラズベリーパイに直接ワンセグチューナーを繋いでいました。
ラズベリーパイに関するWebページを色々見ているとラズベリーパイはUSBからの電源供給が弱いそうです。ラズベリーパイを無線LAN化する場合もUSB WiFiアダプタへの電源供給が問題になってくるようです。そこで用意したのがコレ!
外部から電源供給出来るUSBハブです。ハブ経由でワンセグチューナーを接続することで電源が安定したためか「dump1090を起動してから数秒経つと受信が止まる問題」は無事解決しました。
無事ADS-B情報を受信出来るようになったラズベリーパイですが、受信した情報はテキスト情報ではなく地図上に表示してみたいです。なんとdump1090には最初からそんな素敵な機能が付いてきます。ウェブブラウザを使ってラズベリーパイのアドレスにアクセスすると(IPアドレス:8080)ちゃんと地図上にプロットしてくれます。
↑イメージ図
表示されている地図はインターネット経由で取得した情報です。よく見るとgoogleマップですね。ラズベリーパイを使ったADS-B情報受信の最終テストはやはり飛行機が沢山飛んでいる処でやりたいのですがラズベリーパイがインターネットに繋がっていないと地図は表示されないのです。
Raspberry PiとiPhoneでテザリング!
飛行機が沢山飛んでいるところ言えば空港近くですが良い場所を見つけました「城南島海浜公園」です。この公園は羽田空港へ離発着する航空機をすぐ近くで見ることが出来ます。航空マニアには有名な場所らしくバズーカー砲のような長いレンズで獲物(飛行機)を狙うカメラマンや航空無線を傍受しようと無線機を片手に持ったマニアックなオジサマ達を見かけます。
城南島海浜公園にはラズベリーパイに繋ぐLANケーブルは無いのでiPhoneのテザリング機能を使うことにしました。まずはラズベリーパイでWiFiが使えるようにします。このあたりはWeb上に色々情報が上がっているので楽勝です。
続いてiPhoneの「インターネット共有」機能(テザリング機能)をONにします。ラズベリーパイのWiFi設定をゴニョゴニョ弄ってみるも繋がる気配がありません。数時間に及ぶ格闘の後、原因が解りました。WiFiアクセスポイントとしてのiPhoneの名前に漢字が含まれていたことが原因でした。”山田太郎のiPhone”みたいな名称になっているとラズベリーパイはiPhoneに接続してくれないようです。
iPhoneとラズベリーパイが無事接続でき、テザリングもバッチリ!です。ラズベリーパイはどこでもインターネットに繋がるようになりました。
怪しい人影空港に現わる!
城南島海浜公園に到着したラズベリーパイでADS-B情報を受信するビックプロジェクトのメンバ(1名)はベースキャンプを設営することにしました。頭の上を航空機がビュンビュン飛んできます。
ディスプレイの下にある黒いBOXがプラスチックケースに入ったラズベリーパイです。
真ん中はワンセグチューナー、右はテザリングに使用するiPhoneです。車外にあるアシモのお腹みたいな物体はenepo(エネポ)家庭用カセットボンベで動く発電機です。家庭用コンセントよりも綺麗な正弦波でAC100Vを出力します。(これ重要です)今回はディスプレイとUSBハブにAC100Vを供給するために登場です。空港と港が近いこんな場所で怪しいことをやっている男はピーポ君のお友達に声をかけられても不思議ではありません。急いで確認作業を進めます。
↓私の脳内妄想。
P:「こんにちは!旦那さんはここで何をしてるんですか?」
私:「いや、あのその、ADS-Bをワンセグでですね・・・脳内にドバーッと・・・」
P:「あぁ、なるほど。そのADS-Bというのは錠剤かな?粉末かな?」
私:「いや、そういうのではなくて、海外のボランティアに・・・」
P:「海外の仲間から貰ったのかな?じゃぁ、ちょっと場所を変えて詳しく話を聞かせてもらおうか」
念のため皆さんにもお伝えしておきます。怪しく見えますが悪い事は何一つしていませんから!
モバイル化したラズベリーパイを使って航空機の情報を受信することが出来ました。大満足です。
ドバーッ!!!
ちなみにその後ラズベリーパイは、ワンセグチューナーと一緒に押し入れで冬眠中です。私、熱しやすく冷めやすいんです。