direwolfで9600bps aprs
これまで、soundomodemを使ってRaspberry piとUSBサウンドブラスターと無線機を使って1200bpsのaprs運用が
できることを確認していました。
9600bps運用もできるとのことだったので、アマチュア無線技士としては技術的興味による自己訓練を
行わなければならないと奮起しました。
9600bpsを受信してデコードするには、無線機の音声をそのまま入力してもデコードしません。
検波器から直接、信号を引っ張り出す必要があります。最近の無線機は、データー通信用の専用端子があるので
そこから音声信号を取り出せば簡単でいいのでしょうが、それでは面白くありません。
とりあえず、四苦八苦の末、9600bpもsoundomodemを使って動くのを確認しましたが
direwolfというソフトを使うと
より感度が良いとのことでチャレンジしました。なお、1200bpsでの受信については、direwolf.conの設定を1か所
9600を1200とするだけですし、音声は、無線機のSP出力を直接取ればいいのでとても簡単です。
soundomodemでの9600運用のページも作ろうかと思っていましたが、direwolfで動くのでもう誰も必要と
しないでしょうから作成はやめときます(^^;
両方を動かして感じたのは、やはり、感度はdirewolfの方が良いですね。あわせて、単独でaprs-serverへデーター送信が
できますのでxastirを動かす必要がありません。
aprsの受信環境僻地へのエリア拡大にはもっていこいかもしれません。
送受信の実験には、FT-712Hを使いましたが、FT-73というハンディ機でも受信できます。
受信ポイントの取り出し方法も掲載しました。(2020.06.06)
1.無線機の準備
9600bpsといえば、G3RUHという人はパケット通信に深くかかわってきた局でしょうね。
昔パケット通信にはまった人には、9600bpsといえば、無線機は、YAESUのFT-712と答えるのでは?
パケット通信をやっていたころは、この無線機は神機といわれるほど人気がありました。私も2台保有していて、
1台のFT-712Hはすでに送信ポイントと受信ポイントから線は引っ張り出してあります。
早速引っ張り出して、とりあえず、配線が外れていないか確認。
FT-712 9600データー取り出しポイント
(1)RX AUDIO
IF UNIT(F2937101)へ接続するためのコネクタの8番ピンから引き出します。(黄色線)
(2)TX AUDIO
デビェーション調整用のVR03の中点に100kΩの抵抗をはんだ付けして引き出します。(茶色線)
送信をしない場合は、これは、必要ありません。
それぞれ、GNDを近くから取り出します。(赤色と緑色)
こんなのを見ると懐かしい。
あとは、3.5インチステレオPINのL側(先側)に信号線。GND側にGNDを接続します。
これで、信号の取り出し完了。受信側をサウンドブラスターのMIC側。
送信側をSP側に接続します。
音量を調整しますが、送信側信号からノイズが出て使い物にならない。
MIC側のEnableを外すとサウンドブラスターの音声出力のノイズ音が消えました。
どうなっているのか悩みましたが下記の設定でこれをクリアしました。\(^o^)/
なお、受信側しか使わない場合は、気にする必要はありません。
2.direwolfのインストール
cd ~
sudo apt install libasound2-dev
git clone http://github.com/wb2osz/direwolf
cd direwolf
make
sudo make install
このあと、設定ファイルをインストールします。
make install-conf
/home/piに設定ファイルがコピーされます
そのあと、ICONを作るかと下記メッセージが出てきます。
必要ないので下記コマンドはいれません。
入れてもデスクトップにオオカミのアイコンができるだけですので
クリックしなければ時に影響はありません。
This will add a desktop icon on some systems.
This is known to work on Raspberry Pi but might not be compatible with other desktops.
make install-rpi(必要ありません)
direwolfは、非常によくできたソフトです。単体でI-GATEができますので受信するだけならxastirを
動かす必要もありません。
今回は、実験なのでSSID-4で設定しました。symbolは、家です。
direwolf単体で動かす場合に、この家のsymbolを出すのにどうすればよいか悩みました。
答えは、のちほど。
SSID-10とかを使う場合は、symbol設定が変わってきます。デフォルトで書いてあるので簡単です。
3.direwolf 設定
(1)sdr.conf
nano sdr.conf
下記5か所を設定します。
ADEVICE null null
CHANNEL 0
MYCALL JR6PUE-4
IGSERVER fukuoka.aprs2.net
IGLOGIN JR6PUE passcode(自分のパスコードを入れてください)
(2)direwolf.conf
設定ファイルを開くと数多くの設定があるので戸惑います。
受信専用のR-Gateに特化すると割り切りますので設定個所は限られます。
設定の時にサウンドブラスターのカード位置により
ADEVICE plughw:1,0の設定を2にしないといけない場合がありますので
確認しておきます。
私は、2にしないと動きませんでした。
pi@Soundmodem:~ $ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: b1 [bcm2835 HDMI 1], デバイス 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
サブデバイス: 4/4
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
カード 1: Headphones [bcm2835 Headphones], デバイス 0: bcm2835 Headphones [bcm2835 Headphones]
サブデバイス: 4/4
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
カード 2: S3 [Sound Blaster Play! 3], デバイス 0: USB Audio [USB Audio]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
ここのカード 2: S3 [Sound Blaster Play! 3], デバイス 0: USB Audio [USB Audio]
nano direwolf.conf
設定が多く出てきますが基本的には、下記の箇所だけです。
それ以外のところは、コメントアウトしてください。
ADEVICE plughw:2,0 #私の場合は、これでした。 plughw:1,0の場合もあります
ACHANNELS 1
CHANNEL 0
MYCALL JR6PUE-4
#MODEM 1200 #1200bpsの場合は、ここを活かして9600をコメントアウトしてください。
MODEM 9600
AGWPORT 8000
KISSPORT 8001
PTT /dev/ttyUSB0 RTS #送信用の回路ができていてRTSもしくDTRでPTTを制御する場合は活かしてください。
#DTRでPTTを制御している場合は、RTSをDTRに変更してください。
PTT制御回路は、このページを参考にしてください。
#以下の3か所は、direwolf単体でR-Gateする場合には設定していくださいxastirを使う場合は、コメントアウトしてください。
IGSERVER fukuoka.aprs2.net
IGLOGIN JR6PUE-4 passcode(自分のパスコード)
OBEACON sendto=IG delay=0:30 every=60:00 objname=JR6PUE-4 symbol="/-" lat=3〇^〇〇.16N long=13〇^〇2.〇9E comment=" RX-Only direwolf IGate 9600bps"
*経度と緯度は、ダミーです。(^^;
R-GATE(SSID-10)の場合は、symbol=\& overlay=Rでかまいません。自宅マークは、http://www.aprs.org/symbols/symbols-new.txtを参考にして
symbol="/-"と書くとsymbolが家になります。また、 symbol="R&"でもsymbol=\& overlay=Rと同じになります。
(3)手動で起動
設定が終ると下記コマンドで起動が確認できます。
direwolf -t 0
direwolfのまま起動すると色がついて非常に見づらいです。
soudmodemとかに比べると簡単に設定ができると思います。
(4)direwolfを単独自動起動
自動起動は、/etc/rc.localに書けばいけるだろうと思っていたら動きませんでした。
だいぶ悩みました。シェルスプリクトを作成して起動させないと駄目なようです
@direwolfを起動用シェルスプリクト作成
nano /home/pi/autorun.sh
#!/bin/sh
/usr/local/bin/direwolf -t 0
実行権をつけます
sudo chmod a+x autorun.sh
A自動起動設定
nano /home/pi/.config/autostart/direwolf.desktop
[Desktop Entry]
Name=direwolf
Exec=lxterminal -e /home/pi/autorun.sh
Type=Application
Terminal=true
ポイントは、ターミナル画面を起動してその中でdirewolfを起動させるということです。
sudo reboot
うまく自動起動するはずです。
(5)direwolf + xastir
direwolfを使ってxastirを起動します。
この場合、direwolfは、KISSモードで利用することになります。
@direwolfをKISSモードで起動させます
nano /home/pi/autorun.sh
#!/bin/sh
/usr/local/bin/direwolf -p -t 0
実行権を確認。このHPで順番にやってきているならすでに実行権はついています。
なければ下記を実行
sudo chmod a+x autorun.sh
Axastirを起動させるシェルスプリクト作成
(2022.02.20時点の最新OSでxastirをインストールした時)
sudo apt install xastirで最新版のDebian Bullseyeにインストールすると
2.1.6-3 armhfバージョンがインストールされました。
このバージョンは、実行権がrootでないと動かないようです。
pi@raspberrypi:/usr/bin $ ls xastir -l
-rwxr--r--1 root xastir-ax25 1194588 12月 15 2020 xastir
そこで、piでも動くように実行権を変更します。
sudo chmod a+x usr/bin/xastir
pi@raspberrypi:/usr/bin $ ls xastir -l
-rwxr-xr-x 1 root xastir-ax25 1194588 12月 15 2020 xastir
実行権がroot以外でも動くようになりました。
以降、xastirを起動させるシェルスプリクト作成の下記対応を行います。(2022.02./20)
nano /home/pi/xastir.sh
#!/bin/sh
/usr/bin/xastir
xastir.shに実行権をつけます
sudo chmod a+x xastir.sh
【xastirを自動でコンパイルしてバージョンアップ】
Raspberry Pi OS (32-bit) with desktop Image with desktop based on Debian Buster
Version:May 2020 Release date:2020-05-27 Kernel version:4.19
で sudo apt install xastirでインストールされるバージョンは、2.1.0です。
現在、xastirの最新バージョンは、2.1.7です。(2020.06.08現在)
コンパイルしてインストールすると/usr/local/bin/xastirにインストールされますので、
xastirがインストールされているディレクトリーを確認してxastir.shを設定してください。
また、別のページで紹介した自動起動のディレクトリー設定も気を付けてください。
なお、最新版を自動でインストールするスプリクトが公開されています。
この情報は、にゃん太郎とアマチュア無線のブログ情報からです。
参考になりました。ありがとうございます。
各OSにあわせてシェルスプリクトがあります。
http://www.175moonlight.com/xastir/
ここのラズパイ用を使います。
raspbian-xastir-git-build.sh
これを使うと簡単にバージョンアップできます。
(1)現在使用しているxastirをアンインストール
sudo apt-get remove xastir
(2)シェルスプリクトをダウンロード
wget http://www.175moonlight.com/xastir/raspbian-xastir-git-build.sh
(3)シェルスプリクトに実行権をつける
chmod +x raspbian-xastir-git-build.sh
(4)シェルスプリクトを実行
./raspbian-xastir-git-build.sh
以上で、すべて必要なソフトを含めてコンパイルしてくれます。
また、xastirの設定は引き継いでくれますので非常に助かります。
/home/pi/.xastir/conf/xastir.cnfが設定ファイルです。
残念ながらスプリクトのリンクが切れています。(2022.02.20)
Bdirewolfをxastir用に設定します。
nano direwolf.conf
下記三か所を#でコメントアウト
IGSERVER
IGLOGIN
OBEACON
Cxastirを自動起動するようにします。
nano /home/pi/.config/autostart/aprs.desktop
[Desktop Entry]
Name=xastir
Exec=lxterminal -e /home/pi/xastir.sh
Type=Application
Terminal=true
reboot
Dxastirを設定
Interface −> Add −> Serial KISS TNCを追加
Device 0 AX25 TNC sm0は、soundmodem用です。direwolfのみの利用については、必要ありません。
Device 2 を設定します。
TNCportは、起動タイミングで/dev/pts/1 もしくは、/dev/pts/2になるようです。
その上部に/tmp/kisstncがあり、そこから、/dev/pts/につながっています。
TNC Portが/tmp/kisstncとなります。
設定したら再起動して、正常に動作するのを確認します。
サウンドブラスターとソフトウェアでG3RUHが運用できるなんてびっくりです。
20年前には、想像もつきませんでした。
受信感度ですが、半径10kmくらいなら拾うみたいです。十分ですね。
あくまでも実験なので、本格運用はdirewolfで運用するローカル局のJH6URJ−10にお任せしたいと思います。
びっくりなことに、JH6URJ-10の受信している無線機は、YAESUのFT-73というとても古いハンディ機です。
これで、9600bps信号を引っ張り出しています。
ここのHPに各種古い無線機の引き出し情報が掲載されています。
FT-73 9600bps受信信号引き出し(改造したJE6JVD局からの情報)
FT-73 で9600bpsが受信できるとのことで、1台持っているのでやってみることにしました。
まずは、信号取り出しポイントの確認。
ここのねじを外すと、中にトーンスケルチ用のコネクタがあります。分解は不要です。
ピン1(白): 'TONE'-モデムからのTX信号
ピン6(黄色): 'DET IN'-モデムへのRX信号
ピン10(黒): 'GND'-グランド
オレンジ色のコネクタを引き出して、受信用信号が出ている黄色の線にステレオケーブルの心線(L側)をつなぎます。
ちょうど、抵抗の線を引っ張り出してあるので引き出し口にはんだ付け。
グランドは、黒色の線ですが加工が大変なので、電源端子に直接はんだ付けしました。
ちなみに送信用信号もこのコネクタに入れればよいとのことですが、今回は受信のみ。
なお、グランド用の線がむき出しだったのでヒシチューブを使いましたが一番細いのを使いましたがまだ大きかったようで
ふたを閉めるのと外部への引き出しに苦労しました。線の大きさには注意です。
ということで、やり直しました。電池ケースの一部を欠いて線の引き出しを容易にしました。
引き出しも終わり、サウンドブラスターのMIC側に接続してみました。
無事に9600bp信号を受信しています。
(2020.06.06)