Start |
You are here: Start » APRS

Raspberry Pi with TNC-Pi (APRS IGate/Repeater)

My Raspy in Operation - Station Info

Click Info on aprs.fi and check the connected Tier2 server (e.g. T2HAM) on last path.
Then lookup for correct transmitting: APRS Tier 2 Servers



Operational Hints

Open Terminal as root:


----------Start DIXPRS and read incoming packets ----------


root@raspberrypi:~# cd /etc/init.d (change directory)
root@raspberrypi:/etc/init.d# ./dixprs start (start)
Starting dixprs in a screen
root@raspberrypi:/etc/init.d# screen -r dixprs

Test Incoming Station Packets


-------------------------Stop DIXPRS ---------------------------

root@raspberrypi:~# cd /etc/init.d (change directory)
root@raspberrypi:/etc/init.d# ./dixprs stop (stop)


-----------------------------No Transmission----------------------------------

if you give this:
root@raspberrypi:~# nano /usr/local/dixprs/config.txt

and scroll down with the arrow key to PTTON=n
means it should never transmit.

Open Terminal as root:


-----------------------------Autostart----------------------------------


To register your script to be run at start-up and shutdown, run the following command:

sudo update-rc.d NameOfYourScript default





-----------------------------CPU Load--------------------------------

Open Terminal as root:

root@raspberrypi:~# top

Camara needs a lot of CPU time !

CPU Load

Root
Only root user has write privilege under this directory.

/bin – User Binaries

/sbin – System Binaries

/etc – Configuration Files
Contains configuration files required by all programs.

/dev – Device Files

/proc – Process Information

/var – Variable Files
e.g. files for the Apache webserver: /var/www

/tmp – Temporary Files
Directory that contains temporary files created by system and users.
Files under this directory are deleted when system is rebooted.

/usr – User Programs
/usr/local contains users programs that you install from source. For example, when you install apache from source, it goes under /usr/local/apache2

/home – Home Directories
Home directories for all users to store their personal files.
For example: /home/john, /home/nikita

/boot – Boot Loader Files
Contains boot loader related files.
Kernel initrd, vmlinux, grub files are located under /boot

/lib – System Libraries
Contains library files that supports the binaries located under /bin and /sbin

/opt – Optional add-on Applications


/mnt – Mount Directory
Temporary mount directory where sysadmins can mount filesystems.

/media – Removable Media Devices
Temporary mount directory for removable devices.
For examples, /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer

/srv – Service Data

Login and prompt (pi@raspberrypi $)

the system is ready to receive input.

apt-get
This can be used to install and remove software.
For example, sudo apt-get install iceweasel will install the package iceweasel (a rebranded version of Firefox).

sudo apt-get purge iceweasel will remove the package.
apt-get update will grab an up-to-date list of packages from the repository (a good idea before doing anything).
apt-get upgrade will upgrade all packages that have a newer version in the repository.

____________________________

sudo
When using the Raspberry Pi for normal use, you can work with files in your home directory (eg, /home/pi). You will also be able to view most other files on the system, but you won't be able to change them. You also won't be able to install software.
This is because Linux has a permissions system that prevents ordinary users from changing system-wide settings. This is great for preventing you from accidentally breaking your settings. However, there are obviously times when you need to do this.
You can use /sudo to run a command as the super user (sometimes called root), which can do pretty much anything on the system. To use it, prefix the command with sudo.
For example:
sudo apt-get install synaptic
will install the package synaptic and make it available to all users.

____________________________

System Commands:

reboot Reboot the system
shutdown Shutdown or restart linux
passwd Modify a user password
date Display or change the date & time
ls List information about file(s)
kill Stop a process from running
killall Kill processes by name
whoami Print the current user id and name (`id -un')
fsck File system consistency check and repair
.........

I have checked my internet speed from the Raspberry Pi. Here is the log of the installation of the python code and the test:

-------------------- Installation -----------------------

pi@raspberrypi ~ $ sudo apt-get install git-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
git-core is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
pi@raspberrypi ~ $ git clone https://github.com/sivel/speedtest-cli.git
Cloning into 'speedtest-cli'...
remote: Counting objects: 208, done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 208 (delta 108), reused 167 (delta 74)
Receiving objects: 100% (208/208), 37.67 KiB, done.
Resolving deltas: 100% (108/108), done.

-------------------- Test -----------------------

pi@raspberrypi ~ $ cd speedtest-cli/
pi@raspberrypi ~/speedtest-cli $ python speedtest_cli.py

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Cablecom GmbH (178.82.157.75)...
Selecting best server based on ping...
Hosted by SolNet (Solothurn) [59.31 km]: 289.361 ms
Testing download speed........................................
Download: 36.04 Mbit/s
Testing upload speed............................................
Upload: 3.28 Mbit/s
pi@raspberrypi ~/speedtest-cli $




HowTo build your own APRS IGate/Repeater

Preparation - Assembling - Router setup

DixPRS can be installed on any System (e.g. Sheeva) with any TNC

Material: Raspy approx. $70, SD card $15, TNC-Pi kit $40, radio $90
Time: Preparation approx. 2h, TNC-Pi soldering approx. 3h, configuring 3+ hours
ROI: Fun

  • 1 Mainboard (Motherboard) Raspberry PI Model B Prozessor ARM1176JZFS (1x 700 MHz)
  • Power adapter for Raspberry Pi
  • 1 SanDisc 8 GB, 30 MB/sec.
  • 1 TNC-Pi (TNC-X for Raspberry Pi) Kit
  • 1 Wouxun KG-818 2M 136-174MHz 5W or another radio
  • 1 Speaker Mic Cable - Kenwood Type (Argent Data System)
  • 1 SMA to BNC SMA-F to BNC-F adapter for Wouxun KG-UVD1P

Principle

Block Diagram

TNC-Pi Assembling
May help you to assemble the TNC-Pi kit

  • Port 22: SSH - Access to Raspy via PUTTY
  • Port 14580: Access to APRS-IS Network (Tier 2 server)
  • Port 8889: upload UDP packets to DIXPRS server of active stations
  • Port 8880: info DixPRS server of active stations
  • Port 9999: for accessing DixPRS status
  • _______________________
  • Port 21: if FTP server installed
  • Port 80: if Webserver installed
  • Port 8081: if Webcam installed

DixPRS

DixPRS Configuration Steps

Step 1: Initial setup with keyboard and mouse
Step 2: Use Putty for configuration steps 3 ...
Step 3: Update Raspberry Pi to the latest status
Step 4: Install the ax25 wrapper
Step 5: Installing the APRS software "dixprs"
Step 6: Starting the dixprs
Step 7: Configure dixprs
Step 8: Install WLAN-Stick
Step 9: Connect the radio

The Software of the IGate/Repeater is DIXPRS
Homepage of the DIXPRS developper Béla, HA5DI
Forum (in Hungarian language)

Step 1: Initial setup with keyboard and mouse

Follow the procedure on Raspberry Pi website:
http://www.raspberrypi.org/downloads

- Erase SD card 8GB - 30MB/s with SD Formatter V.4.0
- Download and unpack Raspian (wheezy) on SD card. This can take some 20 min.
At the very first time, you need to connect a USB keyboard, mouse and a HDMI monitor as the PI will boot into an initial config screen.

(or for beginners: download the new Out of Box Software/NOOBS, unpack the file on the SD card, insert the SD card and power on. Select Raspian and press Install. After installation, configure accordingly)

Here select the followings:
Expand: Yes
Overscan: No
Configure keyboard: Whatever you have
Change pass: yes
Time zone: yes change to your time zone
Memory split: No
Ssh: Yes
Boot behavior : No (you can always start it from the prompt with startx.
Update: Yes (takes about 10 minutes, LAN cable should be connected)

Pitfall:
Your HDMI monitor (e.g. HP W2448hc was reported) stays black or does not display properly). Use a TV monitor and try to force HDMI/uncomment: hdmi_force_hotplug=1 in the boot/config.txt file

Initial Screen


This shows the initial config screen at the time of very first boot up. Here you need the USB keyboard, mouse, HDMI enabled monitor only. After the config, you can reach the PI with putty.exe from other computers.

back

Step 2
From now on you can use the SSH method to connect to Raspberry PI through Putty.exe in windows. Take your pick.

Find the IP address of the Raspberry after it has booted. You have to log into your home router and check which IP address has been assigned to the new LAN device. Ususally your router IP address is 192.168.0.1 or 192.168.1.1

Once you know the IP address of the Raspberry PI, you can SSH into the machine using pi as the username – The password is raspberry

Execute: $ sudo su
Then change the su root password by executing: $ passwd
So now we have both a user "pi" as well as the user "root" account under control.
Note: I advice to install all software as root, since you are going to have it run unattended, and auto login is always as root

If you are going to use the serial port to connect the TNC-Pi to the Raspberry Pi, you will need to
make a couple of changes to the Pi configuration. Edit the cmdline.txt file in the boot directory
and make the following changes:
1. Remove the following: console=ttyAMA0, 115200
2. Remove the following: kgdboc=ttyAMA0, 115200
Then edit the inittab file in the etc directory and remove the line that says:
T0:23:respawn:/sbin/getty –L ttyAMA0 115200 vt100
After removing these lines you will have to reboot the Pi so they can take effect.


back

Step 3
Update the Raspberry to the latest status

$ sudo apt-get update
Since we are going to install dixprs, we require python 2…. (already installed, but also the python-serial as well as sqlite3 modules)

$ sudo apt-get install python-serial sqlite3 libax25 screen git build-essential gcc pkg-config python-dev libax25-dev

Since you most likely wish to run the digipeater autonomous, also in case of a restart, I suggest we move to the root user right now

$ sudo su


back

Step 4
Install the ax25 wrapper.
On LINUX DIXPRS can communicate to a KISS TNC directly via a serial interface. However it is advised to use TNC's and modems via AX.25 stack. It makes other type modems, like USCC card, BAYCOM modem, etc. usable with DIXPRS. It requires an additional Python module installed, developed for DIXPRS, called pyax25.

Download pyax25.tar.gz from https://sites.google.com/site/dixprs/downloads and extract to a temporary folder. (tar –xzvf pyax25.tar.gz)
You can do this by either using the command $ wget https://sites.google.com/site/dixprs/downloads/pyax25.tar.gz
Or download it to your pc and transfer using an ftp server or a usb stick….

Then from that directory….
sudo ./compile_ax25.py build
sudo ./compile_ax25.py install


Note: procedure requires libax25, Python development files and basic development toolchain with GCC installed.

Check installation by starting python and type import _ax25

If everything is OK, only prompt displayed, no error message


back

Step 5
Installing the APRS software "dixprs"

Create the dixprs directory and cd into it
$ mkdir –p /usr/local/dixprs && cd /usr/local/dixprs

Download the source code from using wget…..
$ wget https://sites.google.com/site/dixprs/downloads/dixprs-2.2.2.tar.gz
or from the download page on the website
Unpack the tarball
$ tar -xvzf dixprs-2.2.2.tar.gz
Now chmod all files
$ chmod 755 *


The process looks like this:

pi@raspberrypi /usr/local/dixprs $ sudo wget https://sites.google.com/site/dixprs/downloads/dixprs-2.2.2.tar.gz
--2013-06-05 02:15:48-- https://sites.google.com/site/dixprs/downloads/dixprs-2.2.2.tar.gz
Resolving sites.google.com (sites.google.com)... 74.125.232.135, 74.125.232.131, 74.125.232.137, ...
.
.
.
HTTP request sent, awaiting response... 200 OK
Length: 38477 (38K) [application/x-gzip]
Saving to: `dixprs-2.2.2.tar.gz'

100%[======================================>] 38,477 --.-K/s in 0.07s

2013-06-05 02:16:04 (507 KB/s) - `dixprs-2.2.2.tar.gz' saved [38477/38477]

pi@raspberrypi /usr/local/dixprs $ ls -la
total 48
drwxr-sr-x 2 root staff 4096 Jun 5 02:16 .
drwxrwsr-x 11 root staff 4096 Jun 5 02:14 ..
-rw-r--r-- 1 root staff 38477 Sep 5 2012 dixprs-2.2.2.tar.gz
pi@raspberrypi /usr/local/dixprs $ sudo tar -xvzf dixprs-2.2.2.tar.gz
CHANGES.txt
LICENCE.txt
README.txt
config-agwpe.txt
config-ax25.txt
config-kiss.txt
dixdrvax25.py
dixdrvudp.py
dixlibaprs.py
dixlibax25.py
dixlibcommon.py
dixlibgeo.py
dixlibmsg.py
dixlibsql.py
dixp1.htm
dixpagwpe.py
dixpax25.py
dixpcommon.py
dixpigate.py
dixpkiss.py
dixprs.py
dixprscfg.py
dixprscommon.py
dixpwebserver.py
hdump.py
pi@raspberrypi /usr/local/dixprs $ sudo chmod 755 *
pi@raspberrypi /usr/local/dixprs $



Now it’s time to adjust the dixprs config file
It is located at /usr/local/dixprs and we use the config-kiss.txt sample.
Rename it to config.txt and you will call this config.txt file when startup of dixprs.

NOW THIS IS THE PART WHEN THE TNC-PI HAS TO BE CONNECTED TO THE RASPBERRY PI.
As we are no going to communicate via Serial to the TNC PI, after making the following configurations in config.txt



Here is the part of that specific for TNC-PI config.txt file

####################

[RADIO]
# Mandatory parameters
# Interface type
INTERFACE=KISS
# Serial port
PORT=/dev/ttyAMA0
# Serial port speed
SPEED=19200



After adapting your personal data, such as call sign etc, pay attention to the radio part. It should look as follows:

Changes marked as %%%% FILL YOUR DATA HERE %%%%

[GENERAL]

# Mandatory parameters

# Your callsign with SSID
CALLSIGN= %%%% FILL YOUR DATA HERE %%%%

# Degrees; West is negative, East is positive
LONGITUDE= %%%% FILL YOUR DATA HERE %%%% easy to do from aprs.fi – use the decimal like LONGITUDE=06.7580 SAME FOR LATITUDE

# Degrees; South is negative, North is posittive
LATITUDE= %%%% FILL YOUR DATA HERE %%%%

# Optional parameters

# Station height abvove the see level in meters; no default
#ASL= %%%% FILL YOUR DATA HERE %%%%

# Owner name and contact; no default
#OWNER=<str>

# Spool directory to import packets; no default
#SPOOL=<path>

# Station symbol; default is S#
#SYMBOL

# UDP port base number; default is 31110
#UDPBASE=<n>

# Beacon frequency in minutes; default is 30
#BCNTIME=<n>

# Beacon text; %v replaced with actual version string; default is %v
# Used as default for ISGW and RADIO
#BCNTXT=<str>

# Select km/mi on monitor and in DX list; default is y (km)
#METRIC=<y/n>

# Max number of digis passed for local stations
# Used as message gating condition for gating to Rf
# Default value is 2
#LOCALHOPS=<n>

# Range in km within messages gated to Rf
# If defined, checked after hop count (local) check
# No default
#MSGRANGE=<fv>

#################################################################
# #
# IS gateway settings; remove this section to disable GW #
# #
#################################################################

[ISGW]

# Mandatory parameters

# Domain name of IS server to connect
host=euro.aprs2.net %%%% HOST SHOULD BE LIKE THIS %%%%

# Optional parameters

# Port number; default is 14580
#PORT=<n>

# Filter; default is r/@/150
# @ is replaced with station position
#FILTER=<str>

#################################################################
# #
# WRB server settings; remove this section to disable it #
# #
#################################################################

[WEBSERVER]

# Mandatory parameters

# WEB server port, no default
port=9999

#################################################################
# #
# Radio port configuration settings; repeat section for #
# multiple ports #
# #
#################################################################

[RADIO]

# Mandatory parameters

# Interface type
INTERFACE=KISS %%%% SHOULD BE LIKE THIS %%%%

# Serial port
PORT=/dev/ttyAMA0 %%%% SHOULD BE LIKE THIS %%%%

# Serial port speed
SPEED=19200 %%%% SHOULD BE LIKE THIS %%%%



# Optional parameters
# Modem speed, default is 1200
#SIGNALRATE=1200
# Enable/disable NWS WX bulletin and object gating from IS to Rf
# Disabled by default
#GATENWS=<y/n>
# Enable/disable BOM WX bulletin and object gating from IS to Rf
# Disabled by default
GATEBOM=y
# Descripton of port; no default
DESCRIPTION=TNC-PI %%%% CAN BE LIKE THIS %%%%
# Via used to send locally generated packets; default is WIDE1-1,WIDE2-2
#AXVIA=<lst>
# Digipeaters processed with WIDEn-n algorithm; default is WIDE1,WIDE2
#WIDEN=<lst>
# Blacklisted stations; they are not digipeated, not gated; default is NOCALL,N0CALL
#BLACKLIST=<lst>
# PHG string, do not mix with range; no default
#PHG=<str>
# Range value in miles, do not mix with PHG; no default
RNG=30
# Enable/disable transmission; change it to PTTON=1 to enable trasmission; default is no
PTTON=y %%%% CAN BE LIKE THIS %%%%
# Gate locally generated frames to IS gateway; default is no
# Useful for rx-only radio ports
# Experimental, use carefully
GATELOCAL=y %%%% CAN BE LIKE THIS %%%%
# Gate digipeated frames to IS gateway; default is no
# Experimental, use carefully
GATEDIGI=y %%%% CAN BE LIKE THIS %%%%
# Beacon text; %v replaced with actual version string; default is %v
#BCNTXT=<str> make your own beacon string here
# Enable/disable digipeater; default is enabled
#DIGIPEATER=<y/n>
# KISS TNC setup parameters 0...255; no defaults
# Use to setup TNC by DIXPRS
#TXD=<n>
#PPERSIST=<n>
#SLOTTIME=<n>
#TXTAIL=<n>
#DUPLEX=<n>
# Below these are the traffic shaping settings for gating messages
# From IS to Rf
#
# For advanced users only; do not change if you do not know how
# traffic shaping works and if you do not have good reason !!!

# Traffic shaping high treshold, default is 0.75
#TRAFFICHIGH=<fv>

# Traffic shaping low treshold, default is 0.5
#TRAFFIClow=<fv>

# Traffic shaping transmission delay, default is 5.0 sec
#TRAFFICDELAY=<fv>

# Comma separated list of addresses to send receveid/transmitted frames
# in hostip:port format. No default.
UDPCC=udplog1.dixprs.net:8889,udplog2.dixprs.net:8889 %%%% SHOULD BE LIKE THIS %%%%


Save the modified config.txt file and now you can test it


back

Step 6
Starting the dixprs

root@raspberrypi:~# /usr/local/dixprs/dixprs.py -c /usr/local/dixprs/config.txt

*** DIXPRS 2.2.2 - 05-09-2012 - (pid=1996)

*** AIR0 process started [No description] (pid=1999))
*** IGATE process started [host=euro.aprs2.net, port=14580] (pid=2000)
*** WEBSR process started [port=9999] (pid=2001)
*** Connection established

08:36:33z AIR0 <- LOCL HA6QZ-2>APDI22,WIDE1-1,WIDE2-2:>DIXPRS 2.2.2 u p and running
*** Connection successful to T2HUN
08:36:38z AIR0 <- LOCL HA6QZ-2>APDI22,WIDE1-1,WIDE2-2:>Connected to T 2HUN count 1/0
08:37:31z AIR0 <- LOCL HA6QZ-2>APDI22,WIDE1-1,WIDE2-2:=S6l2*PG`G# sTDIXPRS 2.2.2
08:37:31z AIR0 <- LOCL HA6QZ-2>APDI22,WIDE1-1,WIDE2-2:<IGATE,MSG_CNT=0,LOC_CNT=0,DIR_CNT=0,RF_CNT=0,RFPORT_ID=0


After this you should be able to find your igate on aprs.fi
Also you should see the APRS data coming in if your radio is connected and the TNC-PI receives APRS data.


back

Step 7
If you want the dixprs run in its own screen, and you would like to get back the linux shell and would like the dixprs would start when you power on the Raspberry PI (or reboot it), the following should be done:

The next little script will take care of it, but before that you have to install screen apt-get install screen
cd /etc/init.d

Then create the dixprs startup file nano dixprs

Copy the content below and write it to file

#! /bin/sh
# /etc/init.d/dixprs

### BEGIN INIT INFO
# Provides: dixprs
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Simple script to start dixprs at boot
# Description: A simple script from www.stuffaboutcode.com which will start / stop a program a boot / shutdown.
### END INIT INFO

# If you want a command to always run, put it here
cd /usr/local/dixprs

# Carry out specific functions when asked to by the system
case "$1" in start)

echo "Starting dixprs in a screen"

# run application you want to start screen -dmS dixprs /usr/local/dixprs/dixprs.py -c /usr/local/dixprs/config.txt
;;

stop)
echo "Stopping dixprs screen"
killall screen
;;

*) echo "Usage: /etc/init.d/dixprs {start|stop}"

exit 1

;;
esac
exit 0
Then chmod 755 dixprs and now test it, the script should work

./dixprs start

screen –r dixprs, should show you the previous start-up information.

*** DIXPRS 2.2.2 - 05-09-2012 - (pid=8473)
*** AIR0 process started [TNC-PI] (pid=8476))
*** IGATE process started [host=euro.aprs2.net, port=14580] (pid=8477)
*** WEBSR process started [port=9999] (pid=8478)
*** Connection established

Leave the screen by Ctrl-a-d (but note that dixprs will be still running in the background but now you have the linux console back).
Kill it by ./dixprs stop but from outside the screen with the name dixprs
To register your script to be run at start-up and shutdown, run the following command:
sudo update-rc.d dixprs defaults

Note - The header at the start is to make the script LSB compliant and provides details about the start up script and you should only need to change the name. If you want to know more about creating LSB scripts for managing services, see http://wiki.debian.org/LSBInitScripts
If you ever want to remove the script from start-up, run the following command:
sudo update-rc.d -f dixprs remove


back

Step 8
I have bought a mico size Edimax WLAN-Stick N150 Nano EW-7811UN from Conrad.ch This one is recognised by the Raspberry Pi, so I do not need a LAN cable any longer.
If you have a WIFI routed using WPA2 encription here is the way to make the WIFI connection enabled.

Configuring WPA2 using wpa_supplicant on the Raspberry Pi

To use WPA2 pre-shared key on the Raspberry Pi, you will first need to add a network configuration to “/etc/wpa_supplicant/wpa_supplicant.conf”.

Note the lack of space in “network={“.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="Your SSID Here"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="YourPresharedKeyHere"
}

After you have modified wpa_supplicant.conf, you will need to change the “wlan0&#8243; section of “/etc/network/interfaces”. For a static IP, it will look

like this:

# allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
address 10.1.2.20
netmask 255.255.255.0
network 10.1.2.0
gateway 10.1.2.1

For DHCP, it will look like this:

# allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

After that, you will need to bring up the “wlan0&#8243; interface using “ifup”:

# sudo ifup wlan0

You may have to bring the interface down and then back up:

# sudo ifdown wlan0
# sudo ifup wlan0

You can check your wireless connection using iwconfig:

# iwconfig
lo no wireless extensions.
eth1 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:"Your SSID Here" Nickname:"<WIFI@REALTEK>"
eth0 no wireless extensions.

After this every time you start the Raspberry PI, it will automatically connect to your home router. No need LAN cable any more.


back

Step 9
I am using a Wouxun KG-818 transceiver for the igate and it has got a Kenwood type connector for speaker/mic.

You can order it from www.argentdata.com

The connector has two plugs: a 3.5mm TRS plug, and a smaller TS plug. The pinout is as follows:

TRS tip: (not connected)
TRS ring: (white) = MIC
TRS sleeve: (black) = PTT
TS tip: (red) = SPKR
TS sleeve: (blue) = GND

Connecting the Radio
You can either wire up a 9 pin D-Sub plug to mate with the one on the board, or, if you’d prefer, you can use the four holes below R7 to hard wire a radio connection. If you use the 9 pin D-Sub connection, it should be wired as follows:
Pin 1: TX Audio
Pin 3: Push to Talk (PTT)
Pin 5: Receive Audio
Pin 6: Ground
Potentiometer R7 adjusts the level of the transmit audio output. Most people will find that they need to set it fairly near the minimum setting. One way to set this is to use two radios, one to monitor the transmitted signal and the other connected to the TNC-Pi. Key the radio connected to the TNC-Pi manually by pushing the PTT button on it. On the other radio you will hear a continuous tone (even though no data is being transmitted… you don’t need to be running any software on the Raspberry Pi to do this). Turn R7 all the way down and the tone will go away. Then slowly turn it up until the volume doesn’t increase any further in the monitor receiver. When you reach this point, back it off just a little and you should have it about right.

Now you have a linux based microcomputer controlling an AX.25 Terminal Node Controller for RF to Internet packet gating

THAT'S ALL FOLKS


back

Backup
After all this configuration work you may wish to make a backup image of the SD card.

http://raspberrypi.stackexchange.com/questions/311/how-do-i-backup-my-raspberry-pi

Win32 Disk Imager is the tool for that in Windows.

Since there there are Chinese and English made Raspy's, the chipsets are slightly different, which means you only can use the image for the very same Raspy


back

Path: /usr/local/dixprs
File: config.txt

#############################################################
# Configuration file for DIXPRS 2.2 APRS digipeater and gateway
# Lines starting with # ; ' are comments and not processed
# Empty lines allowed # Parameter names are case insensitive
# Default file name is config.txt please rename samples
# or use -c <configfile> command line option
# Home page: https://sites.google.com/site/dixprs/
# (C) Bela Markus, HA5DI - 2012
#############################################################

#############################################################
#
# Sample configuration file for serial KISS TNC
#
#############################################################

#############################################################
# <y/n> - use y or 1 to enable, n or 0 to diesable
# <str> - ASCII text, case sensitive
# <call> - callsign with optional SSID, case insensitive
# <fv> - floating point value with decimal point
# <n> - integer number
# <xy> - two-letters string, case sensitive
# <host> - domain name or IP address
# <adrlst> - comma separated list of host IP and port addresses
# in ip:port format, e.g. 127.0.0.1:8889 # Command names and y/n parameters are case insensitive
#############################################################



#############################################################
# General station setting; mandatory section
#############################################################

[GENERAL]

# Mandatory parameters

# Your callsign with SSID
CALLSIGN=HB9CZV-4

# Degrees; West is negative, East is positive
LONGITUDE=07.6795

# Degrees; South is negative, North is posittive
LATITUDE=46.6845

# Optional parameters

# Station height abvove the see level in meters; no default
ASL=670

# Owner name and contact; no default
#OWNER=<str>

# Spool directory to import packets; no default
#SPOOL=<path>

# Station symbol; default is S#
#SYMBOL=#

# UDP port base number; default is 31110
#UDPBASE=<n>

# Beacon frequency in minutes; default is 30
BCNTIME=10
# Beacon text; %v replaced with actual version string; default is %v
# Used as default for ISGW and RADIO
BCNTXT=Raspberry Pi & TNC Pi

# Select km/mi on monitor and in DX list; default is y (km)
#METRIC=<y/n>

# Max number of digis passed for local stations
# Used as message gating condition for gating to Rf
# Default value is 2
#LOCALHOPS=<n>

# Range in km within messages gated to Rf
# If defined, checked after hop count (local) check
# No default
#MSGRANGE=<fv>

#############################################################
# IS gateway settings; remove this section to disable GW
##############################################################

[ISGW]

# Mandatory parameters

# Domain name of IS server to connect
host=euro.aprs2.net

# Optional parameters

# Port number; default is 14580
#PORT=<n>

# Filter; default is r/@/150
# @ is replaced with station position
#FILTER=<str>

#############################################################
# WRB server settings; remove this section to disable it #############################################################
[WEBSERVER]

# Mandatory parameters

# WEB server port, no default
port=9999

#############################################################
# Radio port configuration settings; repeat section for multiple ports #############################################################
[RADIO]

# Mandatory parameters

# Interface type
INTERFACE=KISS

# Serial port
PORT=/dev/ttyAMA0

# Serial port speed
SPEED=19200

# Optional parameters

# Modem speed, default is 1200
#SIGNALRATE=1200

# Enable/disable NWS WX bulletin and object gating from IS to Rf
# Disabled by default
#GATENWS=<y/n>

# Enable/disable BOM WX bulletin and object gating from IS to Rf
# Disabled by default
GATEBOM=y

# Descripton of port; no default
DESCRIPTION=TNC-PI

# Via used to send locally generated packets; default is WIDE1-1,WIDE2-2
#AXVIA=<lst>

# Digipeaters processed with WIDEn-n algorithm; default is WIDE1,WIDE2
#WIDEN=<lst>

# Blacklisted stations; they are not digipeated, not gated; default is NOCALL,N0CALL
#BLACKLIST=<lst>

# PHG string, do not mix with range; no default
#PHG=<str>

# Range value in miles, do not mix with PHG; no default
#RNG=<n>

# Enable/disable transmission; change it to PTTON=1 to enable trasmission; default is no
PTTON=n

# Gate locally generated frames to IS gateway; default is no
# Useful for rx-only radio ports
# Experimental, use carefully
GATELOCAL=y

# Gate digipeated frames to IS gateway; default is no
# Experimental, use carefully
#GATEDIGI=<y/n>

# Beacon text; %v replaced with actual version string; default is %v
BCNTXT=Raspberry Pi & TNC Pi

# Enable/disable digipeater; default is enabled
#DIGIPEATER=<y/n>

# KISS TNC setup parameters 0...255; no defaults
# Use to setup TNC by DIXPRS

#TXD=<n>

#PPERSIST=<n>

#SLOTTIME=<n>

#TXTAIL=<n>

#DUPLEX=<n>

# Below these are the traffic shaping settings for gating messages
# From IS to Rf
#
# For advanced users only; do not change if you do not know how
# traffic shaping works and if you do not have good reason !!!

# Traffic shaping high treshold, default is 0.75
#TRAFFICHIGH=<fv>

# Traffic shaping low treshold, default is 0.5
#TRAFFIClow=<fv>

# Traffic shaping transmission delay, default is 5.0 sec
#TRAFFICDELAY=<fv>

# Comma separated list of addresses to send receveid/transmitted frames
# in hostip:port format. No default.
#UDPCC=<adrlst>
UDPCC=udplog1.dixprs.net:8889,udplog2.dixprs.net:8889