"Raspberry Pi" と "DVBT-USB" を使い、ADS-B受信システムを構築し
併せて"Flightradar24"へ受信データの送信(feed)してみました。
feed方法が色々と有るようで、ネット検索しても色々な方法が見つかります。
今回は(最新と思われる)
"Flightradar24"から提供されている資料を元に構築してみました。
Raspberry Pi は、初期の物と最新のPi2 どちらでも使用可能
Pi2 |
Linux系・・・ほとんど理解していないので・・・・
忘れないように備忘録です。
追記:もっと簡単になった構築方法をコチラに書き込みました。 2015/12/07
[1] Raspberry Pi 用OS"Raspbian"をダウンロードして、SDカードに書き込み
本家サイトのダウンロードが劇的に遅いので、コッチから入手
現時点最新の"2015-09-24-raspbian-jessie.zip"をダウンロード
解凍して"Win32DiskImager"でSDカードに書き込み (今回16GB使用)
[2] Raspberry Pi に、SDカードを差し込み
DVBT-USB及びLANケーブルと電源を接続しON
[3] PCから"TeraTerm"などで(SSH接続で)Raspberry Pi にリモート・ログインする
(記録保存の為、"TeraTerm"でログを取っておいた方が良い)
pi/raspberry
[4] まず"Raspbian"の設定
pi@raspberrypi ~ $ sudo raspi-config
1で、SDカードの容量をフルに広げる
4で、ローカルタイムを設定する(Change Timezoneでasia/tokyoに設定)
Raspberry Pi Software Configuration Tool (raspi-config) x
x 1 Expand Filesystem Ensures that all of the SD card storage is
x 2 Change User Password Change password for the default user (pi)
x 3 Boot Options Choose whether to boot into a desktop envir
x 4 Internationalisation Options Set up language and regional settings to ma
x 5 Enable Camera Enable this Pi to work with the Raspberry P
x 6 Add to Rastrack Add this Pi to the online Raspberry Pi Map
x 7 Overclock Configure overclocking for your Pi
x 8 Advanced Options Configure advanced settings
x 9 About raspi-config Information about this configuration tool
x
x
x
x <Select> <Finish>
設定終了後、
Finish を選択するとrebootするか聞いてくるので、yesでリブートする。
x
x Would you like to reboot now?
x
x
x <Yes> <No>
x
一旦リブートして、再度ログイン
[5] 構築前に、システムを最新の状態にする
pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade
[6] DVBT-USB用のrtl-sdrドライバ関連をインストールする
まずは、DVBT-USBに商品用ドライバがロードされない様にno-rtl.confを作成する
pi@raspberrypi ~ $ cat <<EOF >no-rtl.conf
> blacklist dvb_usb_rtl28xxu
> blacklist rtl2832
> blacklist rtl2830
> EOF
pi@raspberrypi ~ $
作ったファイルの内容を確認
pi@raspberrypi ~ $ cat no-rtl.conf
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
(普通に、nano などでファイルを作成しても可)
内容がOKなら、ドライバのインストールへ
pi@raspberrypi ~ $ sudo mv no-rtl.conf /etc/modprobe.d/
pi@raspberrypi ~ $ sudo apt-get install git-core
pi@raspberrypi ~ $ sudo apt-get install git
pi@raspberrypi ~ $ sudo apt-get install cmake
pi@raspberrypi ~ $ sudo apt-get install libusb-1.0-0-dev
pi@raspberrypi ~ $ sudo apt-get install build-essential
pi@raspberrypi ~ $ git clone git://git.osmocom.org/rtl-sdr.git
pi@raspberrypi ~ $ cd rtl-sdr
pi@raspberrypi ~/rtl-sdr $ mkdir build
pi@raspberrypi ~/rtl-sdr $ cd build
pi@raspberrypi ~/rtl-sdr/build $ cmake ../ -DINSTALL_UDEV_RULES=ON
pi@raspberrypi ~/rtl-sdr/build $ make
pi@raspberrypi ~/rtl-sdr/build $ sudo make install
pi@raspberrypi ~/rtl-sdr/build $ sudo ldconfig
pi@raspberrypi ~/rtl-sdr/build $ cd
pi@raspberrypi ~ $ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
pi@raspberrypi ~ $ sudo reboot
ここで必ずリブートする事
一旦リブートして、再度ログイン
DVBT-USBが正しく動作しているか確認
pi@raspberrypi ~ $ rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.
Reading samples in async mode...
lost at least 32 bytes
上記メッセージで正常、ctrl+c で終了
^CSignal caught, exiting!
User cancel, exiting...
Samples per million lost (minimum): 0
pi@raspberrypi ~ $
[7] Flightradar24のfeedプログラムをインストール
(古いほうのRaspberry Pi の例、Pi2の時はarmv7lにする)
以前は別にインストールしていた"DUMP1090"は、この中に含まれている
pi@raspberrypi ~ $ wget http://feed.flightradar24.com/raspberry-pi/fr24feed_1.0.13-2_armv6l.deb
pi@raspberrypi ~ $ sudo dpkg -i fr24feed_1.0.13-2_armv6l.deb
[8] feedプログラムの設定
pi@raspberrypi ~ $ sudo fr24feed --signup
[main][i]FR24 Feeder/Decoder [0x02117000]
[main][i]Version: 1.0.13-2/generic
[main][i]Built on 20150519-1456 (r:master-5ad42ab.git/Linux/armv6l)
[main][i]Copyright 2008-2015 (c) Piotr Pawluczuk
[main][i]Flightradar24 AB(http://flightradar24.com)
[main][i]DNS mode: LIBC
Welcome to the FR24 Decoder/Feeder sign up wizard!
Before you continue please make sure that:
1 - Your ADS-B receiver is connected to this computer or is accessible over network
2 - You know your antenna's coordinates up to 1 decimal point
3 - You have a working email address that will be used to contact you
To terminate - press Ctrl+C at any point
Step 1.1 - Enter your email address (username@domain.tld)
$:xxx一例xx@gmail.com <--- Flightradar24 Premiumメンバー登録に使う
Step 1.2 - If you used to feed FR24 with ADS-B data before enter your sharing key.
If you don't remember your sharing key, pelase use the retrival form:
http://feed.flightradar24.com/forgotten_key.php
Otherwise leave this field empty and continue.
$:abcdefghijklmnop <--- 設定変更の場合は、ここで以前のsharing keyを入力する
Verifying sharing key...OK <--- Step 4.1 へ飛ぶ
初めての場合は、空エンターで次のステップへ
Step 2 - Enter nearest airport code (IATA or ICAO)
We need to know your antenna's approximate position to filter bogus traffic as well as to enable ground position decoding. You can either enter nearest airport code or leave the field empty to provide exact antenna location. If your antenna is farther than 20 miles from the nearest airport we strongly recommend providing its true position instead as it may affect decoder's performance.
Enter airport code or leave empty$: <---空エンター
事前に、Googleマップなどで位置情報を調べておいて次のステップで入力
(マップ上で右クリック、”この場所のついて”をクリック)
Step 3.A - Enter antenna's latitude (DD.DDDD)
$:34.wxyz
Step 3.B - Enter antenna's longitude (DD.DDDD)
$:135.wxyz
Validating email/location information...OK
The closest airport found is ICAO:RJOO IATA:ITM near Osaka.
Latitude: 34.785519
Longitude: 135.438202
Country: Japan
(近くに伊丹空港があるので、こうなりました)
Flightradar24 may, if needed, use your email address to contact you regarding your data feed.
Would you like to continue using these settings?
Enter your choice (yes/no)$:yes
Step 4.1 - Receiver selection:
1 - DVBT Stick (USB)
-----------------------------------------------------
2 - SBS1, SBS1er or SBS3 (USB/Network)
3 - ModeS Beast (USB/Network)
4 - AVR Compatible (DVBT over network, etc)
5 - microADSB (USB/Network)
Enter your receiver type (1-5)$:1
Step 4.2 - Please select dump1090 variant:
1 - Original Salvatore Sanfilippo's variant
2 - Malcolm Robb's fork
Enter your connection type (1-2)$:2
Checking for dump1090...FOUND
Step 4.3 - Enter your additional dump1090 arguments or leave empty
$:--net --net-http-port 8888
(DUMP1090をブラウザから見たい時は、ここで指定しておく)
ブラウザからhttp://192.168.xx.xx:8888 で表示される
こんな画面
Step 5.1 - Would you like to enable RAW data feed on port 30002 (yes/no)$:no
Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:no
Step 6A - Please select desired logfile mode:
1 - Disabled
2 - 48 hour, 24h rotation
3 - 72 hour, 24h rotation
Select logfile mode (1-3)$:2
(SDカードの容量から適当なものを選択)
Step 6B - Please enter desired logfile path (/var/log):
$: <--- enterのみ
設定変更した時、(初期設定した時は下記例へ)
Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo service fr24feed restart" to use new configuration.
pi@raspberrypi ~ $ sudo service fr24feed restart
初期設定した時の例:(sharing key と Radar IDが割り当てられる)
Submitting form data...OK
Congratulations! You are now registered and ready to share ADS-D data with Flightradar24.
+ Your sharing key (a1b2c3d4e5f6g7h8) has been configured and emailed to you for backup purposes.
+ Your radar id is T-RJOOxx, please include it in all email communication with us.
+ Please make sure to start sharing data within the next 3 days as otherwise your ID/KEY will be deleted.
Thank you for supporting Flightradar24! We hope that you will enjoy our Premium services that will be available to you when you become an active feeder.
To start sending data now please execute:
sudo service fr24feed start
Saving settings to /etc/fr24feed.ini...OK
(登録したメールアドレスにも登録内容が届きます。)
pi@raspberrypi ~ $ sudo service fr24feed start
これで構築完了
次回からは電源ONするだけでOK。。。と思う!
[9] 状況確認
pi@raspberrypi ~ $ sudo service fr24feed status
● fr24feed.service - LSB: Flightradar24 Decoder & Feeder
Loaded: loaded (/etc/init.d/fr24feed)
Active: active (running) since Thu 2015-10-22 22:47:39 JST; 5min ago
Process: 892 ExecStart=/etc/init.d/fr24feed start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/fr24feed.service
tq907 /usr/bin/fr24feed -- --monitor-file=/dev/shm/fr24feed.txt --write-pid=/var/run/fr...
mq926 /usr/lib/fr24/mr-dump1090 --net --net-http-port 8888 --raw
Oct 22 22:47:39 raspberrypi fr24feed[892]: Starting FR24 feeder: fr24feed.
Oct 22 22:47:39 raspberrypi systemd[1]: Started LSB: Flightradar24 Decoder & Feeder.
資料と表示例が異なるのが気になるけど、・・・・feedしているようなのでOKか?
プロセスの確認
pi@raspberrypi ~ $ pgrep -l fr24feed
907 fr24feed
pi@raspberrypi ~ $ pgrep -l dump1090
926 mr-dump1090
[10] 設定情報の確認
pi@raspberrypi ~ $ cat /etc/fr24feed.ini
receiver="dvbt-mr"
fr24key="a1b2c3d4e5f6g7h8" <--- sharing key が記録されている
path="/usr/lib/fr24/mr-dump1090"
bs="no"
raw="no"
logmode="2"
procargs="--net --net-http-port 8888"
コッチでも見れます
pi@raspberrypi ~ $ cat /dev/shm/fr24feed.txt
ログ確認は、
pi@raspberrypi ~ $ tail /var/log/fr24feed.log
2015-10-22 22:54:25 | [feed][i]sent 3 AC in 1 packet
2015-10-22 22:54:31 | [feed][i]sent 2 AC in 1 packet
2015-10-22 22:54:36 | [feed][i]sent 3 AC in 1 packet
2015-10-22 22:54:42 | [feed][i]sent 4 AC in 1 packet
2015-10-22 22:54:48 | [feed][i]sent 4 AC in 1 packet
2015-10-22 22:54:53 | [feed][i]sent 3 AC in 1 packet
2015-10-22 22:55:03 | [feed][i]sent 3 AC in 1 packet
2015-10-22 22:55:03 | [feed][n]syncing stream
2015-10-22 22:55:07 | [feed][i]removed 1 of 5 AC
2015-10-22 22:55:09 | [feed][i]sent 2 AC in 1 packet
[11] 関連情報
フィードの再構成をする場合には、
フィードの停止をしてから
pi@raspberrypi ~ $ sudo service fr24feed stop
pi@raspberrypi ~ $ sudo fr24feed -reconfigure -fr24key=a1b2c3d4e5f6g7h8
ここ数週間・・・順調にfeed出来ているみたいです!
feedデータが使われると画面左下の"RADAR"に自身のRADAR IDが表示され分かります。
但し、使われる事は滅多にありません・・・・・!!!
よく見られる常連?IDは5局以上ないような気がするので、
ADS-B受信専用アンテナ+処理能力の高い(速い)設備を使っていると想像します。
0 件のコメント:
コメントを投稿