Raspberry PiとRTL2832Uを使って、APRSのiGateが構築できることを知りました。受信専用ですが、無線機も占有されないし、パソコンも起動しなくてよいのでARISS用には都合がいいと思います。
145.825 MHzをRTL2832Uで受信して、そのデータをDire WolfというソフトウェアTNCにリダイレクトして、iGateのサーバーにデータを投げる仕掛けのようです。
参考にしたサイト
ラズパイ3でAPRS iGate - Chigashi_Wiki (0t0.jp)
にゃん太郎とアマチュア無線 : RTL-SDR+direwolf+xastirでのAPRSの運用 (ldblog.jp)
参考サイトの手順とだいたい同じ手順で、つまづいた部分を追記しました。以下の手順でできると思いますが、APRSのサーバーに負荷をかけないように慎重にされた方が良いようです。
一連の作業の前に、自分のコールサイン(SSIDは考慮不要)に紐づいたiGateの登録番号が要ります。ネットで探して入手してください。
作り方
- Raspberry PiにOSを入れます。一番基本の、32 bit GUIありが簡単。
- WLANの設定をしてAPに接続します。
GUIでやるか、
/etc/wpa_supplicant/wpa_supplicant.conf をsuで編集する。 - SSHで操作したいので、IPを固定する。
GUIでやるか、
/etc/dhcpcd.conf をsuで編集する。
interface wlan0
static ip_address=192.168.xxx.xxx/24
static routers=192.168.yyy.yyy
static domain_name_servers=192.168.yyy.yyy - SSHをonにする。GUIでしました。
以降は、SSHから作業してます。 - RTL2832Uを使えるようにする。
ユーザー権限で
$ sudo apt-get install rtl-sdr
/etc/modprobe.d/rtlsdr-blacklist.conf をsuで作成し、以下を記入。
blacklist dvb_usb_rtl28xxu
blacklist rtl2830
blacklist dvb_usb_v2
blacklist dvb_core - shutdownして、RTL2832Uを接続して動作確認。
$ rtl_test -t
PLL unlockとかNo E4000 tuner foundとか無線していると怖いようなメッセージが出ますが、それで動作okのようです。 - Dire Wolf Software TNC のインストールする準備
Dire Wolfをmakeする際に必要ですので、以下を入れます。
$ sudo apt-get install git
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install make
$ sudo apt-get install cmake
あと、これもないとインストール中にエラーが出ますので入れます。
$ sudo apt-get install libasound2-dev
$ sudo apt-get install libudev-dev
$ sudo apt-get install libavahi-client-dev - Dire Wolf Software TNC のインストール
$ cd
$ git clone https://www.github.com/wb2osz/direwolf
$ cd direwolf
$ mkdir build && cd build
$ cmake ..
$ make -j4
/home/yourusername/direwolf/conf/sdr.confをコピーして、自分用に編集。
$ cd
$ cp ./direwolf/conf/sdr.conf .
sdr.conf の中身
ADEVICE null null
CHANNEL 0
MYCALL JM2FCJ-10
IGSERVER japan.aprs2.net
# IGSERVER japan.aprs2.net:14579
IGLOGIN JM2FCJ-10 xxxxx ここに自分の登録番号
OBEACON sendto=IG delay=0:10 every=30:00 objname=JM2FCJ-10 symbol="R&" lat=34^xx.xxN long=136^yy.yyE comment="RX-Only iGate 145.825MHz 1.2kbps for ARISS" xx, yyは自分の緯度と経度 - 起動用のシェルスクリプトを書く
dw-start.sh の中身
rtl_fm -f 145.825M -p -10 -o 4 - 2>/var/log/direwolf/rtl_fm.log | direwolf -c /home/yourusername/sdr.conf -t 0 -n 1 -r 24000 -b 16 - 2> /var/log/direwolf/error.log 1>/var/log/direwolf/output.log &
-p -10 は、RTL2832Uを -10 ppm に設定するものです。状況に応じて調整してください。 - 参考サイトの手順通りですが、エラーが出ましたのでその対応。
$ sudo mkdir /var/log/direwolf
$ sudo chown yourusername:yourusername /var/log/direwolf
$ sudo chmod 777 /var/log/direwolf
$ cd /var/log/direwolf
$ touch error.log
$ touch output.log - 起動時にシェルスクリプトを呼ぶように設定
$ sudo vim /etc/rc.local に以下を追記
/bin/sh /home/yourusername/dw-start.sh - 再起動
- 再起動後にログを確認します。
$ cd /var/log/direwolf
以下の3つのファイルができています。
error.log output.log rtl_fm.log
output.log を見ると、IGate server japan.aprs2.net に接続して、適切な負荷が少ないサーバーに自動接続されます。接続先の情報があるURLが表示されていると思います。
小一時間経つと、aprs.fi にアイコンが表示されました。 - 145.825 MHzでパケットを出してみて、受信パケットがiGateを通じてaprs.fiに表示されるかを確認して完了です。
手順6番まではサクサクいきましたが、7番あたりでごちゃごちゃエラーが出たのでDire Wolfのマニュアル読んだり、8, 9あたりも自分用にするのに1日がかりでした。
肝心のARISSのパケットの運用が停止しているので、まだ実運用での確認はできてません😂
0 件のコメント:
コメントを投稿