Difference between revisions of "Bloominglabs ADS-B"

From Bloominglabs
Jump to: navigation, search
(Notes on data)
Line 64: Line 64:
 
We only see occasional beacons from aircraft, so when the beacons pop-up behind it’s last known path, it means it was flying a circle around that area. The path just draws straight lines between beacon locations, so that can be somewhat misleading when a plane is circling an area.
 
We only see occasional beacons from aircraft, so when the beacons pop-up behind it’s last known path, it means it was flying a circle around that area. The path just draws straight lines between beacon locations, so that can be somewhat misleading when a plane is circling an area.
  
 +
 +
==== Real Time Stream Data Format ====
 +
The data format is documented here: [http://woodair.net/sbs/Article/Barebones42_Socket_Data.htm http://woodair.net/sbs/Article/Barebones42_Socket_Data.htm].
  
 
==== Further Reading ====
 
==== Further Reading ====

Revision as of 14:04, 10 August 2017

This is a page of info on getting aircraft data out of our ADS-B / MLAT receiving station at Bloominglabs. See Radio_Activities#ADS-B_receiving_station for more info on the station itself and to get access to our FlightRadar24 Premium Account.


Contents

Downloading aircraft data from our receiver

To download a static log of aircraft data from our receiver, use a web browser and connect to the unit (only from within Bloominglabs: http://192.168.1.3 ). There is no login required. You can also use wget to download a static copy of the log:

wget -O aircraft.log http://192.168.1.3/log.php?id=xxx

The data you want are the lines with [mlat] tags in them, in this case A4E330 is the planes id:

2017-07-02 05:49:00 | [mlat][i] A4E330

A quick note on extracting just the MLAT lines from the log: This is a unix one-liner which is handy for parsing just aircraft data out of the log:

egrep -v "Pinging|Stats|sent|Registered|synchronized|Synchronizing|Cached|syncing|ping|removed|Connected to|Response|MLAT timestamp|Too many connection|[feed]|main" aircraft.log


Real Time Stream

A real-time stream of the data can be captured from port 30003:

$ telnet 192.168.1.3 30003
Trying 192.168.1.3...
Connected to 192.168.1.3.
Escape character is '^]'.
AIR,,333,1,A185A3,101,2017/08/10,16:20:11.4294966710,2017/08/10,16:20:11.4294966710
MSG,5,333,1,A185A3,101,2017/08/10,16:20:11.4294966710,2017/08/10,16:20:11.4294966710,,41000,,,,,,,0,,0,0
AIR,,333,2,A10897,102,2017/08/10,16:20:11.4294966723,2017/08/10,16:20:11.4294966723
AIR,,333,3,A83443,103,2017/08/10,16:20:11.4294966732,2017/08/10,16:20:11.4294966732
ID,,333,3,A83443,103,2017/08/10,16:20:11.4294966732,2017/08/10,16:20:11.4294966732,N628DC
MSG,4,333,3,A83443,103,2017/08/10,16:20:11.4294966732,2017/08/10,16:20:11.4294966732,,,196.0,47.7,,,64,,,,,
MSG,8,333,2,A10897,102,2017/08/10,16:20:11.4294966741,2017/08/10,16:20:11.4294966741,,,,,,,,,,,,0
MSG,8,333,2,A10897,102,2017/08/10,16:20:11.4294966754,2017/08/10,16:20:11.4294966754,,,,,,,,,,,,0
MSG,5,333,2,A10897,102,2017/08/10,16:20:11.4294966805,2017/08/10,16:20:11.4294966805,,16025,,,,,,,0,,0,0
AIR,,333,4,A46D4E,104,2017/08/10,16:20:11.4294966820,2017/08/10,16:20:11.4294966820
ID,,333,4,A46D4E,104,2017/08/10,16:20:11.4294966820,2017/08/10,16:20:11.4294966820,UAL1659
AIR,,333,5,AAEF89,105,2017/08/10,16:20:11.4294966829,2017/08/10,16:20:11.4294966829
ID,,333,5,AAEF89,105,2017/08/10,16:20:11.4294966829,2017/08/10,16:20:11.4294966829,AAL2197
MSG,3,333,5,AAEF89,105,2017/08/10,16:20:11.4294966829,2017/08/10,16:20:11.4294966829,,36000,,,38.39378,-87.12485,,,0,0,0,0
MSG,4,333,5,AAEF89,105,2017/08/10,16:20:11.4294966830,2017/08/10,16:20:11.4294966830,,,419.0,227.2,,,0,,,,,
AIR,,333,6,AA7E2E,106,2017/08/10,16:20:11.4294966832,2017/08/10,16:20:11.4294966832

Other tools like socat may be better for digesting the cooked log:

socat - TCP:192.168.1.3:30003

Dates are in UTC, so subtract 4 hours to convert all timestamps to EDT (or -5 hours for EST). A raw/binary data stream is available on port 30334. There are 3rd party tools which can be used to digest the cooked and raw streams for visualizing some of this data.


Notes on data

Our receiver regularly pulls in beacons from aircraft over 200 nautical miles away. Technically most of the aircraft data we receive are MLAT beacons (S-mode identifiers) which is different from ADS-B. MLAT signals are usually only receivable from the ground if the aircraft is above 5k-10k feet unless direct line-of-sight was obtained. The S-mode identifier is a 24-bit hex address unique to every aircraft. Not all aircraft have beacons, although after the year 2020 the FAA will require all aircraft to have some type of identifier.

The MLAT / S-mode / ICAO24 identifier will tie to a specific aircraft and tail number. Not all sites have a complete database, so multiple sources can be useful when looking up identifiers. These are handy to use:

This site is very useful, you can do lookups here and also retrieve flight paths to see everywhere an aircraft has been logged:

We only see occasional beacons from aircraft, so when the beacons pop-up behind it’s last known path, it means it was flying a circle around that area. The path just draws straight lines between beacon locations, so that can be somewhat misleading when a plane is circling an area.


Real Time Stream Data Format

The data format is documented here: http://woodair.net/sbs/Article/Barebones42_Socket_Data.htm.

Further Reading

There is some useful info here about different ways to digest the live streams:

Personal tools