I put together a Python app that can run side by side with dump1090 on a RPi or on a remote machine and produces a set of live charts that show message rate averages over various periods, signal strengths percentile ranges, aircraft distance percentile ranges, and counts of signals in distance buckets.
The charts update continuously once per second, so you can change your antenna position or modify the dump1090 settings and restart the server and see the effects instantly. For the gain settings for dump1090-fa, it’s quite instructive to set the gain value to zero and observe how the algorithm tunes the gain over the course of a couple of minutes.
I don’t have the time this week to package this up nicely, but if you’re a little Python literate, you can grab the files and throw them into a directory, you should be able to get it running with “pip install -r requirements.txt” and then “python msgrates.py”. The web page is served up on port 8000.
Ok pi-hostname is just raspberrypibut that doesn’t seem to work either.
Here’s what I get from the command line:
INFO:signalstats1090.signalstats1090:Starting server on raspberrypi:8000
INFO:signalstats1090.signalstats1090:Using antenna location: 33.xx, -117.xx
/home/pi/signalstats1090/lib/python3.11/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions
warnings.warn( # deprecated in 14.0 - 2024-11-09
/home/pi/signalstats1090/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py:17: DeprecationWarning: websockets.server.WebSocketServerProtocol is deprecated
from websockets.server import WebSocketServerProtocol
INFO: Started server process [1211381]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://raspberrypi:8000 (Press CTRL+C to quit)
Don't know if those deprecation warnings matter
I installed signalstats1090 as a service on an old Raspberry-pi 1 I had kicking about to remotely connect to my running system on a different r-pi.
I used the install script and when running on my raspbian-lite it installs but on starting the service it fails with error:
Error importing numpy: you should not try to import numpy from its source directory; please exit the numpy source tree, and relaunch your python interpreter from there.
It appears a 32bit ‘lite’ install needs libopenblas-dev (apparently not required on a 64bit system?)
sudo apt-get install libopenblas-dev
It now runs OK and I can access the graphs on the remote r-pi 1
To use hostnames instead of IP adresses you need to configure the hosts and lmhosts files located at %windir%\system32\drivers\etc. There are samples there for you to follow.
Now I’m curious whether they’ll help you with tuning the gain. You can restart dump1090 with new configs while the app runs and see the effect of the settings. With dump1090-fa setting the gain to zero ended self-tuning into a near optimal state for my environment.
I noticed that CPU utilization ramps up over a period of about 2 hrs and then stabilizes. On a RPi 4, CPU utilization is about 9% with dump1090-fa and dump978-fa. Adding in signalstats1090 ramps it up to 24%.