Linux+XASTIRでAPRS IGATE
日本でもAPRSが普及して、固定局にIGATEを上げる方が増えてきました。(2007/12/17)
IGATEを行うソフトは、古くはaprsd,今はUI-View32が主流です。
前者はGatewayに特化していてGUIも無くて設計が古く、後者は残念ながらMSのOSが必要です。
24時間動かすものですから、予備の確保のためにハードオフの1050円デスクトップPCとか3150円ノートPCでなるべく安く上げたいものです。
見栄えも欲しいですね。
ここでは以下の条件で、OS代含めてソフトウェアはタダで、ハードも古めのもので出来るケチケチIGATEの構築をしてみたいと思います。
なお、この稿をまとめるに当たり、JH4XSY局のWebページとJAPRSXのXASTIR掲示板を参考にしています。
・OSはLinux
ディストリビューションは何でもOKですが、Vine 4.1で構築してみたいと思います。
HDDにインストールして恒常的な運用を目指すので、各種Live CDやUbuntu等のソフトウェアプレーヤ的なディストリビューションは避けましょう。
HDDは空きが100MBもあれば地図込みで入ると思います。
トップ写真のノートPCはハードオフで3150円で売っていたもので、HDDとメモリだけ増やして現在の仕様はPentiumII 233MHz 320MB 6GB HDDです。
使えなくは無いですがさすがにのろいので、PentiumIIIクラスは欲しいところです。
メモリは最低256MB程度は欲しいですね。
・クライアントはXASTIR
見た目が派手で機能も豊富です。
何より無料の地球地図が使えるのがありがたいです。
今回は執筆時点の最新安定版の1.9.2をソースからコンパイルします。
INET -> RFのパッチを当てて送信しやすくするためですが、既にそれなりにAPRSの信号が入感する場所では不要な機能なので、パッケージを使って5.起動スクリプトの作成 からの設定を参考にして下さい。
GUIがあるため、デーモン化出来ません。
必ず一般ユーザでログインして起動になります。
最近はスクリーンセーバーがあるのでセキュリティ上は問題は少ないと思いますが、気になる方は諦めて下さい。
・TNCを使う
TNCの入手は現在困難ですが、soundmodemはLinuxではカーネルの再構築等あるので今回は避けたいと思います。
TNCのROMはコマンドモードでも動作しますが、設定が簡単で安定動作に優れたKISSモードを前提にします。
XASTIRは勝手にはKISSモードにしないので、事前に何らかの手段で変更しておきましょう。
TAPR TNC-2と互換機はcu等のターミナルソフトで
cmd:KISS ON
cmd:RESTART
ですね。
カントロニクスは
cmd:KISSMODE ON or cmd:INT KISS
cmd:RESET
です。
私の家のタスコTNC-22はKISSCEXを入れてKISSモードでしか動かないようにしています。
・とりあえず動く程度
XASTIRはしゃべったり踊ったりと凝った機能がありますが、APRSの根幹に関わる以下の機能以外は説明しません。
・RF to RF(デジピート)
初期のAPRSから存在する機能です。
首都圏のような過密地帯を除けば使えるようにしたほうが良いでしょう。・RF to INET(見えた局は基本的にAPRS-ISへ報告)
直接見えた移動局を全て報告します。・INET to RF(APRS-ISにある、近所の局の情報を送信)
そのままでは寡黙なのでパッチを当てておしゃべりにします。
おしゃべりすぎても困るので近隣の局の情報だけに絞ります。
・地図の表示
地球地図をインストールして、県市レベルの地図表示を行います。
Google Mapほどの詳細さはありませんが、無料かつデータがHDD格納可能な地図としては十分実用的です。
・これを読んでいる人がそれなりにAPRSとLinuxの知識があること
双方とも知識が無い方はまずは勉強して下さい。
APRSは一度はUI-View32を動かして正しい挙動が何か分かっている程度の知識が必要です。
さっぱりなかたはAPRS入門で勉強して下さい。
Linuxはシェルの使い方、tarアーカイブの展開方法、suやrmやviの使い方、パッケージのインストールとソースからのmakeが出来る程度の知識が必要です。
プログラミングの知識は無くても良いですが、パッケージを動かすだけ程度の知識では無理でしょう。
1.OSのインストール
普通にインストールして下さい。
ワークステーションとかサーバとかの選択がある場合は、今回はGUIのあるアプリケーションですのでワークステーションが無難でしょう。
HDDはXASTIRそのものには殆ど消費しませんが、地図は100MB程度見て置いて下さい。
XASTIRはGUIがあるので、最低一般ユーザを1アカウント登録して下さい。
ここでは仮にmaachanとしておきます。
2.OSの基本動作チェック
最低X-Windowとインターネット接続の確認は必要です。
3.XASTIRのコンパイル前準備
しばらくはsuでスーパーユーザになって作業です。
synapticパッケージマネージャ等を使って以下をインストールして下さい。
検索機能で探すと早いです。
当然ですが、組み込み用ヘッダファイル等が別途パッケージ化されていれば(大概何とか-develという名前)、それも必要です。
ソースしか公開されていないものも存在するかもしれません。
それらは自分で事前にコンパイルして下さい。
必須
コンパイル環境(gcc,Xライブラリ,make,perlとライブラリ)
GraphicsMagick(ImageMagickは不可)
コンパイルがうまく通らない場合は
# ./configure --without-perl
でperlサポートを外してみて下さい。
まず必要
あると便利らしい
Berkeley DB 4.2以降(地図表示のキャッシュが有効になる)※4.6はうまく動かないらしいです
Festival(音声合成)
他にも必要なものがあるかもしれません。
4.XASTIRのmake
JH4XSY局のこれも参考にして下さい。
XASTIRの本家からソースを拾ってきて任意の場所(分からない場合は/usr/local/src/あたり)に展開します。
まず、IGATEのパッチを当てます。
srcディレクトリにigate.cがあるので、エディタで開いてcheck_NWS_stationsという関数を直します。
1192行付近に
if ( length >= 3 ) {
があるので、その後に
ok=1;
の行を追加して下さい。
保存後、ソースを展開したディレクトリに戻った後
# ./configure
で前処理をします。
Recommandedが全部yになっていればとりあえずは足りないものが無いので安心ですが、最初はあまり気にしないで下さい。
特にBerkeley DBは環境によってはなかなかyesにならないと思いますが、これが無くても地図の再描画が遅い以外の弊害はありません。
時間が出来てから追求してみて下さい。
問題無さそうなら
# make
して
# make instal
しましょう。
5.起動スクリプトの作成
パスの通っている、例えば/usr/local/binあたりに起動スクリプトを作ります。
ここではxastirrunとします。
#/bin/sh
export LANG=C
xastir -lenglish&
# chmod +x xastirrunしておきましょうね。
6.シリアルポートの使用許可
/etc/groupのttyとuucpの最後の:のあとに、xastirを起動するユーザ名を追加します。
tty:x:5:maachan
uucp:x:14:uucp,maachan
疲れたでしょう。一服するためにOSを再起動して下さい。
7.試験起動
XASTIRを起動する一般ユーザでログインして下さい。
シェルを起動して起動スクリプトを起動です。
maachan % xastirrun
最初に設定画面が出るので、分かる範囲で入力して下さい。
世界地図が表示されて、しばらく放置して変なエラーで異常終了しなければ設定を保存します。
File > Configure > Save Config Now!です。
選択後はFile > Exitで終わって下さい。
なお、シェルにいろいろデバック情報が表示されますが、不具合が無ければ気にせずにそのままにして下さい。
8.地図のインストール
/usr/local/share/xastir/mapsに地図のshapefileと領域定義のdbfawkファイルを置きます。
JH4XSY局のこちらを参照して下さい。
地図データそのものはみんなの地球地図簡易版からshape形式バージョン1.1を落とせば楽です。
dbfawkファイルはこちらです。
Map > Map Chooserで、以下のファイルを選択します。
Applyを押して確定後、おもむろにPropertyを押して詳細設定です。
地図の操作は地図がアクティブウィンドウになっている時に、カーソルキーでスクローク、PageUP/Downキーで拡大縮小、Homeキーで自局が画面の中心になります。
ちなみにXASTIRをmakeしたらUI-View32の地図をXASTIRで使えるように出来るスクリプトが出来上がりますよ。
ソースのscriptディレクトリ以下にあるinf2geo.plです。
perlスクリプトの中身が読める方は有効に使って下さい。
UI-View32用地図は作り方が公知です。
9.インターフェースの設定
Interface > Interface ControlからAddで追加します。
最低Internet ServerとTNCの設定が必要です。
有効(UP)/無効(DOWN)の制御もこのウインドウで行います。
Add済みインターフェースの修正はInterface ControlでDeviceを選択してPropertiesです。
TNCはいろいろあるので環境に合わせて下さい。
Serial TNCが普通のコマンドモードのTNCをシリアルポート直接接続です。
Serial TNC w/GPS on AUX portはTH-D7やTM-D700、昔あったGPS接続可能なケンウッド製TNCのことです。
GPS-無線機-PCと数珠繋ぎに出来ますが、初期化ファイルを直さないと使えないのであまり意味が無いかもしれません。
Serial KISS TNCはKISSモードになっているTNCをシリアルポート直接接続です。
AX25 TNCはAX.25ドライバ配下のTNCです。Linuxカーネル内蔵のTNC制御機能を使う場合に選択しますが、普通の方にはまず用がありません。
Networked AGWPEはWindows PCでAGWPEが動いていたら、LAN経由で拝借できます。
Serial WXはウェザーステーションを繋いで気象情報の取得に使います。
Serial GPSはGPSで自局の位置の取得に使います。
Configure InternetのPASS-codeはUI-View32の5桁の方のコードと同じです。
ちなみにXASTIRをmakeしたら出来るcallpassというコマンドで5桁の方のコードは分かってしまいます。
INET -> RFを行う場合はFilter Parametersは必ず設定して範囲を絞りましょう。
m/200は現在地から半径200Km迄の局のみ有効とします。
Configure KISS TNCのDigipeat?はデジピートするかどうかです。
ONするとデジピートしますが、動作設定は次の10..デジピートの設定を参照して下さい。
TNC Portはシリアルポートのデバイス名です。COM1がttyS0ですね。
Port SettingはRS-232Cの速度です。
TNCから電波になって出る速度ではありません。
TAPR TNC-2と互換機はTNC内部のディップスイッチやジャンパスイッチで設定し、カントロニクスは半自動設定なのでよくマニュアルを読んで下さい。
非常に古いTNCは速度が高いとまともに動作しません。最初は1200bpsあたりでやってみて下さい。
Igate Optionsは11.IGATEの設定を参照して下さい。
KISS ParameterのInit KISS-mode on startupはTXDelay等の初期化だけのようで、コマンドモードからKISSへの切り替えはしないようです。
各パラメータの詳しい説明はしませんので、考えてみて下さい。
理解できない部分はこの通りが無難です。
10.デジピートの設定
XASTIRを一度停止後、~/.xastir/config/xastir.cnfをエディタで開いて下さい。
RELAY_DIGIPEAT_CALLS:WIDE1-1となっています。
地域によってはそのままで通用すると思いますが、WIDEn-Nが未展開の地区(2007年末では日本のほとんど)はRELAYに書き換えます。
詳しくはこちらを参照して下さい。
なお、カンマで区切って複数並べると各々いずれかがマッチするとデジピートします。
RELAY_DIGIPEAT_CALLS:RELAY,WIDE,WIDE1-1
といった指定では、RELAYかWIDEかWIDE1-1のいずれかが入っているとデジピートします。
11.IGATEの設定
12.最終動作確認にあるFile > Configure > Defaultsと 9.インターフェースの設定にあるInterface > Interface Control > TNC個別設定の2箇所 を両方設定します。
JH4XSY局のこちらを参照して下さい。
なお、RF -> INETは無条件で推奨しますが、INET -> RFは既にAPRSの信号が受かる場合はしない方が混雑回避になります。
~/.xastir/data/nws-stations.txtは適当にエディタでTCPIPとか入れたテキストファイルを作っておいて下さい。
無いとINET -> RFが動かないようです。
12.最終動作確認
デジピートやIGATEが問題なく出来ているか目視で確認して下さい。
View > Incoming DATAやLocal Stationなどを表示すると良いでしょう。
参考までに私の設定を紹介します。
File > Configure > Station
コールサインはアマチュア無線の識別信号です。DIGI/IGATE局は-3をつけるのが慣習です。
LATやLONGは自局の位置の緯度経度です。
Station Symbolsはアイコンです。当然X-WindowのXを選びましょう。
PHGは自局の送信出力やアンテナ利得、指向性等の設定です。到達カバー範囲を明示したい場合に使いますが、Disableでも文句は来ません。
File > Configure > Defaults
Transmit Station Optionは移動するのかしないのか、気象情報を扱うのか、時刻がUTC(=Zulu time)なのかローカルタイムなのかです。
IGATE OptionはIGATEの方向です。
あとは理解できないならこの通りが無難です。
File > Configure > Save Config Now!をお忘れなく。
以上です。
沢山増えたらいいな。
リンクは間違った紹介を防ぐためにも事後で結構ですのでメールを下さい。
こちらからもリンクさせていただきます。
なお、時々構成変更があるので、XASTIRに関する話題の場合はこのページをリンクして下さい。
個々のコンテンツへの直接リンクはお断りします。
メールはこちらへ