進階のiGate – Dixprs in Raspberry Pi

 

dixprs

 

前言

本文是介紹新世代iGate – Dixprs,現用在測試 iGate VR2XKP-7的方案,安裝於 RPi 的步驟。

 

APRS4R vs Dixprs

 

Why Dixprs

有關Dixprs的測試運作由上年11月開始,至今約九個月時間,其間最長運作時間達四個月的 24×7。穩定性是滿意的。

APRS4r 雖好,但安裝,設定期間,避不了惱人的德文。而家你叫我唔睇翻個blog的文章再裝多次都有排搞。

一表勝千文,先看一下兩者的比較:

iGate 方案APRS4RDixprs
權限 PiRoot
平台Debian/WRTWin/Mac/linux/WRT
LogPlain TextSqlite
編程語言RubyPython
更新速度應己暫停作者仍更新中
支援德文forumGoogle Forum,作者積極回應
Config File德文介面/yaml fileConfig.txt
安裝難度較簡單自行安裝各有關module
運行模式Daemon文字模式運作
traffic shapeingnilYes
multi-RF Device ???Yes
BlacklistnilYes
Wx supportYesNo
Web No, unless loginPort 9999
Report Plugin supportNoMunin

就我理解,APRS4R 是德國學界postgraduateproject。這些project 在學生畢業後就往往無以為繼。

DixprsHa5di 編寫。Python 語言為近年外國大為流行程式語言,尤以多平台和影像處理的應用。請留意,Python發展至今已到版本3.x了。

version 3 不能向下和 2.x 兼容。Dixprs是以2.x 版本編寫的,所以安裝 python 和相關library不要以為用版本號最新的就最好,必需留意兼容問題。

而我推介Dixprs的原因,主要是以下的幾點:

  • Log,她應用了精簡版的資料庫程式 sqlite 處理,好處是配合 linux 下的 report 插件程式 munin,可 online 作出各項資料的圖表報告。
  • blacklist,這個黑名單功能對操作較實際。當然我的意思不是話你唔妥邊位,就將佢 blacklist 咗啦。香港地小人多,APRS 活動日趨活躍,各 iGate 覆蓋範圍會部份重疊是必然並已發生的。如唔想浪費大家寶貴的 ham 界資源,iGate重疊各方的站長可考慮以此功能做出類似 filter 分工去處理各組訊息流。
  • Web 形式顯示各項資訊,簡單清楚。這也是aprs4r欠奉的。
  • Config file是英文,fill in blank 形式,香港人應相當容易處理。她並附有不同的configtemplate 供使用。

 

安裝步驟

先來一次系統更新

sudo apt-get update && sudo apt-get upgrade

 

step 1: 安裝 python-dev

sudo apt-get install python-dev

 

step 2: 安裝 資料庫sqlite

sudo apt-get install sqlite

 

step 3: 安裝 python 串列埠library

wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.6.tar.gz

解壓該壓縮檔。

tar –zxvf pyserial-2.6.tar.gz

進入該folder內執行

sudo python setup.py install

 

step 4: 導入sqlite3 serial程序庫, 執行

Python

>>> import sqlite3

>>> import serial

請按 ctl+D 離開

 

step 5: 安裝 linux ax.25 library

sudo apt-get install libax25

sudo apt-get install libax25-dev

 

step 6: 下載python ax25 library, 執行

返回上目錄

cd..

下載 python ax25

wget https://sites.google.com/site/dixprs/downloads/pyax25.tar.gz

將之解壓至一 temp folder,進行編繹

tar –zxvf pyax25.tar.gz

./compile_ax25.py build

sudo ./compile_ax25.py install

 

step 7:python 導入 ax25 程序庫

Python

>>> import _ax25

請按 ctl+D 離開

 

相關元件庫已備妥,可下載和安裝Dixprs

wget https://sites.google.com/site/dixprs/downloads/dixprs-2.2.2.tar.gz

建立安裝 folder

sudo mkdir /usr/local/Dixprs

解壓至該folder,請留意中間的-C 是大階的

sudo tar –xvzf dixprs-2.2.2.tar.gz –C /usr/local/dixprs

所有檔案應解壓到 /usr/local/dixprs folder。最後一件是編輯config.txt

config file 有幾款不同的template。

  • config-agwpe.txt
  • config-kiss.txt
  • config-ax25.txt

顧名思義,agwpe 是和software tnc 軟件 agwpe一併使用時所用。kiss是用於 kiss mode tncax25是用於解調完整 ax25 訊息時所用。

APRS只是用ax25 UI frame而已的。

由於我是用TNC-X kiss mode modem,暫又沒有其他AX.25 玩意可試。所以將 config-kiss.txt copyconfig.txt。不要overwrite 那三個template

cp config-kiss.txt config.txt

先執行關機

sudo shutdown -h now

接上 KISS mode TNC,收發機等。然後再啟動 RPi,直接以root身份登入。進入 Dixprsfolder

編輯該 config.txt 檔,指令:

sudo nano config.txt

內容是英文,簡單易明,這裡不一一詳述。不外也是callsignssidserial port,經緯度等資料。留意經緯度格式。

完成後save。所有安裝設定完成。

 

測試

如上表所述,運行Dixprsroot權限。和其他 Linux 系統一樣,root 是預設 disable 的。請參考下 link 設定 rootpassword

http://www.instructables.com/id/Web-Control-of-Raspberry-Pi-GPIO/step2/Enable-Root-Account/

重啟RPi 並以root登入。

進入 Dixprs 安裝的folder,執行以下指令運行dxiprs

./dixprs.py

Dixprs用文字模式運行,各登入情況,收發訊息皆詳細列出。細看各訊息列,如沒有error訊息,基本上你的Dixprs就已運作。

這時你也可登入aprs.fi 地圖確認一下你的iGate是否出現。

我們可用另一台同network的電腦,輸入RPiIPport 9999。格式:

http://ipaddress:9999

你應可見到dixps iGate 的訊息資料介面。成功了。

 

what’s more

telemetry

登入 aprs.fi ,到你的Dixprs iGate,你可看到traffic的統計資料。這也是aprs4R沒有的。

traffic

 

munin plugin

由於資料庫用了 sqlite ,支援 munin 去將資料以圖表形式顯示出來。HG2EBH 編寫了一堆plugin,將詳細的packet收發情況實時顯示出來。

這個功能如用在作樞紐的iGate上很好。唯 HG2EBH 不提供支援,需自行更改code以配合本地情況。

http://aprs.ham.hu/munin/ham.hu/hg1pny.ham.hu/index.html#Dixprs

 

dixprs_hops-day

官網圖片

 

You Tube Demo

Dixprs @ Raspberry Pi, demo by VR2XKP

 

總結

iGate 的方案很多,有以MCU形式的,有以電腦程式進行。但環顧眾方案,以RPi 安裝 LinuxiGate 方案,彈性夠,operation cost 低,伸廷性強。

Dixprs 是本 blog 第二個介紹的iGate方案。為英文介面,相對較易管理。除RPi 外,其他如 Windows 系統上也可運行。其telemetryWeb 介面也較 aprs4r 完善。

另如上文提到,python 近年在國外很流行, 你只google一下,不難發現上至NASAGoogle,下至amateur radioRPiproject,皆有她的踪影。

我一向認為,有電腦而不懂編程實是一憾事。只能靠他人提供的東西,合用還好,不合用又要$就真是一肚氣。

python 為一免費,開源的編程語言,簡簡單單在其官網下載,安裝後,就可以在附送的shell 內編程。加上Dixprs也提供了源碼,對我輩等更深入了解 aprs技術,運作更為便利。

與其跟風學寫電話App,倒不如坐定定認真研究一種編程語言應用於一門技術如aprs 上。

專注不等於會成功,但不專注就一定不會有收成。

This entry was posted in APRS, AVR / ARM and tagged , , , , . Bookmark the permalink.

3 Responses to 進階のiGate – Dixprs in Raspberry Pi

  1. vr2vxs says:

    早排買左一套rasp. pi收埋係junk box無乜點用到. 昨晚我決定搵返出泥玩下

    我跟住步驟做花左半日做終於得左, 感謝師兄分享!

    依家下一步就係點將佢做細d再整好d可以出街玩

    組件: rasp. pi + avrt4 kiss mode + vr160接收

    VY TNX & 73 de VR2VXS

  2. BG7IYN says:

    为什么config.txt里面不需要填passcode ?

Leave a Reply

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