JR6PUE HOME PAGE

Soundmodemでxastirを動かす


 TNCを使わずにAPRSができる。これってすごいと素直に思います。
 10年以上前からサウンドカードを使ってTNCにできるのは知っていました。
 ただ、設定が複雑だったのと確実性からいうとTNCにはかなわないという視点から興味を示してきませんでした。
 今回、JE6JVDさんから「Raspberry piとサウンドモデムでxastirが動きましたよ」と報告をいただきました。
 興味を示したところ、JE6JVDさんにおおよその手順を教えていただきました。



  時間がとれたので、検証を兼ねてインストールしてみました。JE6JVDさん、ありがとうございました。感謝です。
 動かしてみて、正直、すごいと感じました。これで、TNCが壊れても大丈夫。感激!
 あらためて思うのは、アマチュア無線って一人で楽しむより、いろんな人といろいろ試行錯誤して楽しむものだと
 改めて感じたところです。(2020.03.08)

1.準備したもの
 (1)USBサウンドカード
   MICとSPの2つの入力があるのがいいと思います。安いのでかまいませんが、
   ある程度は信頼できるものがいいと思います。7CH対応とか謳っているものが自宅にありましたが動きませんでした。
   わたしは、無線で使うサウンドカードは、老舗のCREATIVE社と個人的には思い込んでいます。(^^;
   ということで、手持ちのSound Blaster PLAY!3を利用しました。
  
 (2)PTT制御をするためにUSB−SERIALケーブル
    Raspberry piのGPIOから制御できないかと検討しましたが、普通の状態では、制御信号のRTS/CTSが
    出力されていません。ただ、変更は可能みたいな記事があったのでだいぶ調査しましたが、現在、私の知識では、
    できないと断念しました。(涙)
    ということで、素直にUSB-SERIAL家ブルを使ってRTS信号を取り出すことにします。アマゾンにでている
    安いので認識できると思います。

 (3)動作OSバージョン
    Raspbian Buster with desktop
            Image with desktop based on Debian Buster
            Version:February 2020
             Release date:2020-02-13
             Kernel version:4.19
             Size:1136 MB

2.サウンドモデムインストール
 まずは、下記コマンドを実施します。基本、ホームディレクトリーで作業しました。
 参考にしたのは、JE6JVDさんから紹介されたM1GEO局のサイトです。大変、詳しく書かれています。
 xastirのホームページにも解説があります。

 sudo apt-get install soundmodem

3.ax25ツールとxastirインストール
 M1GEO局には、2つのインストール方法が記載されていますが下記で大丈夫です。

 sudo apt-get install libax25 ax25-apps ax25mail-utils ax25-tools ax25-xtools xastir

 インストール中にax25ツールを管理者権限者以外でも使えるようにするかと出るので(はい)としました。


4.サウンドモデムの設定
X-Windowで設定します。詳細は、M1GEO局のサイトに詳しく書かれています。

sudo soundmodemconfig

(1)Start a new configuration with File > New > Configuration.
わかりやすい名前を入力してください。


ax25を作りました。
alsaを選択し、
ALSA Audio Driver plughw:1,0を記載
PTT DRIVERは、USB-SERIALを利用するので
/dev/ttyUSB0を入力



なお、BustrになってttyUSB0は、dialoutでユーザ piが使えるようになっていますので
特に作業する必要はありません。




File->Channel を選択して設定していきます。


Modulator -> afskを選択
Differential encoding must be ticked


Demodulator -> afskを選択
Differential encoding must be ticked


Packet IO −> MKISSを選択


IPでの接続はしないのですが、MKISS設定で行わないと動きませんでした。
KISS設定でも動くのでしょうけど、とりあえず、動かすことを目標なのでこれで良しです。

5.ax25portsの設定
 昔、パケット通信をやっていたころLinuxdeF6FBBを動かしていましたが、あのころLinuxでax25を使うのは、
カーネルコンパイルとかやらなければなりませんでした。あのころに比べればカーネルにax25もすでに組み込まれて
いますし、設定も簡単になりました。
 JE6JVDさんも言われていましたが、ひさしぶりに懐かしい設定を触りました。(^^;

sudo nano /etc/ax25/axports

# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#

#1      OH2BNS-1        1200    255     2       144.675 MHz (1200  bps)
#2      OH2BNS-9        38400   255     7       TNOS/Linux  (38400 bps)
sm0     JR6PUE          1200    255     7       431.04 APRS (1200 bps)

保存

soudmodemconfigのmkiss設定で記載したポートネーム、コールサイン、無線速度、paclen、Maxframe、
説明を記載します
sm0     JR6PUE          1200    255     7       431.04 APRS (1200 bps)

super user以外でxastirが動くように下記のようにします。

sudo chmod 755 /usr/bin/xastir

6.xastirの設定
まず、サウンドモデムを起動します。

sudo soundmodem



起動を確認してxastirを起動します。

あとは、xastirの設定です。すでに別のページで解説していますのでそこを参考に設定してください。
今回は、実験でしたのでI-GATE設定せずにJR6PUE-4の固定局設定で動作を確認しました。
1か所だけInterface設定は下記のとおりです。

TNCの設定
Interface → Interface Control → Add
ax25 TNC


I-GATEを行う場合は、I-Gate Optionを設定します。
今回は、固定局設定なのでこれですが、削除してもよかったのですがI-gate -> RF Pathを
WIDE1-1として記載変更しておきました。


File ->Configure->Save Config Now! クリック(保存しないと再度設定するはめに) 

7.PTT制御を行う
 サウンドモデムの送受信切り替えは、PTT制御とVOX制御がありますが、確実なのはPTT制御です。
 GPIOからRTS/CTS信号を取り出す方法が2013年ごろ紹介されていましたが、すでに、この方法では
 対応できません。
 GPIOに割り当てられたALTの切り替え方法だれか教えてください。(^^;

 USB-SERIAL接続された5番PIN GNDと7番PIN RTS信号を下記回路を作成して、無線機と接続します


回路は、小さなケースに入れて完了。


 ハンディ機などでPTTを使う場合は、少し、回路が複雑になります。
 このあたりを参考にすればいいかと思います。

 なお、受信専用であればモノラルケーブルで接続するだけですのでこの回路も必要ありません。

8.サウンドブラスターと接続
 (1)無線機の音声出力
    無線機のSP端子とサウンドブラスターのマイク入力を3.5φモノラルケーブルで接続します。
 (2)サウンドブラスター出力
    サウンドブラスターは、ステレオ出力です。無線機は、モノラルです。
    このため、サウンドブラスターの音声出力は、モノラルで取り出します。
    L(+)と共通(−)のみ接続して、無線機のマイクとGNDへ接続します。
   
 (3)サウンドブラスターの出入力設定
   Raspbian Busterになって、設定方法が変わっています。
   OSトップ画面の右上にスピーカーマークが出ています。
   スピーカに合わせて右クリックすると出入力の設定画面が出てきます。
                   
   
   あとは、適量な音声に調整します。



9.自動起動

(1)soundmodemを起動

sudo nano /etc/rc.local

ファイルの最後にexit 0とあるので、その手前に起動時に実行したいコマンドをを書きます
sudo soundmodem &

xastirの自動起動の項目に記載しても問題ないと思いますが、
xastirより先に動いていなくてはならないので、rc.localで動かしてみました。(^^;

(2)xastir自動起動
 詳細は、当ホームページのここを確認ください
 ここの2.stretch 9.8の項を参考にしてください。

 pi@Soundmodem:~ $ lsb_release -a
 No LSB modules are available.
 Distributor ID: Raspbian
 Description:    Raspbian GNU/Linux 10 (buster)
 Release:        10
 Codename:       buster

 nano .config/lxsession/LXDE-pi/autostartをすると

 point-rpiは、出てこないので
 @/usr/bin/xastirを最下行に追加だけで大丈夫です。

 あとは、再起動して確認します。

 やってみるといろいろ引っ掛かりましたが、TNCを使わずにxastirを動かせるのはすごいことです。
 
 宿題をいただいております。
 たぶん、大丈夫だと思いますがシステムが暴走して送信しっぱなしになった時の送信停止回路の付加です。
 
 PTTをONするRTS信号を引っ張り出して、そこを起点にRTS信号が30秒くらいONのままだったらPTT信号をOFFに
 すればいいと思います。リレーを使えばできそうですので、 まずは、回路を考えてみなくては。
 完成したらそのうちにご紹介しますが、いつになるやら??(^^; (2020.03.08)