Integrating simulated data and real ADS-B data into dump1090 map

I am researching creating simulated aircraft flight data and displaying it in the moving map alongside actual flights coming in off the receiver. I was considering using the piaware setup, since it’s likely to be the least buggy. Any ideas on where the best and least intrusive insertion point would be?

My initial idea was to create two dump1090 instances. One to receive from the radio and to write beast data out to a port. say port 30010 and another dump1090 instance to receive data from port 30010. Then I hoped to write my simulated data from a separate program out to port 30010 as well. I was hoping this would be the easiest path to integrating simulated and real data into the same map.

Anyone have any thoughts?

 

Above Github program “mixer” was developed in stages in following thread. You may brows it to get an insight into the mixer’s working.

Alternate to ModeSMixer2 on Bookworm

 

 

2 Likes

please make sure that you disable the piaware data feed before playing with simulated data:

sudo systemctl mask piaware
sudo systemctl stop piaware
3 Likes

This is essential if feeding simulated data directly to dump1090-fa .

However if simulated data and dump1090-fa data are both fed to a mixer, then the mixer provides an added protection as the ports of mixer are configured as below so the piaware with default settings wont pick any data from the mixer.

image

Thanks for the note guys, I have turned off piaware.

I finished setting up dump1090-fa and I noticed that it is listening on port 30004 for beast mode comms. I tried sending some data to it…

This is a position report:
echo -e -n “\x1\x0\x1C\x0\x0\x0\xD\x27\x30\x41\x1\xB8\xB2\xF9\xFF\x4D\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0” | nc localhost 30004

and something received it, because it completed. However, I am not seeing anything on my map.

sudo journalctl -u dump1090-fa

yielded zero information. Interestingly, when I set receiver = none, it says it is in net only mode, but it does not receive any data. It is listening on port 30004 though. I get success results when netcat’ing data in.

Any insights would be helpful.

That’s not a Beast-format message. You want to use the “binary” format described here: Mode-S Beast:Data Output Formats - Beast Wiki

Or you can use the “AVR” format to a “raw” input port (which IIRC is disabled by default)

I would suggest running dump1090-fa from the CLI with --device-type none --net-bi-port 12345 (or --net-ri-port for AVR format), feed your data to that port, and look at the CLI output; without --quiet dump1090 will emit decoded messages to stdout so you can check if your data is arriving correctly.

For example:

$ echo "*8D3C5EE69901BD9540078D37335F;" | nc -w1 localhost 12345
$ ./dump1090 --device-type none --net-ri-port 12345
Wed Oct 11 11:46:18 2023 +08  dump1090-fa unknown starting up.
Net-only mode, no SDR device or file open.
*8d3c5ee69901bd9540078d37335f;
CRC: 000000
Score: 25 (DF17_UNKNOWN)
DF:17 AA:3C5EE6 CA:5 ME:9901BD9540078D
 Extended Squitter Airborne velocity over ground, subsonic (19/1) (reliable)
  ICAO Address:  3C5EE6 (Mode S / ADS-B)
  Air/Ground:    airborne
  Geom - baro:   -300 ft
  Ground track   110.8
  Groundspeed:   475.1 kt
  Geom rate:     0 ft/min
  NACv:          0
1 Like

@obj
I tried this by first storing 30 seconds of raw (avr) data in a file, then stopped dump1090-fa, and ran dump1090-fa in CLI using --net-only, --net-ri-port 30001 and --ifile parameters. The skyaware map showed nothing :disappointed: What I have done wrong?

 

image

 

image

 

Click on Screenshot to See Larger Size

 

compare the command line you used with the command line I suggested using.

1 Like

Yes, you are right. Your suggested command line worked OK.

I have now used your command line, but have wrapped it in:
while read -r line; do [your command line]; done < filename
to read line-by-line the raw data from file instead of directly inputting it in the command line. Please see screenshot below

Click on Screenshot to See larger Size

 

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.