Why an ADSB Virtual Radar 2.0?
Two basic reasons:
- Unreliable hardware platform. Raspberry PI as remote computer platform = an unreliable, may I say 'toy'. Very sensitive to temperature, humidity, static, power fluctuation and brown and blackouts.
- Google Map$ (predictably [as power becomes greed]) became a paid service. Thus also unusable for free small scale projects like this. And a warning sign of worse to come form this tech company.
The ADSB Virtual Radar 2.0 does not exclude any of the above points becoming a potential issue (read problem) in the future.
Dump1090 ran on Raspberry PI's, for bench testing fine, for endurance operation a disaster. Static electricity, power fluctuations and occasionally for no reason at all, the SD cards would get totally corrupted at any given point in time. I must mention that these units were mounted in a sealed encasing close to the antenna, outside in a 10 meter antenna mast. Raspberry PI's don't like the outdoors is my conclusion.
A mini PC was in use providing some basic services, but in general sitting around not doing much. The idea was to run Dump1090 on an underutilized Windows server as a service. Not there yet - as a service, but running.
First step was to get a running version of Dump1090 for Windows. Everything I found did not work, so opted to search for source code. It is already a few years old, but the code from labomb found at https://github.com/labomb/dump1090-win became my starting point. There were dependent libraries that were required, and finding them was also a challenge, but slowly it started to come together.
After sorting out the threading and the consequent 'timespec' conflicts and getting the project to compile correctly, I noticed the JSON output construct was not conform 'the good old UNIX based' code that ran on the PI. This was not a problem as the old software made use of Google service, exactly what I wanted to replace to start with.
So back to the source code to see if it could be enhanced with even more potentially interesting information. The result is a version that is no longer completely compatible (has regression - sorry) with the older Dump1090, but does provide extra information. This version also provides nearly fully known constructs, so if want a perfect view you will need to filter client side.
The source code for Visual Studio 2017, with all required libraries, excluding 'zadig' needed to replace the USB driver for the SDR dongle is available here.
Ready to run code, including the startup batch file is here. Do remember to change the ppm value according to your RTL SDR dongle offset.