Linuxで動作する衛星通信関連ソフト


gpredictで衛星軌道計算

predict から派生したソフト。Linux だけではなく windows にも移植されており,衛星の位置などがグラフィカルに表示可能。 入手はこちらからどうぞ。

軌道要素の更新は自動。定期的に celestrack.com から取得して,新規衛星も追加されていく。ただし衛星名は軌道要素が確定しても更新されないため $HOME/.config/Gpredict/satdata/nnnnn.sat をエディタで開き NICKNAME を書き換える必要がある。

predict にあった ドップラシフト量の計算など のサーバー機能は削られている。

gpredict 画面(v1.2)

無線機を制御する - 2020/1月更新

無線機とローテーターの制御が v1.0 から可能になった。実際の制御は hamlib なるソフトが担当する。 対応する無線機のリストは こ こ にある。

先ず rigctld を Linux マシンで起動する。rigctld の引数には シリアルポート番号,通信速度,無線機の種類 を指定する。衛星通信するにはリグが2台必要で,この例では /dev/ttyUSB0 に IC-910, /dev/ttyUSB1 に IC-821 を接続して,daemon のポート番号が重複しないように設定している。

% rigctld -r /dev/ttyUSB0 -s 19200 -m 344 -t 4533 &
% rigctld -r /dev/ttyUSB1 -s 19200 -m 334 &

次に gpredict で Preferences → Interfaces → Raidos から無線機の設定を行う。この例だと IC-910 で送信して,IC-821+コンバータで受信する設定だ。

gpredict の Interfaces 画面

最後に gpredict の画面右上の▼ボタンを押して,Radio Control パネルを表示する。この例だと AO-51 のV/S に QRV する設定。

Device1には受信機,Device2には送信機を割り付ける。Engage ボタンを押すと rigctld との通信を確立する。送受信周波数は衛星毎にプリセットされており,メニューから選択可能だ。Tボタンを押すと送受信周波数がセットされ,Track ボタンを押すと周波数制御が始まる。

オリジナルのソースだと,アップリンク周波数をなぜか逆方向に補正していくバグ?がある(v1.2 で解決!済み)。 

あと 送受信周波数の制御が 1台のリグ(Duplex TRX)だとICOM機はSPLIT モードに入って,Main/Sub VFOが制御できない。dl7oap局作のpythonスクリプト:gp2hmlbを 使えば大丈夫。元々はIC-9700用に開発されたが,IC-910でも動作した(除くSIMPLEXモード)。update!

gpredict の Radio Control 画面


Predictで衛星軌道計算

ここ数年KD2BD局の"Predict"を使っています。入手はこちらからどうぞ。

コンパイルは簡単で,解凍後,predictのディレクトリに移動して,rootでconfigureスクリプトを実行するだけです。 Debian/Slackwareにはパッケージが用意されているそうです。

バイナリは/usr/local/binに自動でインストールされます。(/usr/local/binにシンボリックリンクが張られるので,最後に make cleanしないように!)

恐らくpredict単体で使用することは無くて,クライアントソフトと同時に使用することになるの で,/etc /servicesに次の一行を付け加えて,predictをsオプションを付けてサーバモードで起動すること。

predict    1210/udp

JR6PUE堂原さんから質問を受けたのですが,インストール直後の状態では,AO-51などの最近打ち上げられた衛星が表示されません。 $HOME/.predict/predict.tleを直接編集して,新衛星を 2Line形式の軌道要素 で追加して下さい。衛星は最大24個まで登録できます(後述するkepudateでは新規衛星は追加できません。)


音声ガイド - 2002/12月

衛星が可視領域に入ったときに,SattrackはBEEP音を連続的に鳴らして報せてくれましたが,Predictでは大文字Tをタイプして Trackingモードに入れば,「This is predict. Satellite is at XX degrees azimuth and YY degrees  elevation, and approaching/receding」と音声で数分毎にガイドしてくれます。

音声出力には商用OSSまたはOSS/Freeが必要です。SuSE 8.1に上げた時,ALSAドライバで鳴らず かなり 悩みました。

/etc/modules.confの抜粋											

alias char-major-14 sound
alias char-major-116 off
# uniq.virtual:Sound card (SoundBlaseter16 PnP)
alias sound-slot-0 sb

クライアント - 2004/08月更新

predict自体はグラフィカルな表示はできませんが,軌道計算するサーバ(predict)と各種クライアントがUDPで通信するので,自由に拡張可能 です。ソフトだけではなく,PICベースのアンテナ制御などのハードもちらほら出てきました。

クライアントソフトでお勧めは,EB3CZS/Xavier Crehuerasさんのgsat-1.1.0です。

gsatはpredictのtarボールに含まれているので,clients/gsat-1.0.0に移動して,コンパイルします。GTKを使用するので, 必要に応じてGTKのPRMを追加して下さい。

#./confiugre
# make
# make check ← Vine 2.6では必要(TKS JR6PUE)
# make install

AO-51などの新規衛星を追加する場合は, gsatのSatDBボタンを押して,衛星名,モード,アップリンク周波数,ダウンリンク周波数,ビーコン周波数を追加登録して下さい。このとき衛星名にはpredict で表示される($HOME/.predict/predict.tle中の軌道要素データと同じ)名称を設定して下さい。追加された情報は,$HOME /.gsat.dbに同じデータの並びでコロンで区切られて保存されます。

v 0.9から時刻がLocal Timeで表示されるので便利です。v1.0.0からはUP/DOWN周波数に加えてビーコンの周波数も表示可能となりました。

(バージョンはかなり古いけど)AO-40を 2002年3/9日から一週間 追尾した画面です。

gsatの画面

gsat can do automatic doppler correction via plugins. とのことで,画像右下のActivateスイッチを押すと無線機をコントロールするプラグインが起動します。

後述するマイククリックによる周波数追尾の方が現実的かも... と書いたが,必要に迫られてFT-736用のpluginを書きました。EB3CZSさん にソースを送ったところ正式に採用して頂き,Predict v2.2.2のリリースに含まれるようになりました。

実際に衛星通信に使用した例はこちらから。

gsatはv0.9よりAOS/LOS時に任意のコマンドを起動できるので,predictの配布ファイルにあるvisible.wavを再生すると,音声 ガイドっぽく利用できて便利 です。ちなみにWAVファイルはいつのまにか女声に変わっていました。ナイス!

gsatは便利ですが,一般ユーザがWindows PC側にWeird-Xを使って表示させると失敗します。ある日ネットで検索していたところ,Christophe Mercierさん作のJCPを 発掘しました。画面ダンプはこちら(約70kB)。

jarファイルで構成されているので,JREをインストールしたWindows PCでは,jarファイルをダブルクリックで実行・表示できます。

表示はシンプルですが,複数の衛星が同時に追跡できたり,衛星が食に入ると可視領域が緑の表示に変更されたりと,便利そうです。

ただし,AOSの時刻は日付け+時間のフォーマットではなく,UNIX timeが表示されるので,理解不能です。


スクイントアングルの計算 - 2002/11月

Predict v.2.2からSGP4/SDP4のサポート・トランスポンダのモード表示が追加されましたが,個人的にうれしかったのは,Trackingモードでの SQA(Squint Angle)の表示の追加です。

SQAとは,衛星のANTが自局に対してどの程度向いているかを現わす数値で,0で完全に向いてることになり,値が低いほどQSOし易いのです。

PREDICTの画面


軌道要素を自動更新する - 2007/1月更新

これまで軌道要素は,jamsat-kepsのメイルをテキストでsambaの共有フォルダに書き出して,マニュアルで更新していました。

FWDNETで軌道要素を自動更新できるLINUXの軌道計算ソフトはないか?と質問されて,PREDICTのマニュアルを読み直したら,有りました。

配布ファイルを展開して,predict-2.2.1/clients/kep_reloadに移動して,rootで以下のコマンドを実行してインストール します。

# ./install

更新スクリプトはkepupdateですが,/usr/local/binにはインストールされません。このスクリプトを適当なディレクトリに移動します。

kepupdateでは軌道要素を入手にwgetを使用しています。インターネット経由で軌道要素を入手する必要があるならば,wgetをインストールして 下さい。軌道要素は衛星名ではなくカテゴリ番号をキーにして更新されるので,配信されるデータが 例えば RAFT から NO-60 と変更になっても,大丈夫です。

当局はjamsat-kepsで配信されている内容をsamba経由でファイルに落としていますので,kepsupdateを次のように書き換えました。

/usr/local/bin/predict -u /home/samba/amsat.txt
/usr/local/bin/kep_reload localhost

またjamsat-kepsの配信は週末が多いので,crontabにて 土曜の夜に kepsupdate を起動しています。

0 0 * * 0			 /home/jh4xsy/bin/kepupdate

FT-736, IC-821他を制御する - 2016/9月更新

gsat 用のプラグインとして  FT-736 の他に,ICOM汎用のプラグインを作成・gsatの作者に送付したけど,predict のリリースにマージされないので,ここで公開します githubに移しました。

ICOM汎用プラグインについて補足。

デフォルトではシリアルポート /dev/ttyS0,通信速度 9600baud,CI-Vアドレス 0x54 に設定される。設定を変更する場合は,"SXX:IXX:D/dev/ttyXX" の書式で指定する。S,I,Dはそれぞれシリアルスピード,CI-Vアドレス,シリアルポート名で,XXに実際の値を書き込むこと。


SatTrackで衛星軌道計算

SatTrackの画面構成など詳しい情報はv4.1のものですが,こ ちらをどうぞ。

これはX11対応で,TrackBoxを使った衛星追尾とTS-790等の無線機の周波数制御が出来ます。私は後述の改造で,FT-736を使って,KO- 23をH24で追っていました。


SatTrackからFT-736を制御する

ヘッダファイル(include/sattrack.h)にはFT-736とIC-970用のフラグがありますが,ソース (satctrl.c)では対応する部分が空になってます。(^^;

これに気づかずにFT-736を買ったので,対応する部分のコードを付け加えました。

ただしhackingが不十分で (^^; FT-736のCAT機能のON/OFF・サテライト運用の設定は別 プログラムになっています。HI

myconf.tar.gzに,FT-736の周波数制御コードと,FT-736のフラグを 立て たヘッダファイル,バイナリの格納先を/usr/local/SatTrackに修正したMakefile等を格納してありますので,良かったらご利用下さ い。

以下にそれを利用したときのコンパイル手順を示します。

$ tar xvfz sattrack-3.1.5.tar.gz
$ cd SatTrack-3.1.5
$ tar xvfz myconf.tar.gz
$ mkdir /usr/local/SatTrack
$ cp -rp data obj pred run tle /usr/local/SatTrack
$ cd src
$ make

あとは,初期設定ファイル(/usr/local/SatTrack/data/default0.dat)で,QTH,衛星のカタログ番号,CAT I/Fを繋いだシリアルポートを指定すれば,sattrackを起動すれば 即 追尾可能となります。

注:登録されている衛星のデータが古く,FO-29あたりから未登録となっています。これは /usr/local/SatTrack/data/index.datに 衛星のカタログ番号と名称をエディタで地道に追加することで対応し ましょう。


SatTrackのY2K対応

…と言うコトで使用してきたSatTrackですが,99年末にSuSE 6.3に上げた時に,放置したままとなりました。

が,久しぶりに使うと「日付表示がマイナス」!で何か おかしい。あれこれ調べたところSatTrack 3.x.xはY2K compliantではないし,作者の方もメンテしないそうです。

MacLinuxの調査でインターネットを検索していたら,棚ボタ! SatTrack の Y2Kパッチがありました。

パッチのURLは下記の通り。

ftp://ftp.rising.com.au/pub/hamish/sattrack/sattrack_3.1.6-7.diff.gz

sattrack (3.1.6-6) unstable; urgency=medium

 * Y2K fix (closes: #53800)
-- Hamish Moffatt <hamish@debian.org> Mon, 3 Jan 2000 09:58:37 +1100 

SuSEで,sourceからコンパイルして,動作を確認しました。>TKS, VK3TYD局。


PB,PG

Linux用として G4KLX他 によるX11版のXPB他一式(AX.25対応のkernelが必要)が公開されていました。使い勝手はDOS版と同じだと思います。 ( DOS版は使ったことがないのです。)

XPBによるKO-23の受信 - 画面ダンプ(約39kB)

・インストール

$ xmkmf
$ make all
$ make install

最近は まったく 使用していません。(^^;


Falcon - 2019/5月 new

現時点で稼働中のPacsat BBSはFalconSat-3だ。アクセスにはWiSP相当のソフトが必要で,お勧めはac2czさん作のFalconだ。 動作環境は Win/Linux/Macで,SUN謹製のjavaが必要/openJDKでは動作しない。あとFalcon起動時に「KISS TNCをFull Dupelexに設定するコマンド」を発行するので,ステキです。

Falconには受信したテレメトリをFoxTelem風に表示する機能,受信しテレメトリをAMSATにアップロードする機能がある。受信結果は AMSATのleaderboardに て確認できる。

Falcon

戻る


(C) 1998 JH4XSY
Last revised 5-Jan-2020