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 Solution | APRS4r | Dixprs |
---|---|---|
privilege | Pi | Root |
Platform | Debian/WRT | Win/Mac/linux/WRT |
Log | Plain Text | Sqlite |
Prog. Lang. | Ruby | Python |
Status | seems discontinue | still active |
Support | German Forum | Google Forum, handled by the developer |
Config. File | German interface/ yaml file | Config.txt |
pre-request files | packed to the installation file | user need download & install by themself |
Operation mode | Daemon | text mode |
Traffic shapeing | nil | Yes |
multi-RF Device | ? | Yes |
Blacklist | nil | Yes |
Wx support | Yes | No |
Web | No, unless login | Port 9999 |
Report Plugin support | No | Munin |
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.
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
Courtesy of Dixprs official page
You Tube Demo
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:
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
That’s pleasure you translate my article to French. Hope those French speaking Ham like it.