![]()
前言
儘管這個網誌主要講 APRS 和一點數碼化通訊的東西,但無可否認,最受歡迎的是 Echolink 一文。英文版的瀏覽量遠高於其他文章的總和。有點無心插柳柳成蔭的感覺。
究其原因,是 Rpi 剛推出,而明顯 Ham 界十分渴求一種比 MCU 強,省電又普及易得的電腦系統。以之作為 Ham 系統的操作平台介紹,一般也較受歡迎。
而發文後的這兩年,期間也不斷收到各式查詢。主要是安裝問題和軟件升級後的穩定性查詢。我也承諾了今年首季再試。一 delay 就到秋季,業餘時間有限,俗務太多就是如此。
本文主要講述以最新的 svxink 14.08.1 作為 Echolink node 的安裝步驟, RF 干擾預防和周邊配件選擇。
其他 Echolink 的用法,帳號申請和設置, router 的相應設定等等,請參看舊文。
測試平台
硬件為最新的 RPi 2 Model B, Ram 多一倍,ARM 處理器也升級,價錢由最初的不變加到現在的港幣 $330 …,人工有這樣的升幅就不錯。
其他 USB 周邊設備不變,仍是兩年前的配件。
svxink 14.08.1 的安裝重點
- 新版本以 Cmake 為處理安裝程序,這和舊文不同
- 安裝前必需以 adduser 加入 svxlink,這和舊文不同
- 音效處理簡單了,舊文一些相關步驟也因而減省了
- 16k soundclip 變為預設,也証實可用於 RPi 2
- 預設的安裝途徑改了,跟舊文不同
OK,咁點解要睇你
和兩年前不同,其界各地同好也有類似安裝秘笈放上網供參考。當然我也有我的生存之道。只將人家的東西反譯過來,我也懶得投放時間強出頭;add 條 link,讀者用 google translate 加點想像力即成。
我的要點:
- 以中文編寫,圖文並茂的 Echolink 安裝步驟未見普及。
- 可能外國 Linux 較普及,不少用英文編寫的 guideline 起用了一大堆複雜的參數。我但求穩定,可用;步驟較簡單。
- 類似第二點,一些 guideline 當一般 Linux 軟件安裝,步驟,config 講完就算。我也懷疑根未無 production 試用過。
- 音效檔 sound clip 未見詳細。有不少跟著做應係唔 work (production 報時是無聲,找不到音效檔)。
- svxlink 功能強大,有些 guideline 不是用來做 echolink 的,參考價值較低。
安裝步驟
OS 準備
下載最新版的 RASPBIAN,當下的是今年五月五日的版本。
按官網 tutorial,爆到一張不少於 4G 的 micro SD card,然後插到 RPi。留意太大(>8G),高速的新咭未必兼容。
插入 micro SD card, RPi 上電,會進入 configuration 版面,地理位置設為 Hong Kong。鍵盤 to US . (Internationalisation options -> change time zone ; change Keyboard layout )
由於 svxlink 不需在 X windows 下運行,我們將 GUI ram 由 64M 降到 16M。(Advanced Options -> A3 Memory split –> 由 64 降到 16 )
如閣下的 sd card 大過 4G,可用 expand 以用盡容量。後選 reboot。( Expand File System )
初始 OS config 完成。Reboot
Reboot 後,登入;用 sudo shutdown -h now 關機。
硬件準備
將 USB sound card dongle 插到一個 USB port。由於體積較大,用 USB 延長線駁上。
![]()
將 USB to RS232 cord 插到另一個 USB port。留意芯片為 PL2303 即可。據本人其他實驗所知,貴價的 FT232 芯片的 USB to RS232 cable 反而沒有預置 driver,需用家自行安裝,更為不便。
有同好曾查詢以 RPi 的 GPIO 作為 PTT,省回這條 cable 的做法。我沒鑽研,原因簡單: RPi 沒 Mic 輸入,你必需接上 USB sound card dongle。既然如此,插多條 USB to RS232 cable 不會阻多點位。再者 RPi 2 有四個 USB port,要好好利用。
而最重要的是,一條引線由 GPIO 接到 PTT, 較容易 pick up noise。而 RPI 的 GPIO 講明是沒輸入保護的。解決方法不外也是另加 4N25 等隔離。
不複雜但有點揾自己麻煩,費時失時。這是我的睇法。這個project 是軟件應用,硬件盡量用現成的。
另接入一個 USB 鍵盤 和 Network cord,供指令輸入和上網之用。
接電 boot 機,用預設帳號 pi 登入即可。
用指令 lsusb,應可看到 USB device 列表。見到 USB To RS232 和 usb sound card dongle 就 ok。見不到,也可跟以下步驟做更新,更新後再試一下可否見到。但如仍見不到,需換掉直至認到為止。
![]()
軟件,firmware 更新
輸入以下指令更新所有預裝軟件。需約 30 分鐘:
sudo apt-get update && sudo apt-get upgrade
之後輸入以下指令更新 firmware:
sudo rpi-update
完成以上程序,需入指令 sudo reboot 重啟系統。
留意 boot 機訊息,有一 warning。Kernel lacks cgroups or memory controller not available, not starting cgroups ….(warning).
![]()
這個 warning 不礙事,但我也不想見到,輸入以下指令編輯 cmdline.txt:
sudo nano /boot/cmdline.txt
在句末 elevator=deadline 前加進”cgroup_enable=memory “
按 ctrl+X ,選 Yes 存檔。重啟系統即可。
預備功夫初步完成。新手建議先將 SD card 備份。
Svxlink 系統安裝
先加入 “svxlink” user,password 隨意自訂。指令:
sudo adduser svxlink
下載和安裝 prerequisite files :
sudo apt-get install g++ make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl8.5-dev libgcrypt-dev libspeex-dev libasound2-dev alsa-utils libqt4-dev
下載和安裝 cmake:
sudo apt-get install cmake
下載 svxlink 最新版本 14.08.1:
sudo wget https://github.com/sm0svx/svxlink/archive/14.08.1.tar.gz
將之解壓:
tar xvzf 14.08.1.tar.gz
進入解壓後的 folder:
cd svxlink-14.08.1
進入 subfolder src:
cd src
建立 folder build:
sudo mkdir build
進入 build folder:
cd build
執行 cmake,空格後兩點即用 default 路徑:
sudo cmake ..
編譯各檔案,需時約 20min:
sudo make
sudo make doc
sudo make install
更新各 libray link 連結:
sudo ldconfig
svxlink 系統安裝完成,較以前簡潔。可 reboot 一次,或 cd.. 三下回根目錄。
音效檔 soundclip 安裝
下載 16k 美式英語 en_US 音效檔:
wget
https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/14.08/svxlink-sounds-en_US-heather-16k-13.12.tar.bz2
解壓:
sudo tar jvfx svxlink-sounds-en_US-heather-16k-13.12.tar.bz2
新增 svxlink 所需音效檔目的位置:
sudo mkdir –p /usr/local/share/svxlink/sounds/en_US
進入解壓後的 folder:
cd en_US-heather-16k
將所有東西抄到新增的目的位置:
sudo cp –r * /usr/local/share/svxlink/sounds/en_US
音效檔安裝完成。
reboot 一下系統。準備編輯 config 檔。
config 檔編輯
三個 config 檔需編輯,留意預設路徑。沒有了 asound.conf。
/etc/modprobe.d/alsa-base.conf
/usr/local/etc/svxlink/svxlink.d/ModuleEchoLink.conf
/usr/local/etc/svxlink/svxlink.conf
編輯 alsa-base.conf,指令:
sudo nano /etc/modprobe.d/alsa-base.conf
在第 17 行末端的 -2 改為 0 :
options snd-usb-audio index=0
按 ctrl + X,選 Yes 存檔。重啟系統。
登入後,輸入指令 alsamixer。理應見到左上角標示 USB 的 sound card。speaker 和 mic 音量設為約 70。按 ESC 離開。
![]()
編輯 ModuleEchoLink.conf,指令:
sudo nano /usr/local/etc/svxlink/svxlink.d/ModuleEchoLink.conf
第五行刪掉開頭的 #,讓IP與 subnet mask 生效。
第 14-17 行,輸入自己的資料。再提一下,Echolink 僅供持有業餘無線電牌照人仕設立和使用。考牌資料可參考上欄問題雜綿。
第 28 行,刪掉開頭的 #,以使用美式英語。
第 34-38 行,按自身器材輸入相關參數。
按 ctrl+X,選 Yes 存檔。
編輯 svxlink.conf,指令:
sudo nano /usr/local/etc/svxlink/svxlink.conf
第13 行 LOCATION,刪掉開頭的 #
第 20 行 MODULES。ModuleParrot,ModuleTclVoiceMail 用不著,刪掉之。下文提到機場天氣報告 module 也是加到這裡。
第 21,45 行,改為自己的 callsign。
第 22 行,我 prefer 每 15 分鐘自動報一次 callsign,所以 set 為 15。
第 28 行,RGR_SOUND_DELAY 設為 100 。較易聽到發射完前的 roger beep。
第 29 行,REPORT_CTCSS 前加 # 號。因不用 PL tone,所以自動報時也無需加上 PL Tone 訊息。
第 34,36 行,刪掉開頭的 # 。有需要時可用 DTMF 指令開關模組。
第 171 行,改為 SERIAL_PORT=/dev/ttyUSB0 ,即最後幾個字改為 USB0 。
第 172 行,改為 SERIAL_PIN=CTS:SET,即加進 :SET。
第 193 行,開頭加 # 因沒有 DTMF 硬解。
第 206 行,改為 PTT_PORT=/dev/ttyUSB0,即最後幾個字改為 USB0 。
第 221-229 行,按自身坐標,設備種類輸入相關資料。這些資料會顯示在 aprs.fi 地圖上。
設置完成。按 ctrl+X,選 Yes 存檔。Reboot 系統一次。
GPIO to PTT 的迷思
如有同好想試 GPIO 控發射 PTT,可參考官網文章末段 Using GPIO has its own challenges。
https://github.com/sm0svx/svxlink/wiki/InstallSrcHwRpi
有無新花臣?
有,機場天氣訊息放送 !
如想試玩埋機場氣象訊息發放,請按下步驟進行,指令:
sudo nano /usr/local/etc/svxlink/svxlink.d/ModuleMetarInfo.conf
第 5-7 行。開頭的 # 號刪去。
第 5 行, STARTDEFAULT=VHHH
VHHH 是香港國際機場的 ICAO 號,其他地方同好按所在地填上你附近的機場 ICAO 號
最後一行如想通過 DTMF 選擇鄰近其他機楊,請按心儀次序輸入。我對其他鄰近機場無興趣,填回 VHHH 就 ok。
即 AIRPORTS=VHHH
按 Ctrl+x save 。
請記著,上面提到的 svxlink.conf 需載入這個 Module,即第 20 行:
MODULES=ModuleEchoLink,ModuleMetarInfo,ModuleHelp
![]()
實際運行
Rpi 只是一塊 PCBA (機肉),沒有任何保護裝置。長期運行,需注意以下各點:
- 外殼保護,散熱方面,我沒有加上任何散熱器到處理器上,也未致於熱死。
- 優質,穩定的電源火牛。不要用雜嘜牛,吹到有 3-4A ;但怎量度也不足。我用舊電話的充電牛連原裝線,效果良好。但留意,這些電子牛往往不敵 RF 的干擾,不要放近發射機旁。
- 音頻線,電源線加磁環除去雜波
- 一如很多人一樣,家中用上扁平 network cord。RPi2 的rj45 新用上有led 燈號的插座,發現經常閃得古怪。換上一條有牌子的 Cat6 線。閃爍回復正常。一條質優的 Cat6 也可 withstand 鄰近的 RF 干擾。起碼願望是如此。 Cat6 線也不要破費到電腦店,華輝等貴價購入,在新高登,大角咀的夜冷店時有工程完成剩下的 Cat6 線,名牌兼原裝膠袋沒開封,長短均備。我用的也是廿蚊三條的貨仔。
YouTube 示範
後記
以最新版的 svxlink 作為 echolink node 運作了約一個月,情況大致良好。前文提到的死機問題暫未發生。而 svxlink 功能強大,待穩定性運行滿意後,會嘗試開啟其他功能,一於玩盡佢。
