BPQ Home   BPQ32 Home

AIS and ADSB with BPQ32/LinBPQ

Introduction

The BPQ Web server can now display AIS (ship tracking) and ADSB (plane tracking) information. This is designed to interface with programs rtl_ais and dump1090 which use rtl-sdr dongles.

Installation

AIS

Download https://www.cantab.net/users/john.wiseman/Downloads/Test/aisbits.zip
Copy the html, png and js files to your linbpq/HTML folder

git clone git://git.osmocom.org/rtl-sdr.git
 
cd rtl-sdr/
mkdir build

cd build
sudo apt-get install libusb-1.0

cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig

ADSB

For ADSB I am using this version of dump1090. Some other versions seem to write json files of a different format.

https://github.com/mutability/dump1090/archive/refs/tags/v1.14.zip

Operation

For AIS:

Although rtl_ais has a tcp interface I've found it hangs after sending the first message. So I wrote a small program UDPtoTCP to accept UDP from rtl_ais and relay to TCP connections from BPQ. Run UDPtoTCP on same machine as rtl_ais. It listens for udp on 10110 from rtl_ais and accepts tcp connects on the same port and relays the messages.

In APRSDIGI section add

TCPHost=IPAddr
TCPPort=10110

In main section of bpq32.cfg add ENABLEAIS

For ADSB:

If you have dump1090 and bpq on the same machine you can use the json files written by dump1090. If not you have to use the TCP interface which uses more CPU, especially if you see lots of planes.

In main section of bpq32.cfg add ENABLEADSB

To use the TCP interface add these to APRSDIGI section of bpq32.cfg:

ADSBHost IPAddr
ADSBPort 30003;

Without these it will read plane data from /dev/shm/adsb/aircraft.json



John Wiseman GM8BPQ/G8BPQ
November 2021