This folder contains several items that together make a demo allowing you to track civilian aircraft and send that data in to RabbitMQ for processing, collation, and later central display.
There are several software products within this code base:-
Every Pivot can run their own receiver and contribute to the global map! If you're interested in this, follow the below steps
First, contact Adam Fowler in the UK Platform Architect team afowler@pivotal.io for a key so you can send data to RabbitMQ.
The code you will use requires a specific chipset, so not all DVB-T receivers will work. A good one is the NeoElec R820T2 SDR NESDR Mini 2 which is what I use. This is an inexpensive item that can be found easily online, including from Amazon.
Now, install and compile dump1090:-
git clone https://github.com/mutability/dump1090
mv dump1090 mutability-dump1090
cd mutability-dump1090
# Following line is for Raspbian on the Raspberry Pi. Your system may vary
sudo apt-get install libusb-1.0-0-dev librtlsdr-dev maven
make
cd ..
If it fails, read the README in the project's folder for ideas, or get Adam Fowler on a zoom meeting.
Now prepare the data web server:-
sudo mkdir /run/dump1090
sudo chown pi:pi /run/dump1090
sudo apt-get install lighttpd
sudo cp lighttpd.conf /etc/lighttpd/
sudo /etc/init.d/lighttpd restart
Edit your receiver app to put the approximate (not too accurate!) location of your base station. This can be found in the --lon and --lat settings of ./runreceiver.sh
Now plugin your Software Defined Radio stick and run the receiver:-
./runreceiver.sh
To test view the internal (your base station only) json view: http://localhost:8081/data/aircraft.json
You should see aircraft information in the console, and in the map view
You now need to compile and run the adsb-console-java project.
cd adsb-console-java
mvn package
Now place the below in the file ./mutability-dump1090/runitmq-configured.sh
#!/bin/sh
export AMQP_URL=amqp://SOMEURL-PROVIDED-BY-ADAMFOWLER
./runitmq.sh
Edit runitmq.sh to reflect the name of your Base Station. E.g. "Fred's Base Station". Do not put your full name or address.
Now run it :-
./mutability-dump1090/runitmq-configured.sh
You should see messages about aircraft appear on the console. Now Ctrl+C to stop this.
Execute the following commands
sudo cp startup.sh /etc/init.d/dump1090
sudo chown root:root /etc/init.d/dump1090
sudo chmod gu+x /etc/init.d/dump1090
sudo ln -s /etc/init.d/dump1090 /etc/rc5.d/
sudo reboot
Upon restart you should be able to hit the JSON http endpoint again, as well as see all your data on the central map, below.
Your aircraft, along with aircraft from all global receivers, will now be visible on the central map here: http://aircraft-monitor-central.cfapps.io/gmap.html
DON'T DO THIS!!!
If you run a local copy then you will 'steal' messages from the central exchange unless you change the name of your queue in the adsb-live-processor RabbitMQ template configuration.
Running this app without modification will mean the global view will not list all aircraft, breaking the demo!!! So please DO NOT DO THIS!
Still wanna do it? Well...
The basic outline is:-
Processor | Java status | C# status | Notes |
---|---|---|---|
adsb-console-java | Working, instance per base station (local) | N/A | Reads ADSB JSON and sends to RabbitMQ |
adsb-live-processor | Working, multi instance | Working, multi instance | Takes live feed and sends to Redis |
aircraft-monitor | Working | Working | Aircraft REST endpoint (and older map display web app) |
aircraftui | N/A | N/A | ReactJS (staticfile buildpack) new demo web UI |
All code and material is copyright Pivotal Inc all rights reserved, and licensed under the Apache 2 license unless otherwise stated.
aircraft-monitor-java contains the web front end from mutability-dump1090 within its src/main/resources/static folder which is from the mutability version of the dump1090 application available at https://github.com/mutability/dump1090 and are licensed under the GPL V2 License. These files are copied verbatim and have not been modified, except the config.js file which is designed for user editable configuration.
This app is provided as-is, without support. If you're using the internal pivotal demo app, then please email afowler@pivotal.io with all relevant information and I'll endeavour to give you pointers.