Raspberry PiでAiSDeco2を使ってAISを受信する方法

無線

私はRaspberry Piを使ってAISの受信して,MarineTrafficへフィードしているのですが,ネット上にはあまり参考になる記事がありません。

いろいろ試行錯誤して一番簡単だったものを紹介します。

MarineTraffic: Global Ship Tracking Intelligence | AIS Marine Traffic
MarineTraffic Live Ships Map. Discover information and vessel positions for vessels around the world. Search the MarineTraffic ships database of more than 55000...

なお,下準備については下記記事を参考にしてください。

導入手順

結論から言うと,xdeco.orgさんのAiSDeco2いうソフトが一番良い感じでした。

手順としてはwgetコマンドで取得してtarで解凍するだけです。

が,データがGoogleドライブにあるので手こずりました。
下記のサイトを参考にして解決

curlやwgetで公開済みGoogle Driveデータをダウンロードする - Qiita
サーバー上での作業などで,とりあえずcurlとかwgetでGoogle Drive上の一般公開されているデータをダウンロードしたいといったときの対処方法です. ## ファイルサイズが小さい場合 ファイルを右クリック > 共有可能な...
mkdir ais2
cd ~/ais2
wget "https://drive.google.com/uc?export=download&id=1B1O2cseigoGNRFzP9Ii3a2QZq_uBSJmP" -O aisdeco2.tgz
tar -xzvf aisdeco2.tgz

これで準備できました。
ディレクトリ名のais2や保存ファイル名のaisdeco2.tgzは任意なのでこれに限らずなんでも良いです。

使い方

オプションは↓なので・・・

-h [ --help ]         This help message
--device-list List Available devices
--device-index arg Select RTL device (default: 0)
--gain arg Set gain in Receiver, dB (default: Auto)
--agc Enable Automatic Gain Control in RTL (default: off)
--freq-correction arg Set frequency correction, ppm (default: 0)
--net arg Enable network-server on port (default: off)
--udp arg UDP server address. Format: address:port (default: off)
--no-console Disable logging on console (default: on)
--verbose Verbose output signal level

私は下記オプションをつけて起動させています。

cd ~/ais2
./aisdeco2 --udp 5.9.xxx.xxx:6xxx --gain 49.6 --device-index 1

UDPはMarineTrafficから指定されたものを入力します。
デバイスを指定しているのは私はラズパイにドングルを2本差しているためで,1本差しならば必要はありません。
あとゲインを設定せずオートにすると,受信できる数が1/2から2/3くらいに激減するので高めに設定した方がいいです。

また,私はAIS用のドングルはTCXOなので周波数補正してませんが,マニュアルには「補正はきちんとしろよ!」とかなり念入りに書いてあるのでちゃんとやった方がいいのだと思われます。

コメント