學住法文玩 Echolink 遙控 IO

 

echo_remote

 

前言

本文介紹如何使用 F8ASB 編寫的 plug-in,最終實現在svxlinkDTMF 指令控制 Raspberry piIO

過程不複雜,但原碼也不是完整可即用,需動點腦筋。

 

F8ASB Svxlink Plug-in

Raspberry Pi 作為平台,配上 Svxlink 作為 Echolink node,我認為是最佳的 Echolink 用戶端選擇。就以這次介紹的 Plug-in 為例,就可遠端控制 RpiIO 了。

這是成品機如 Kenwood 支援 Echolink 的機種,電腦上運行 Echolink 軟件做不來的。也不計這兩方案 24 小時運作的耗電量,成本等等了,計埋只越問越傷心。

Github 發現了 F8ASB 編寫的 sxvlink plug-in,也看過其 YouTube 的簡單 demo。但 Google 一下 svxlinkecholink Rpi keyword ,沒甚專題報導。

F8ASB Github 網址:

https://github.com/F8ASB/Module-Remote-Relay

 原因可能有二,F8ASB 也是另一 project openrepeater 的成員,openrepeater 是改自 svxlink 的開源方案,主攻中繼的控制。這個 plug-in 的高階版 (各樣參數可透過網頁修改)也包括在內。作者可能想 reserved 在自家的方案中。

第二,他們也開發了一塊 control board,有 RTC, IO  relay 等。配該 plug-in 控制 relay 是附加值。

 

svxcard_features

Courtesy of   http://svxcard.f5uii.net/doku.php?id=fr:start

我的睇法是第一點無何口非,雖然 svxlink 本身就是一個repeater controller 的控制方案。粗略看他們是加進 php 編寫的頁面進行 config

第二點,外國地方大,買零件隨時駕車成個鐘。本地則鴨街,網上訂送上門,再不淘寶搞掂。這些一體化方案對本地ham 友沒有迫切性。

這個 plug-in 是一個模組,以 DTMF 指令控制 RpiIO20-23。可分別輸出 10,或一個 0.1 秒的正 pulse

wiring_pi_table

今次打交道的四個 IO Port

 

01 輸出適合作為開關。pulse 較適合接到 MCU int 作為觸發 trigger signal

有關 DTMF 指令:

9#   : 啟動模組

xxY# : xx 是輸出端,即 20-23Y 是輸出狀態:

1 是高電平,

0 0V

2Pulse

*  : 關閉模組

例: 想將輸出端 20 變為 1 :
201#

有了這些輸出,除可控制簡單的開關外;也可作為密碼組合,如你唔怕煩的話。

一些舊式中繼控制方案也可經 DTMF 控制,但多靠 DTMF IC 解碼,如 Mitel 88708888 等。這些 IC 停產多年,硬件彈性低,維護困難。

相反,svxlink 是軟解的,無需特別 IC。有需要用到時才遠端開啟這個模組,相對安全。

 

大致安裝步驟

今次不會提供詳細的安裝步驟了。理由是其實我也不是 Linux 專家,遇到問題也是上網找。大家可參考以往幾篇Echolink 文章。指令來來去去一大抄的。

這裡用的軟硬件正是上次 svxlink 14.081 demo 後運行至今的 Rpi,期間未嘗死機;非常穩定。今加上 plug-in ,和一塊接有四枚 LED 的萬用板。

先備份一下整張 SD card

後到 F8ASBGithub 網址下載整個 package

下載後的檔案是 master.zip ,解壓後的 folder 名是 Module-Remote-Relay-master

將以下檔案抄到相對位置。留意官網提供位置和我的 default 位置是不同的。以下是我的路徑。

RemoteRelay.tcl -> /usr/local/share/svxlink/events.d/

ModuleRemoteRelay.tcl ->/usr/local/share/svxlink/modules.d/

建立音效檔所需的 folder :
/usr/local/share/svxlink/sounds/en_US/RemoteRelay

將所有音效檔 copy 到這裡。

提示:如不熟悉在 Linuxfile,起 folder 的指令,用必殺技進入 X windows 快手搞掂即可,無需深究。

指令:
sudo startx (一定要在前面加上 sudo 取得 root 權限)

編輯以下檔案加進支援  ModuleRemoteRelay

sudo nano /usr/local/etc/svxlink/svxlink.conf

remote_add

MODULES 一行加進 ,ModuleRemoteRelay

 

編輯一個新檔案儲存所需參數:

sudo nano /usr/local/etc/svxlink/svxlink.d/ModuleRemoteRelay.conf

加進:
[ModuleRemoteRelay]
NAME=RemoteRelay
PLUGIN_NAME=Tcl
ID=9
TIMEOUT=60

remote_config

 

基本設置完成,先 reboot 一下。

 

一波多折,學習 debug,執 code 過程

過程漫長,不詳細交代了,重點如下:

  1. F8ASB 的方案內的語音檔是法文,初步棄用之。
  2. 轉而試用 Open Repeaterremote relay control方案,雖語音檔是英文,但也沒反應。
  3. 返回最初 F8ASB 的方案,一樣完全沒反應。

work,就以 F8ASB 原方案仔細研究。

細研那幾個 tcl 檔的內容,發現關鍵檔是 ModuleRemoteRelay.tcl

其中呼叫 IO port 輸出 0 的指令碼是:

exec gpio -g write 20 0

有和 Rpi IO 打過交道的,應看得出是 Wiring Pi 的指令。先前的 Svxlink  無需用上,現在控制 IO 則要之。安裝步驟這參看官網:

http://wiringpi.com/download-and-install/

留意 Wiring Pi 的指令,需先將所用的 IO 端設為方向,即輸出 (out) 或輸入 (in),再指示輸出 01 電平。

而上述的 tcl 檔內的執行指令只有後者。沒有發現任何片段是端口的輸出 (out) 設定。

OK,那在 ModuleRemoteRelay.tcl 所需加進內容是:

58 行,遙控模組 activate 部份內將相關四個 port 設為 out

exec gpio -g mode 20 out
exec gpio -g mode 21 out
exec gpio -g mode 22 out
exec gpio -g mode 23 out

在原 67 行,遙控模組 deactivated 部份還原設定。本是用懶人的方法將 port 位設為 in 就搞掂。但實測發現再次進入時會記住上次的電平,所以先加四行將 4 port 設回零。

 

cod1

 

這裡衍生了一些選項:

如想遙控模組 deactivated 後保持輸出電平,可不需將 4 port 設回零。

那四個 port 是專職做輸出,其實還原部份將 4 port 設回零,刪去那 4 in 也可。

 

而另一選項是 pulse 的時間長短:

細看編碼,Pulse 是先輸出 1,等 100mS,再歸 0

100mS,即 0.1 秒。這個時間長短也可更改。但留意由於他是一個 delay,用在這裡不適宜太長;個人認為最長不應超過 200mS

pulse

還要留意一點,Port 21 pulse 重覆了。會導致 222# 即指示 Port 22 輸出 pulse 失敗。只需將第二個 212  改回 222 即可。

 

YouTube Demo

我用 LED 代替 Relay 示範,輸出 1 LED 著,0 就熄; pulse 就一閃。要推 relayTransistor 即可。

 

test-205x300
圖片來源  https://developer-blog.net/raspberry-pi-gpio-schnittstelle-teil-2/

 

Relay-Sample

圖片來源 http://www.susa.net/wordpress/2012/06/raspberry-pi-relay-using-gpio/

 

 

English Sound Clip

以上的 demo 語言是原裝法文的。除 pulse 一字外,其他發音相近英語應可理解的。不過如想用回英文也無問題。由於 open repeatersound clip 已有所需的英文檔。我將相關的英語檔併合為所需的語檔。只需將下件 overwrite 原有的 sound clip 檔即可。

https://db.tt/xMPNJDdX

 

Lesson to learn

起初以為是簡單任務,到最後要執 code 才成事。都好,對 tcl 檔加深了解。

tcl 檔 是 Tool Command Language。是一種簡單的 script。而 F8ASBplug-in 正好是一個例子,供研究,學習編寫 tcl plug-in 之用。

另一同門方案 open repeater 去推 IO 的方法不同,用回傳統方式(可參考上述 Relay 的網頁)。原因我不深究了,各施各法。

但起用 Wiring Pi  的好處是其 library 豐富,加上 -x 可外接一些 i2c IC AD convertor 等。那回傳用語音報上一些電壓、電流數字值應可行的。

Wiring Pi  另一指令是讀回 IO 端的狀態( 01 ),我們也可嘗試透過修改 tcl 內容,e.g:用 3 就讀回指定 IO 端的輸出電平,無需人手記下。

 

總結

SvxlinkRpiEcholink 方案可外加 Plug-in 以增強功能,這是其他器材所不能的。外加什麼,還看創意。這是活在軟件年代 Ham 的專利。

查看 ARRL 網頁,四月中的 7.5 級厄瓜多爾地震,災後的人道救援通訊起用了 EcholinkVoIP 方案,部份緊急物資請求更 route 到西班牙處理(厄瓜多爾通西班牙話)。

這體現了天涯若比鄰的意境。而我們配備了這些 Plug-in 方案,有需要時 we can do more。

下篇有關 svxlink 的文章應是試用最新版的 15.01,配以 SDR 的整合應用。暫想到的用 SDR 在另一頻道上standby,作為 DTMF 指令頻道等。

雖未開始準備,先興奮。

Posted in EchoLink | Tagged , , , | Leave a comment

SDR 之野望

 

dv4mobile

 Courtesy of www.va3xpr.net

前文 Kenwood 數碼機速報意猶未盡,SDR 發展迅速,綜合近半年來的 SDR 消息,展望一下未來一年 SDR 的動向。

就我年頭購入的 DV4 minifirmware 剛更新到 1.66 了,稍後時間也會推出 VHF 版本,和 DV home 甚至 DV4 mini 專用 AMBE 解碼板,免卻需和數碼對講機一併使用之麻煩。

這些都是配菜,最亮麗的當然是 DVmobile,且看規格的期票:

  • Tri Band All Mode
  • D-star, DMR, DMR+, dPMR, Fusion, P25, NXDN, Voice over LTE, FM;終極萬能插蘇,部份次要制式 2017 年才透過 update 支援
  • LTE with Sim card slot, (一說是 virtual sim,需繳交年費)
  • 1.8G Linux system
  • 背板 mini Din 頭外接線端有 HDMI,USB,RJ45
  • 中繼功能
  • 20W RF output (max)
  • HF 頻段外加底座 2017 年推出
  • 內置 GPS 並支援 APRS
  • 支援 Bluetooth & WiFi
  • 操作溫度範圍可達–40 85C
  • 定價範圍在 US$900-1200
  • 暫定 2016 聖誕推出

官網:
http://wirelesshold.com/dv4home-2-1.aspx

 

號稱機殼是大陸製,電子部份與組裝在美國,德國大學教授編程。

這張期票是無敵的,規格可用強悍形容。我相信,本有另買新機意欲的都會等等,先看看這部機的 performance 如何再算。的廠機真係多得佢唔少。

不過,我以一個己幫襯過同系首款產品 DV4 mini 的過來人來看,暗湧也實不少。

想到的有:

NW digital radio 的教訓
一樣是在 201幾等數年的 Dayton 吹噓多利害,牽頭人是矽谷的前輩等等等等。但出唔到世就係出唔到世,個出貨時間表不停 Q1,Q2,Q3,Q4 loop

過份強悍規格,新興的公司,小型的生產規模,能否勝任。

dv4mini_qty

這是我的 DV4mini,有否留意 USB 接頭明顯下垂,相連膠殼也明顯用上 AA glue 滴死。這是組件與外殼不配合的,沒有完整 product design 的結果。一隻手指己搞成咁,一部機有否更令人擔心。


官網整個 spec 重點也是萬能插蘇。但一般收發機 spec 應提到的如靈敏度等規格是沒有的。展品的 demo 也是 TFT 顯示屏不停走字而己,簡單來說是沒功能的 dummy

Linux 系統,究竟為方便開發者或用家我認為是前者。有沒有為用家優化,省去沒用的 Package? 期票中的 APRS 支援,會否只是用上 LinuxAPRS package?如是,你收我成千美金而我自己用 Rpi 也做到就唔係太好。

SDR 重點是 software 功力。以學界人仕操刀,我更是擔心。擔心不是教授的軟件編程能力,而是學界中人長期缺乏商業觸覺;副業來做,做得唔好也不會沒飯開,這也會是系統唔穩定的因素。

DV4mini 經驗,forum 至今也經常有 Ham 友投訴唔穩定,在一些系統唔太 workDV4mini 可在 windows 78,10,LinuxRpi 運行,平台太多,支援卻少得近零。

後級加進 20W 放大器,high power 時會否對數碼部份產生干擾。這是學校無得教的。做過電子,無線電產品的都知這和電路設計,用料,零件擺位以至 PCB layout 息息相關。這些是長年經營無線電產品大廠的經驗累積秘技,新興的小公司能否掌握,或你附錢讓她從失敗中學習。

GUI 板面設計,系統穩定性,QC 把關,噪聲控制等等,其實和上點也一樣。

-4085C 的操作溫度,明顯是紙上談兵的數字。將用料datasheet 上的 minmax 拋出來就算。但實際上,將這些零件駁埋後會否仍得出這個 range

 

另一美國廠 FlexRadio Systems 出品的 SDR 收發機,設計概念是大顯示屏,簡約面板和輕盈機身。

maestro

 

今年在的 Daytondemo:

https://www.youtube.com/watch?v=saoffsOixoM

這和約 20年前,Tektronix 出品的 DSO 數碼示波器取代傳統 CRT 示波器的概念相若。

總結

萬能插蘇方案雖好,但第一代一體化產品效果從今日資料來看是存疑的:沒有收發示範的 demo、聖誕出貨還剩約半年時間,軟件編程能否準時完工和 debug、前車可鑑的手工。

而一個不是最壞 (出唔到貨),但是令人對 SDR 往往卻步的情況會否出現: Hardware 先買俾你,的 Bug、承諾了的功能後慢慢執,用軟件 update 形式放俾你,反正有 network port ,又有 WifiBluetooth;總有方法瀡俾你…  咁就真係令人失望。

Ham,不是水魚的代名詞。我一向認為,明知有 bug 仍買給人的是不道德的。

Anyway,是龍是鳳,年尾知曉。而萬能插蘇方案己打開,不同 party 的廠商應陸續進軍這塊肥肉,我深信,不出三年,有 sense 的人不會再問用 DMRD-starFusion 較好這個永沒答案的問題。

起碼到時,你用乜制式我也應可和你 talk 到。

Posted in Digital Radio, SDR, 評論 | Tagged , | Leave a comment