Raspberry Pi - Standalone ADS-B Logger

Status
Not open for further replies.

eorange

♦Insane Asylum Premium Member♦
Joined
Aug 20, 2003
Messages
2,941
Location
Cleveland, OH
I built a self-contained, standalone ADS-B logger using a Raspberry Pi. My goal was to capture Mode S records into a file, and simultaneously capture a unique list of callsigns into another file.

I used a RaspPi Model 2 B, a NooElec R820T2, and some external LEDS for visual indicators. The unit only needs power and the R820T2; no keyboard, display, or network is needed. Upon boot, the Pi will automatically start logging data into the files, which are named based on the timestamp of the first Mode-S record received. If you cut power and plug it back in, the whole process will restart with a new set of files.

My design: I installed "DUMP1090 mutability" which provides the Mode-S data on localhost port 30003. I then wrote a Python script (started by cron at boot time) which creates the empty files, reads the Mode-S records, and writes them as comma separated values into one file. In another file, I keep updating just the unique list of callsigns found. Finally, a log file checkpoints the progress; a status message is written for every 10 unique callsigns received, and for every 10,000 Mode-S records received. Invalid Mode-S records are also flagged and skipped.

The red LED blinks if an invalid Mode-S record is received, the yellow LED blinks for every 100 valid Mode-S records received (just so you know something is happening), and the green LED blinks every time a new callsign is found.

When it's time to grab the data, I plug in an Ethernet cable and use sftp to retrieve the files. Later I load them into a SQL database.

In one 24 hour period, I logged 4.7 million Mode-S records and 830 unique callsigns. That file was about 190MB.

This solution is completely portable and can be transported anywhere, including a vehicle. All you need to do is supply power; it can be powered up/down as you see fit. At some later time, all the files can be downloaded and processed later.

Feedback and suggestions welcome.
 

Attachments

  • WP_20150921_18_00_16_Pro.jpg
    WP_20150921_18_00_16_Pro.jpg
    21 KB · Views: 795

eorange

♦Insane Asylum Premium Member♦
Joined
Aug 20, 2003
Messages
2,941
Location
Cleveland, OH
I ran this almost continuously for 5 days and collected over 15 million ads-b records.
 

Mike-KC8OWL

Member
Joined
Dec 25, 2003
Messages
284
Location
Henderson, NV
Erik

That is really cool! The back end SQL database makes managing that many records much easier I'm sure. I'm not sure if you have used any earlier version of the SDR but I recall reading online that the 'new' one you have there is supposed to better that the earlier version - I'm curious if there is any noticeable difference w/ ADS-B.

I have debated on going the Raspberry Pi route since right now my ADS-B is not running 24x7 because the machine I have 1090 Dump and Plane Plotter on is not necessarily dedicated to that function alone.

Awesome project!

Mike
 

eorange

♦Insane Asylum Premium Member♦
Joined
Aug 20, 2003
Messages
2,941
Location
Cleveland, OH
Thanks Mike! I have the old (black) and the new (blue), and I think the new one does receive more packets, at times, based on what RTL1090 told me when I checked it out.

I'm up to 31 million ADS-B records and now know why SQL server is not generally installed on laptops :lol: Actually it does pretty good. It's cool because a simple SQL query can let me see date/time patterns for some of the more interesting callsigns.
 
Status
Not open for further replies.
Top