史上最簡單平宜 iGate 方案,Direwolf + SDR 入門應用

 

direwolf_cover

前言

近月從管理平台發現不少舊文的溜灠率奇高,其中多和 TNC 有關;估計是新一批 Ham 蠢蠢欲試。

有人試,就是這個 blog 的動力。不過可行方案太多,實不能續一測試評頭品足。

Anyway,現在介紹一個易設的 iGate 方案,以我的標準來說,應是最簡單的方案了,原因是無需銲接,MCU 編程等。

這是在 Raspberry Pi 上運行 DireWolf + SDR 手指方案。

 

APRS 入門之路

ham 入門,遇到的首個問題是要找到志同道合的人交流、測試。發射無人接收與回應是令人沮喪的。

語音方面,不外 in band,到中繼嗌 CQ,但回應也不是必然的。

APRS 方面,起一個私家陣較適合,不論陰晴,在家隨時就可測試;想到街外試,也只需放條天線到窗邊就 ok,不假外求。

 

Why Direwolf + SDR

對初學者來說:

  • Direwolf 作者很用心做了很詳細的說明書,只需跟著照做一晚時間就搞掂,無需四處張鑼 guideline ,反覆測試。
  • Direwolf 功能強大,一個 solution 包含 tracker iGATE digipeater 等等功能。可專注一個 solution 玩法,繼而成精。
  • Rpi + SDR 不需要外配接收機,成本最平。
  • 這是一個 Rx only iGate,純接收的 iGate;設定成功率極高。與可發射的相比,可發射硬件的設定是和 Echolink 一樣的。不過新手遇到問題往往是 sound dongle 與接收機的接線,音量配搭。這沒有固定統一的方案可用,只能各施各法。
  • 與其他 TNC 方案相比,Direwolf + SDR 手指方案無需銲接,MCU 編程。這些對不善於硬件處理同好更方便。這是軟件年代的好處。
  • 與其他類似功能的 Linux packagemultimon-ng 相比,Direworlf 優化了在 Rpi 的運行。自稱解碼率也相當高。

 對我來說:

  • Direwolf 支援 APRS 9600。能整合 APRS 1200/9600 應用是我的心願,雖前路十分漫長。
  • Direwolf 支援 APRS telemetry。 整合後應可將 AD 數值回傳,功能和商用品看齊。

 

硬件預備

降低成本,我用的是舊款的 Raspberry Model BOS 則是最新的 Jessie。當然你用最新的 Rpi 2/3 會更爽。

rpi2_direwolf

 

SDR 手指,以前實驗用開的。

整個方案成本約港幣 $300 而已。對比自製 TNC 的成本,銲接人工時間;或商品化的 Tracker/iGate 的售價約 $700 (未計運費);這個價錢既無敵,學到的更多。

 

軟件設置

最新的 Jessie 預設的是登入 X windows GUI 介面,是我們不需的。我們到 Preferences 一欄,更改設定預設為 CLI (文字模式)。其他設定如鍵盤,time zone 等也請設定好。

gui_1

 

gui_2

 

GPU memory 下調到 16 以節省記憶體。之後請 reboot

reboot 登入後,我們先剷除一個用不著又大 sizepackage :

sudo apt-get purge wolfram-engine

這樣就釋放了 640M 了。對一張幾 G 容量的 SD card 來說,這是很寶貴的資源。

 

安裝準備

安裝前先將 SDR 手指接上 RpiUSB Port

另先在自己的電腦下載 Direwolf 完整檔,詳閱 folder doc 內的說明書。這裡只講皮毛速成的東西,所以一定看說明書。

官網連結
https://github.com/wb2osz/direwolf

重點必閱兩個 pdf 文件
Raspberry-Pi-APRS
Raspberry-Pi-SDR-IGate

第一個文件我們這個 project 只需 6-12 頁。
第二個文件只三頁。

先參考第一份文件,由第六頁開始。

 

 

安裝步驟

check 一下 bundlegcc 是否支援 floating point
gcc –v

這會回傳一大堆參數,其以應有 –with-fpu=vfp –with-float-hard

例牌動作,更新 Rpisoftware,firmware
sudo apt-get update && sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update

然後 reboot
sudo reboot

刪除附送的音效 package
sudo apt-get remove –purge pulseaudio
sudo apt-get autoremove
rm -rf /home/pi/.pulse

  reboot
sudo reboot

1.3,1.4 章節有關 IP6 設定和備份可不理。原因 IP6 一般家用環境用不著,這個方案的設定也很簡單,失敗再來也是只一晚半晚的時間。

安裝所需的 sound library
sudo apt-get install libasound2-dev

下載 DireWolf 源碼
cd ~
git clone
https://www.github.com/wb2osz/direwolf
cd direwolf

2.3 章節 有關 hamlib 無需安裝。

2.4 章節是用來作 tracker 的設定。這裡也用不著。有機會另文再談。所以直跳 2.5

編繹與安裝 DireWolf

cd ~/direwolf
make
sudo make install
make install-rpi

make install-conf

DireWolf 安裝完成。可試執行之

cd ~
direwolf

由於我們還未設定相關的音頻輸入,所以會見到錯誤訊息,不要緊,跟著就完成。

這之後就是參考 Raspberry-Pi-SDR-IGate 了。

 

安裝 SDR 所需的 library

sudo apt-get install cmake build-essential libusb-1.0-0-dev

下載,編繹 SDR driver
cd ~
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig

所有安裝動作完成。

留意,說明書內所提到的 home directory/home/pi 。

原文說 sdr.conf/usr/share/doc/direwolf/examples。但實測發現 sdr.conf 己在 home directory

file_list

 

編輯這個 sdr.conf 檔:
nano sdr.conf

將兩處 xxx 改為你的業餘電台呼號連 SSID,以我的測試平台為例是 VR2XKP-15

123456 改為你的 passcode

IGSERVER 後的 server 改為亞洲的 asia.aprs2.net

ctrl-x ,選 y 儲存。

為求安心,做我最善長的動作,又 reboot 一下。

 

測試

登入後,執行以下指令呼叫 direwolf 開工。

rtl_fm -f 144.64M – | direwolf -c sdr.conf -r 24000 -D 1 –

144.640M144.640MHz。可按自身環境需要調到其他頻道。

24000sample rate 24000。留意說明書有部份章節是 44100。這裡我們無需用到這樣高的 sample rate

direwolf_run

留意中段的頻率顯示為144892000Hz,而不是144.640MHz。原因不明

 

我用 FTM-350 作為 tracker,發射一個 beacon,不需一會就能顯示在 aprs.fi

direwolf_client

下方顯示接收到的 Packet 內容

 

xkp-6_direwolf

VR2XKP-6 成功顯示在 aprs.fi 地圖上

一個簡單 Rx-iGate 就完成了。然而這簡單歸簡單,他也不會將自身坐標 plotaprs.fi 地圖上。

先按 ctrl + c 離開。

參考 direwolf.confiGate 一欄,將接收用的一行
的例子移除前綴 # 號,加進 sdr.conf 即可。如想加進comment,也是照辦煮碗的在後面加進 comment=”xxxxxxx”

PBEACON sendto=IG delay=0:30 every=60:00 symbol=”igate” overlay=R lat=22^29.14N long=114^20.83E comment=”test”

需一行完成。

經緯坐標也是新 ham 經常混淆的參數,因有不同表示規格。可到 http://netvicious.com/gps/ 檢索你的位置,就可得出各規格的經緯坐標值。

這裡用度+小數;但例子中也有 UTM 格式的,用那款格式是悉隨專便。

sdr_conf

加進 PBEAON 一欄後,再運行 direwolf,就可顯示 iGate 預設位置

為保私穩,我們可將位置設到家附近的公園,休憩地方,馬路等公眾地方即可。

 

direwolf_xkp6

搞掂。兩機的坐標均為 dummy data。我都希望有咁既 coverage

 

調校

如本 blog SDR 文章內提到,這些廉價 SDR 手指長期運作會發熱,繼而發生頻率漂移。這是理論。但就我過住的測試,盡管天時暑熱下運作幾小時,也不會因此而影響接收 (或影響咗我都唔知)。

畢竟,是在 VHF 接收 1200 AFSK 而已,要求不高的。再者我們的 iGate 放在室內環境,温差也不太。

但如很介意,我會建議在 24×7 運行後一兩個星期後測試是否誤碼很多,再行調校會較實際。過熱頻率漂移不會無限遠,兩星期要漂都漂盡。正常無影響的也無需多此一舉。

Raspberry-Pi-SDR-IGate 最後章節內提到的調校手續,是以 NOAA-1 衛星訊號為基準。但這顆衛星既遠離香港,以衛星作為基準對初學者接收也很有難度。

 

noaa1

 

我們可參考 KK4NXA 放到網上的 Creating an APRS iGate Using RTL-SDRPDF 文檔。第 10,11 頁。簡單來說,是以 GSM 手提電話頻道作參考,計算出誤差並記下。

 

What’s Next

對新 Ham 來說,想進入 APRS 世界裡,這是第一步。
熟習操作後,可進一步設定有發射功能的 iGate
熟能生巧,有了一 set 完整的 APRS 設備後,更多新東西等著你探索

For me :
DireWolf
著眼於 APRS 9600 運用。現成東西就可起個 APRS 9600 設備出來,I like it

APRS 9600 的發射配置,應也和舊文 D-Star iGate 的接線一樣,又是現成的東西。唔試對自己唔住。

其他附帶功能也很有趣,值得測試一下。

 

硬件 TNC 等設備的將來

軟件、互聯網年代下,新軟解方案只會越趨完善。我認為硬件 TNC 將續漸退下舞台。硬件 TNC 的剩餘價值在於供電就運行,無電就停機的簡單邏輯上;較適合用於電源唔穩定的惡劣環境。

這是電腦和 Rpi 不能及的,時停電對 Hard disk,讀寫中的 SD card 是致命。

 

總結

藏器於身,即時使用。用來形容這個方案最適合不過。

 

2016-Aug

這是 2016 年八月的 iGate 地圖。 新 Ham 可會留下你的足跡

 

下期上映

是久違了的傳感器應用系列,需環境所限不太成功,但也可介紹一下新玩意。

This entry was posted in APRS, SDR and tagged , , , , . Bookmark the permalink.

One Response to 史上最簡單平宜 iGate 方案,Direwolf + SDR 入門應用

  1. Griffin Bai says:

    我是按照SQ7MRU的说明 https://sq7mru.blogspot.com/2013/08/aprs-igate-rx-z-tunera-dvb-t.html 安装了asdil12 https://github.com/asdil12/pymultimonaprs

    曾经也实验过DireWolf + SDR ,但有些封包却不能正确的解码,记得是因为部分HAM发射时用了非法文字叙述内容,而需要变更启动指令但具体多做了啥半年前做的试验现在想不起来了,最后还是维持用上述的pymultimon方案,RTL-SDR在VHF波段跑频的情况比较轻微,只要预先检测好要使用的天线组合PPM误差值,使用1年多也没再变更过。

Leave a Reply

Your email address will not be published. Required fields are marked *