Installing BPQ on the Raspberry Pi and TNC-Pi or Beaglebone Black and TNC-Black
Willem A. Schreüder AC0KQ
The purpose of this HOWTO is to describe how to install BPQ on a Linux Single
Board Computer (SBC) such as the Raspberry Pi or Beaglebone Black.
BPQ is a very sophisticated NET/ROM compatible packet switch written by John
Wiseman G8BPQ. BPQ can be configured to be a sophisticated Packet BBS, a
WinLink2000 RMS gateway, an APRS iGate, or any combination of these.
One of the hurdles to setting up BPQ is that the configuration file can be
rather difficult to set up. To ease this, this HOWTO uses a program named
bpq-config which makes it easy to create the initial configuration.
While bpq-config is primarily intended to create the initial
configuration file which you can then modify, it is actually capable of creating
a fairly sophisticated configuration file using a menu-driven interface.
Much more detail about BPQ are provided at
G8BPQ Home Page
At this time bpq-config only supports the Raspberry Pi and Beagle Bone
Black with John Hansen's TNC-Pi and TNC-Black. This is because these are fairly
predictable environments. However, with little modification bpq-config
can also be used with other systems.
If you have any corrections or comments about this HOWTO or bpq-config, please
email me. I get lots of junk mail, so
add BPQ to the subject line to get it by my spam filters.
Authorization
If you want to use BPQ as an RMS gateway to WinLink, you need to obtain authorization from the WinLink folks. See
this link on how to do that.
To send APRS position reports to the APRS-IS via the APRS Tier 2 Network a
password is required. However, bpq-config contains a function to
generate that password for you, so no additional authorization is required.
Computer Hardware
The Raspberry Pi and Beaglebone Black are available from numerous sources. The
price for a Raspberry Pi 2 or 3 is $35 from mail order vendors such as
MCM Electronics.
The Raspberry Pi B or B+ is sufficiently fast to run BPQ, so you can use that if
you happen to have one. The TNC-Pi works with all of these models.
The Raspberry Pi has the advantage of a very active user community, which makes
it the best supported device. The disadvantage of the Raspberry Pi is that it
has only one serial port, so if you want to use more than one TNC you need to
use the I2C bus to address the TNCs, which requires a bit more work.
The Beaglebone Black is has a street price around $50. It has the advantage of
a more mechanically stable mounting arrangement and four serial ports which
makes multiple TNC easy to mount and use.
The disadvantage of the Beagle Bone black is that it is not as well supported as
the Raspberry Pi so getting it configured is a bit more work.
TNC Hardware
The TNC-Pi is available at Coastal Chipworks
either built or as a kit. Get the kit, it is easy to build and lots of fun.
The instructions are almost as good as the old Heathkit manuals.
For most locations you need some sort of enclosure. I use the Bud
Industries Pi Sandwitch which allows the Raspberry Pi and TNC Pi pair to be
mounted.
The rPi runs on 5V, so for a 12V system you need a converter to supply 5V
at 1A continuously. The 7805 style regulators generate a lot of heat at that
current so I use the Murata 78SRH-5/2-C instead, which will work for input
voltages from 8-32V DC. I use a right angle Micro USB cable which I cut to
wire for power. If the cable uses standard color codes, white and red are data
which you can ignore, red and black are positive and negative.
The rPi needs an SD card to store the software. The Model B uses a
standard size SD, the Model B+ uses the Micro SD format. A high speed and
reliable card is critical, so getting a 16GB Class 10 card is recommended. The
bigger card should last longer since the wear is spread over a larger space.
Get a spare since the cards do wear out eventually.
Configuring the OS
Raspbian switch to systemd starting with jessie (Debian 8). These instructions will work
only with this latest version of Raspbian. For older versions see
these instructions.
- Download Raspbian which is
Debian for the Raspberry Pi. There are several other OS versions, but this one is my
choice as a pretty vanilla Linux distro. Unzip the image from the ZIP file and follow
these instructions to burn the image to the SD card.
- Insert the card into the Pi and boot it. You can either
- Connect a keyboard and monitor and log in directly.
- Connect the pi to a network running DHCP and ssh into it. The hostname willshow up as RASPBERRY in the DHCP leases on your router.
- Log in to the computer using user name pi and password raspberry.
- Run sudo raspi-config
- Expand Filesystem
- Change User Password
- Internationalisation (set time zone)
- Advanced options (hostname)
- Install new packages
- sudo apt-get install vim telnet minicom i2c-tools libpcap0.8
- Add new user with administrative privilidges
- sudo adduser username
- sudo adduser username sudo
- Free up the serial line the TNC-Pi will use.
- sudo systemctl mask serial-getty@ttyAMA0.service
- Reboot the system to make sure the serial line is released.
Install and configure BPQ
- Log in using the new user created above.
- Create the BPQ sub-directory
- Download bpq-config, make it executable and run it
- wget http://www.prinmath.com/ham/bpq-config
- chmod a+x bpq-config
- sudo ./bpq-config
- bpq-config is menu-driven, so just follow the menus.
Generally you would do the following things.
- Download the BPQ software.
- Configure BPQ
- Configure the node.
- Configure one or more ports.
- Configure one or more telnet users.
- Optionally add one or more AXIP node maps.
- Write the configuration.
- Start BPQ and test it.
- Set BPQ to automatically start on boot.
Using BPQ
- Connect to BPQ using your web browser by typing in
http://X.X.X.X:8008/
on the URL bar, where X.X.X.X is the IP address of your BPQ node
- You can connect to BPQ node from any computer on the LAN using
telnet X.X.X.X 8010
Log in using your BPQ user name and password set for the Telnet user.