Dixprs in Raspberry Pi – A next generation iGate solution

image

 

This article is the English Edition of my Blog article; hope to share my experience to the ham all over the world.

It describes the next generation iGate – Dixprs install in a Raspberry Pi.

 

APRS4R vs Dixprs

Why Dixprs

I had proceeded testing on Dixprs in RPi since last November. The performance is stable. While compare with APRS4r, the key benefit is the configuration saved on a plain text file. Here is the table shows the different between them:

iGate SolutionAPRS4rDixprs
privilegePiRoot
PlatformDebian/WRTWin/Mac/linux/WRT
LogPlain TextSqlite
Prog. Lang.RubyPython
Statusseems discontinuestill active
SupportGerman ForumGoogle Forum, handled by the developer
Config. FileGerman interface/ yaml fileConfig.txt
pre-request filespacked to the installation fileuser need download & install by themself
Operation modeDaemontext mode
Traffic shapeingnilYes
multi-RF Device?Yes
BlacklistnilYes
Wx supportYesNo
WebNo, unless loginPort 9999
Report Plugin supportNoMunin

According my understanding, the APRS4r is a postgraduate project which will discontinue after the team member graduation.

Dixprs was developed by Ha5di, and the programming language is Python version 2.X . Please be remind that the latest Python version 3.X is NOT compatible with 2.X .

Here is my points to introduce Dixprs as iGate:

It’s log used sqlite which may work with report plug-in munin; to generate graphical report.

It got Blacklist function. It is useful if some iGate’s coverage is duplicated.

It got a webpage to indicate the status of the iGate.

The configuration is a plain text file, as several configuration template provided.

 

Installation step

Please process a system update first

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

step 1: install python-dev

sudo apt-get install python-dev

 

step 2: install database sqlite

sudo apt-get install sqlite

 

step 3: install python serial library

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

Untar the file to folder

tar –zxvf pyserial-2.6.tar.gz

Enter the folder to execute install

sudo python setup.py install

 

step 4: import sqlite3 and serial library to Python

Python

>>> import sqlite3

>>> import serial

Press ctl+D to leave afterward

 

step 5: install linux ax.25 library

sudo apt-get install libax25

sudo apt-get install libax25-dev

 

step 6: install python ax25 library, execute

Return to upper folder first

cd..

download python ax25

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

Please untar to a folder, and compile it

tar –zxvf pyax25.tar.gz

./compile_ax25.py build

sudo ./compile_ax25.py install

 

step 7: import the ax25 library to python

Python

>>> import _ax25

Press ctl+D to leave afterward

 

The pre-request component was complete, Now we will install Dixprs

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

Create folder /usr/locao/Dixprs first

sudo mkdir /usr/local/Dixprs

untar the file to the folder, please be remind that the –C after filename is capital letter.

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

All the files should uncompressed to /usr/local/dixprs folder. We can edit the config.txt now.

There are 3 templates for the config file.

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

We may know the purpose by the template’s name. agwpe is used with software TNC agwpe. Kiss is used with kiss mode tnc. Ax25 is used for complete ax25 protocol decoding.

As I am using Tnc-X kiss mode modem, so I use the config-kiss.txt as configuration. Please copy it to config.txt . Do NOT overwrite the template file.

cp config-kiss.txt config.txt

Please shutdown the Rpi first

sudo shutdown -h now

Connect the KISS mode TNC and transeceiver. Then power up the Rpi, and go to the Dixprs folder

Edit the config.txt by sudo privilege:

sudo nano config.txt

The content is English plain text format. Please fill in the correspond information, such as callsign,ssid,serial port,co-ordinate and so on.

Save after editing. The installation was complete.

Testing

Dixprs request root privilege to run, which is disable default on Linux system. Please refer the following site to enable it.

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

Please login as root afterward, and go to the Dixprs folder

Run the Dixprs by the command:

./dixprs.py

Dixprs runs in text mode, so you can know the running status of it. If there are no error message shown, your iGate should work. Please login to aprs.fi to counter-check. Your iGate should appear.

On the other hand, you may use a computer which on the same subnet with your RPi. Please according the format to enter the RPi address on the computer’s browser URL.

http://RPi_ipaddress:9999

You should see the Dixprs iGate status Webpage.

 

What’s more

Telemetry

Visit aprs.fi, you can view the traffic information from your iGate. This feature on APRS4r are unavailable.

clip_image001

 

munin plugin

As mentioned before, Dixprs use sqlite which support munin to generate graphical report.HG2EBH write munin scripts for the real time packet status report. However, you should modify the scripts to fulfill your local situation.

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

clip_image002

Courtesy of Dixprs official page

You Tube Demo

Dixprs @ Raspberry Pi, demo by VR2XKP

 

Conclusion

There are many iGate solution, some by MCU project, some by PC. However, install a iGate Linux solution on a Raspberry Pi should be best choice: power consumption low, operation costs low, flexibility high.

The Dixprs is the second iGate introduced on my Blog. It’s English interface more easy to setup. It also works on various platforms. And it provides telemetry, web status page which absent on APRS4r.

Besides, the programming of Dixprs is Python, a popular programming language recently. You may found many projects which from amateur to NASA using Python.

Python is a free, easy to learn programming language. You may view the sources code files on the Dixprs folder. If you want a deep knowledge on the APRS operation, it is a very good resource.

Further Reading

My first igate article:

Use Raspberry Pi as I-Gate, a $35 solution

This entry was posted in English Articles and tagged , , , . Bookmark the permalink.

2 Responses to Dixprs in Raspberry Pi – A next generation iGate solution

  1. aprs.facile says:

    Hello,
    Thanks for this clear Article explaining how to install Dixprs.
    I will translate info french on my website.
    At the moment just copy/paste, but step by step, I will make it available for the french speaking ham radio community.
    Thanks again and 73
    aprs.facile.free.fr

Leave a Reply

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