ADS-B信号の受信傾向の調査を行っていますが、fr24feedだけですと少し粗いように感じます。
もう少し解像度の高いデータが欲しいと思いまして、ググってみましたらModeSDeco2というデコーダのWebインターフェースがfr24feedより良さそうに感じましたのでテスト動作させてみました。 簡単なメモです。
ModeSDeco2
まずは、アプリケーション(デコーダー・ソフトウエア)のダウンロードが必要ですのでダウンロードします。コミュニティ・リリースタイプのアプリケーションですので、幾つかダウンロードが必要です。
ダウンロード
ModeSDeco2は、ここからダウンロードします。2015年9月1日現在、20150815版をダウンロードできます。
図1:ダウンロードのスナップショット |
当方で利用しているOS環境は、Windows10、Ubuntu 15.04、Rasberry Pi(Raspibian)を利用していますのでそれぞれでダウンロードし利用しています。
ところが、上記のスナップショットを見ていただいてもわかるように、Raspberry Pi版はが20150321以降リリースされていないようです、CPUパワーがが不足ということでしょうかね。
Raspberry Pi2版は上記サイトからダウンロードできます。(Raspberry Pi2は天気データの収集で使っているので飛行機データ収集に使うのはちと困る)
ということで、確認したビルドは、
Unbuntu 14.04 64bit -> Ubuntu 15.04 64bit
Windows -> Windows10 Insider Preview Build 10532(リリース版の後にアップデートされた版です)
Windows10でちょっとしたトラブル
Windows10 Insider Preview 10532で使った場合、24時間の連続稼働させるとエラーで止まってしまいます。
2日間かけて動作させたところ、2回とも深夜に停止してしまいました。
連続稼働させる場合には、ちょっとダメっぽい・・・Windows10のリリース版なら大丈夫でしょうか?
Ubuntu版は安定しているっぽい
3日以上動作しています、今の所止まったりエラー・警告メッセージは出ていません。
シルエット画像とBaseStation.sqb
シルエット画像とBaseStation.sqb、フライトDB、イメージ画像などはそれぞれ探してダウンロードする必要があります。フライトDBは、yahooグループに加入する必要がありましたので割愛しました。
シルエット画像とDBファイル
このサイトの、Support→ SBS Resource Downloadからダウンロードしてきます。
シルエットロゴ
図2:シルエット画像ダウンロード |
SQBデータファイル
図3:SQBファイルダウンロード |
SQLiteのフォーマットで保存はされているようですが、Webインターフェースには反映されないようです。
起動した際に、データベースファイルを読み込んでいますので蓄積したデータを使うかリセットするかなどできるとありがたいとおもます。
動作テスト
コマンドオプションがたくさんありますので、必要に応じて設定する必要がありました。起動オプション
ひとまず使いそうなオプションは下記で使っています:
--rbsをつけてMode A/Cの受信(WebインターフェースのStatsでModeA/Cに表示されるようになります)、--beast/--sbs10001/--avrは出力フォーマットの設定、--dbにはbasestation.sqb、--silhouettesにはシルエット画像(ディレクトリ)を設定します。
--beast <port>は、BEASTフォーマットでの出力(HEXダンプ)
--sbs10001 <port>は、SBS-1/3フォーマット出力
BaseStationアプリやfr24feedへデータを渡すために設定しています。
--avr <port>は、AVRフォーマットの出力(テキスト)
ModeSMixer2へデータを渡すために設定しています。
--avrmlat <port>は、AVRフォーマット出力(HEXダンプ)
--web <port>でwebインターフェースをポート番号8081で見えるようにしています。
--msg <port>は、MSGタイプのメッセージ出力(テキスト)
--gain <gain>を設定するか、--geinがない場合にはautoで動作するようです。
--freq-correctionは、ソフトウエア側の補正値を設定できます。
ppmで設定できるようですが、効果のある値はテストしてみるしかなさそうですね。
ひとまずこんな感じで動作させてみます。
$ sudo modesdeco2 --gain 49.6 --rbs \ --freq-correction 60 \ --beast 31001 \ --sbs10001 10001 \ --avr 47805 \ --location XX.XXX:YYY.YY \ --web 8081 \ --db ./basestation.sqb \ --silhouettes ./SilhouettesLogos
Mapページ
図4:ModeSDeco2 Map |
※ 実家で稼働させていますので、福岡空港のにほど近い場所で受信しています。
受信していいくと受信マップ範囲がじわじわ広がっていきますので長時間稼働すると・・・最大受信
範囲がわかります。
再起動すると、過去のことはすべて忘れてしまうのがちょっとつらい。。。
Statsページ
図5:ModeSDeco2 Stats |
Chartsページ
図6:ModeSDeco2 Chart |
チャートページには、稼働時間すべての統計データが表示されます。
コンタクトvsディスタンス、メッセージ/時間は、fr24feedと同じタイプの集計データですグラフのタイトルは"Message/Hours"と"Hit and Position reported"です。
値はそれぞれ異なっていて、ModeSDeco2のMessage/HoursのPosition値
は、StatsページのADS-B・Positionsを示していると思いますが、fr24feedのPosition値は何でしょうね?(もう少し調べてみる必要がありそう)
カバレッジ・パターンは、fr24feedのデータよりは細かいです。
position reportedとdistanceでの表示ですが、どうもfr24feedのStatsで表示されるRangeとは違います。(ところで、Rangeは何を表示しているんでしょうね???)
期待したこと
定期便のデータを1週間分ほど集めてみると、特定方向の受信傾向が掴めるかなと思いましたので抽出できると「中学生の自由研究」っぽくなるかなと思ったんですけどね・・・特定機体の受信データを連続して保存すると、ポイント・ポイントで情報が分かるので個々の値が分かるかなと思いましたが、「ちょいちょい」とはできないようです。(特定の機体をトラッキングして分析できるアプリケーションがあるようですのでそのうちテストしてみようと思います。)
また、受診データや統計データをファイルに出力できるとオフライン分析には都合が良いのですがファイルへの出力もできそうにありません。(SQBには保存できるようですが・・・詳しいことはわかりませんでした)
距離と高度と信号強度の変化も見たかったのですが・・・
BaseStationを使うと受信データを取り出すことができるのでしょうか???
もう少し調べてみることにします。