FlightAware Discussions

Reading fa data for other processing

Hello,

What is the simplest way to read fa data that is being collected? I would like to read this data for some simple tasks. I do not need any 3rd party stuff - the already installed dump1090-fa output data (on port 30005) should be just fine for my immediate use.

I’ve searched the forum and github for pointers to documentation for this precise purpose but failed to find any direct reference perhaps owing to my inability to phrase the query correctly.

A few years ago, I was “watching” a folder for this precise purpose but I’ve lost all documentation owing to self-inflicted issues (viz. senility) on my part. Can someone indulge this request for a refresher on how to collect data for offline use cases beyond forwarding data to fa central that is currently operational with fa supplied (v1) hardware.

Thanks!

PiAware master process (piaware) is running with pid 372.
PiAware ADS-B client (faup1090) is running with pid 638.
PiAware ADS-B UAT client (faup978) is not running (disabled by configuration settings)
PiAware mlat client (fa-mlat-client) is running with pid 850.
Local ADS-B receiver (dump1090-fa) is running with pid 333.

dump1090-fa (pid 333) is listening for ES connections on port 30005.
faup1090 is connected to the ADS-B receiver.
piaware is connected to FlightAware.

dump1090 is producing data on localhost:30005.

Your feeder ID is

SSH to pi and use these commands:

netcat 127.0.0.1 30003
Press Ctrl+c to break

netcat 127.0.0.1 30005
Press Ctrl+c to break

The dump1090-fa outputs data on ports 30003 and 30005.

Port 30003 data is human readable
Port 30005 data is NOT human readable, but can be used by VRS and ModeSMixer2.

The data from dump1090-fa’s port 30005 is in beast format, and is used by almost all data feeders (piaware, fr24feed, pfclient, rbfeeder, adsbexchange feeder etc)

1 Like

 

Exploring Port 30003 and 30106

Dump1090-fa instead of combine1090

 

1 Like

Thanks! This is exactly what I needed. Appreciate the feedback and the P.S. note too.

Yes, I’ll be using the human readable data for the next few cycles.

Kind regards.

Thanks! I used a “file watcher” (when I had done this work previously). As you may have guessed I needed a jolt to remind me on my past exercise and both @abcd567 and you have shown me the way to move forward.

Kind regards.

Does that work with the SD card image of PiAware? The installation process looks a little intimidating to me, but a daily report of all aircraft tracked would be cool.

Yes, it would be interesting. I was thinking about putting something like that together if I get some time.

I have it running on my RPi3 to collect the daily aircraft of my RPi 4.
But i am not using the piaware image.

It should work as long as the SD card is not write protected.

Thx once again to @abcd567 and @timothydykstra82, I got my code snippet up and publishing to a distributed server in the farm!

 async def tcp_client():
        HOST = "127.0.0.1"
        PORT = 30003
        reader, writer = await asyncio.open_connection(
                HOST, PORT)
        while True:
                data = await reader.readline()
                print(f'{data.decode()!r}')
asyncio.run(tcp_client())

Only a nominal increase in the CPU load even for the RPi2 that is servicing the tasks. The tinkering will never stop!

Kind regards.

3 Likes