Feeding PiAware from dump1090 for Windows


#1

I have two Windows machines both running dump1090 (one on each side of the apt) and I’m merging the data streams with modesmixer2 on one of the Windows boxes. This is then feeding out to FR24, RB24, PlaneFinder, Virtual Radar Server, BaseStation and PlanePlotter. My PlanePlotter install uploads to FlightAware. I’d love to be able to remove PlanePlotter from the loop.

Since I have a RPi sitting around doing nothing at the moment, can I put PiAware on it and instruct it to use one of the streams from modesmixer2 on my Windows box? If so, how?

Cheers,

Rob

sonicgoose.com


#2

Hi, Rob, and thanks for writing. Just a couple days ago someone else posted with a similar need to access dump1090 on a different machine.

PiAware right now assumes dump1090 or some other ADS-B message provider is running on the local machine. I’ve put this feature (the ability to specify another IP address and port for an ADS-B message source) on the roadmap for 1.18 which should be in the two-to-three week time range. You’ll be able to use piaware-config to specify an alternate host for dump1090, modesmixer2 or whatnot.


#3

That’s great. I did do a search of the forum prior to posting but didn’t see the post you mentioned. Good to know I’m not the only one with this need, though.

Thanks,

Rob

sonicgoose.com


#4

You’re right, Rob. I gotta figure if two people are asking (already) there are many more who will benefit.

When I was building piaware of course I saw the possibility of providing support for a user-specified IP for the message source, but the use case wasn’t clear at the time and I opted for simplicity and to get the release out. We thought it would just be a Raspberry Pi-only solution (hence “PiAware”) but people quickly started running it on other versions of Linux and leveraging it in other ways we didn’t expect, leading us to open source it and make it more cross-platform.

While the Pi is still our principal focus we want to be inclusive and improve our support for those of you who are doing these more exotic configurations as you tend to be pretty serious about it hence you’re maintaining reliable sites, trying to improve your range and stuff like that, and thus are extra good partners, and it’s just cool to help because you’re pushing the boundaries and that almost always ends up yielding greater understanding and pointing to new inventions or approaches or whatever.

Fun stuff. Good times. Sometimes it feels like science fiction.


#5

I’ve just upgraded to 1.19-3 but I don’t see any option to specify a remote dump1090 source. Is this still on the roadmap for a future release?

Rob


#6

Bump


#7

Put dump1090/piaware on your RPi. Use netcat (nc) on the RPi to forward data from the other machine running dump1090 to the RPi.

So for example, I have a script that runs this:

nc -d 192.168.10.57 30002 | nc 192.168.10.58 30001

Take the data from the RPi running on .57 to the one on .58.

There’s netcat for Windows also, but for some reason dump1090 didn’t seem to run smoothly on Windows and moving to the dump1090 mutability on RPi I had much better results.


#8

It’s handy to pass “-q1” on the righthand netcat so that it disconnects and exits properly if the lefthand netcat dies for some reason (e.g. dump1090 restarted)


#9

Thanks, didn’t know about that flag. I know it just dies anyways if the source or destination isn’t available. I use a loop to restart netcat when that happens… or something like this.

while true
do
nc -d 192.168.10.57 30002 | nc 192.168.10.58 30001
sleep 5
done


#10

Thanks for the replies re: netcat. I had been told (see above) that the ability to get the data feed from another PC on the network would be built in to PiAware and I still don’t know if that feature is still on the table. If I’m going to be feeding FlightAware and taking advantage of the free upgrade to an enterprise account as a result, then I expect FlightAware to provide a complete solution.

Rob


#11

It’s just that, a free upgrade. If they don’t have the capability or support for something that you’re doing at the moment, it’s still a free account for you.


#12

I’ve downloaded the PiAware iimage from FA and installed it on to my RPi. PiAware is running but even after running:

nc -d 192.168.0.13 31001 | nc 192.168.0.30 30005

I get the following when checking piaware-status:

dump1090 is not running.
faup1090 is not running.
piaware is running.
no program appears to be listening for connections on port 30005.
no program appears to be listening for connections on port 10001.
piaware is NOT connected to port 10001.
piaware is connected to FlightAware.
got 'couldn’t open socket: connection refused’
maybe dump1090 is NOT producing data on port 30005.
got 'couldn’t open socket: connection refused’
maybe dump1090 is NOT producing data on port 10001.

Any ideas where I’m going wrong?


#13

That is an odd combination of ports. I assume 31001 is an output port you’ve configured yourself. However by default 30005 is an output port, not an input port. Perhaps you meant 30004, which is a Beast-format input port?

I get the following when checking piaware-status:

dump1090 is not running.
faup1090 is not running.

You need to investigate why dump1090 is not running.

It should be sufficient to start it in --net-only mode, you don’t need it talking to a SDR dongle.


#14

I wrongly assumed that dump1090 was starting automatically when the RPi booted, like PiAware does. Once I ran it manually and changed the netcat port to 30004 (a previous post had listed 30005) then the data started flowing.

So, how do I now add dump1090 and the netcat command to the startup items? I’m guessing I need a bash script in either init.d or rc.d. Can I use one script to launch both?


#15

Stock piaware will try to start it if it doesn’t appear to be running, but whether that works depends on how things are set up. Did you install piaware+dump1090 from a sdcard image, or packages, or manual install?

So, how do I now add dump1090 and the netcat command to the startup items? I’m guessing I need a bash script in either init.d or rc.d. Can I use one script to launch both?

That’s the traditional way of doing it, yep. Up to you how you split it up. I just start my tunnels from /etc/rc.local since they’re pretty simple.

dump1090-mutability (here) has package-managed startup scripts & configuration form dump1090 if you want to go in that direction. You’d still need to do the netcat bit yourself.


#16

dump1090 was installed with the image from FA but wouldn’t run because I didn’t have a dongle plugged into the RPi. Once I changed the args in the init script for fadump1090.sh to read “–net-only” dump1090 ran on startup.

I’ve written a script to run the netcat stuff and it runs just fine if I run it manually from /usr/bin or from the start/stop/restart script I also wrote in /etc/init.d. But it doesn’t run on startup. Stumped again.

UPDATE: Problem solved. Added “/usr/bin/piaware-feed &” to the end of /etc/rc.local and now everything looks good.

Thanks for all the help, folks.

Rob