Compare commits

...

20 Commits
master ... eoss

Author SHA1 Message Date
TheKoola 3aee5f9f2f Update gitignore 2024-07-07 18:24:13 -06:00
TheKoola bf66acf83f Configure vscode 2024-07-07 18:23:47 -06:00
Jeff Deaton 601f71f64e Updates to the readme file to point users to documentation for building and installing the eoss branch. 2020-05-01 16:05:49 -06:00
Jeff Deaton dbb3c8c397 Updates to enable edgeofspace as the github repo 2020-05-01 15:49:48 -06:00
Jeff Deaton 161a365f39 Update startup params for the dump1090 service 2020-05-01 15:37:21 -06:00
Jeff Deaton c65472574d The data directory 2020-05-01 15:36:24 -06:00
Jeff Deaton 40897d0081 Create the json output directory if it doesn't exist 2020-05-01 15:36:24 -06:00
EOSS Tracker 5de93cd3b4 Adding the dump directory to the html folder. 2020-05-01 15:36:24 -06:00
Jeff Deaton c03bc73f4b Updates to enable and start the dump1090-fa service post install 2020-05-01 15:36:24 -06:00
Jeff Deaton 12ff4bcd80 Updates 2020-05-01 15:36:24 -06:00
Jeff Deaton b1219ee3b8 Updates to enable and start the dump1090-fa service post install 2020-05-01 15:36:24 -06:00
Jeff Deaton 50f0fc1c0a Initial changes for installation on EOSS tracker brick 2020-05-01 15:36:24 -06:00
Jeff Deaton 528bc15160 The data directory 2019-10-19 13:26:16 -06:00
Jeff Deaton aef7573a1f Merge branch 'eoss' of https://github.com/Deatojef/dump1090 into eoss 2019-10-19 13:24:46 -06:00
Jeff Deaton 72f2d41f0c Create the json output directory if it doesn't exist 2019-10-19 13:22:59 -06:00
EOSS Tracker 24f805b111 Adding the dump directory to the html folder. 2019-10-12 11:05:57 -06:00
Jeff Deaton 9b42f324b8 Updates to enable and start the dump1090-fa service post install 2019-10-07 22:00:55 -06:00
Jeff Deaton 1b264e8516 Updates 2019-10-07 21:56:40 -06:00
Jeff Deaton 504472a497 Updates to enable and start the dump1090-fa service post install 2019-10-07 21:52:50 -06:00
Jeff Deaton bdda0dfb7b Initial changes for installation on EOSS tracker brick 2019-10-06 17:28:23 -06:00
16 changed files with 84 additions and 70 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@ faup1090
package-wheezy
oneoff/convert_benchmark
oneoff/decode_comm_b
.vscode

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"cmake.configureOnOpen": false
}

View File

@ -1,3 +1,15 @@
# EOSS Specific Changes
The `eoss` branch adds the following changes/features so that the dump1090-fa release can work relatively seamlessly on the EOSS SDR system:
- Updates to the web display and the underlying Javascript to Redirect the map source to the locally running OSM map server. This way map tiles are fetched from the local system and removes the need for a dedicated Internet connection.
- Apache is used as the web server of choice instead of lighttpd. The Apache configuration is modified to use an alias (/dump1090-fa) pointing to the /user/share/dump1090-fa/html directory.
- Parameter changes for the dump1090-fa daemon so that it looks to use only those RTL-SDR USB dongles that have been labeled with "ADSB" as their serial number. This allows
multiple RTL-SDR dongles to be used on the SDR system (dump1090-fa uses one while the SDR system can use another).
For detailed instructions and build info for the `eoss` branch, please see the [EOSS-Install-dump1090](https://github.com/TheKoola/eosstracker/blob/master/doc/EOSS-Install-dump1090.md) under the eosstracker project.
# dump1090-fa Debian/Raspbian packages
This is a fork of [dump1090-mutability](https://github.com/mutability/dump1090)

4
debian/control vendored
View File

@ -5,7 +5,7 @@ Maintainer: Oliver Jowett <oliver@mutability.co.uk>
Build-Depends: debhelper(>=9), librtlsdr-dev, libusb-1.0-0-dev, pkg-config, dh-systemd, libncurses5-dev, libbladerf-dev
Standards-Version: 3.9.3
Homepage: http://www.flightaware.com/
Vcs-Git: https://github.com/flightaware/dump1090.git
Vcs-Git: https://github.com/edgeofspace/dump1090-fa.git
Package: dump1090
Architecture: all
@ -19,7 +19,7 @@ Description: transitional dummy package for dump1090
Package: dump1090-fa
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libbladerf1 (>= 0.2016.06), adduser, lighttpd
Depends: ${shlibs:Depends}, ${misc:Depends}, libbladerf1 (>= 0.2016.06), adduser
Replaces: dump1090 (<< 3.0)
Breaks: dump1090 (<< 3.0)
Description: ADS-B Ground Station System for RTL-SDR

View File

@ -9,7 +9,7 @@
# dump1090-fa won't automatically start unless ENABLED=yes
ENABLED=yes
RECEIVER_OPTIONS="--device-index 0 --gain -10 --ppm 0"
DECODER_OPTIONS="--max-range 360 --fix"
RECEIVER_OPTIONS="--device ADSB --gain -10 --ppm 0"
DECODER_OPTIONS="--max-range 800 --fix"
NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1300 --net-ro-interval 0.2 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
JSON_OPTIONS="--json-location-accuracy 1"

View File

@ -1,4 +1,3 @@
public_html/* usr/share/dump1090-fa/html
debian/lighttpd/* etc/lighttpd/conf-available
bladerf/* usr/share/dump1090-fa/bladerf
debian/start-dump1090-fa usr/share/dump1090-fa/

View File

@ -34,20 +34,43 @@ case "$1" in
# plugdev required for bladeRF USB access
adduser "$RUNAS" plugdev
# set up lighttpd
if dpkg --compare-versions "$2" lt "3.1.0"
then
echo "Enabling lighttpd integration.." >&2
lighty-enable-mod dump1090-fa || true
# only enable the statcache config if there is nothing else around that already
# configures it, because lighttpd fails if it's configured twice
if ! grep -q -E '^\S*server.stat-cache-engine' /etc/lighttpd/conf-enabled/*.conf
then
echo "Enabling lighttpd integration (stat cache).." >&2
lighty-enable-mod dump1090-fa-statcache || true
fi
# Make sure the "data" directory is owned by dump1090 so the dump1090-fa process has write access
jsondir="/usr/share/dump1090-fa/html/data"
if [ ! -d ${jsondir} ]; then
echo "Creating directory ${jsondir}..." >&2
mkdir ${jsondir}
fi
if [ -d ${jsondir} ]; then
echo "Changing permissions on ${jsondir}..." >&2
chown ${RUNAS}:nogroup ${jsondir}
chmod 755 ${jsondir}
fi
# Update apache
changed=false
for apachefile in /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf
do
if [ -f ${apachefile} ]; then
echo "Modifying ${apachefile}..." >&2
sed -i '/<\/VirtualHost>/i \
####dump1090-start###\
Alias "/data" "/dump1090-fa/data"\
Alias "/dump1090-fa" "/usr/share/dump1090-fa/html"\
Alias "^/dump1090-fa$" "/dump1090-fa"\
SetEnvIf Request_URI "/dump1090-fa/data/.*\.json$" Header set "Access-Control-Allow-Origin" "*"\
####dump1090-end###' ${apachefile}
changed=true
fi
done
# Restart apache
if $changed
then
echo "Restarting Apache..." >&2
invoke-rc.d apache2 restart || echo "Warning: apache2 failed to restart." >&2
fi
# on upgrade, add an ENABLED line if it's not already present
if dpkg --compare-versions "$2" lt-nl "3.7.0"
@ -63,8 +86,14 @@ case "$1" in
fi
fi
echo "Restarting lighttpd.." >&2
invoke-rc.d lighttpd restart || true
# enabling and starting the dump1090-fa service
echo "Unmasking the dump1090-fa service..." >&2
systemctl unmask dump1090-fa
echo "Enabling the dump1090-fa service..." >&2
systemctl enable dump1090-fa
echo "Starting the dump1090-fa service..." >&2
systemctl restart dump1090-fa
;;
abort-upgrade|abort-remove|abort-deconfigure)

View File

@ -26,24 +26,21 @@ case "$1" in
remove)
changed=false
if [ -e /etc/lighttpd/conf-enabled/89-dump1090-fa.conf ]
then
echo "Disabling lighttpd integration.." >&2
lighty-disable-mod dump1090-fa || true
changed=true
fi
if [ -e /etc/lighttpd/conf-enabled/88-dump1090-fa-statcache.conf ]
then
echo "Disabling lighttpd integration (stat cache).." >&2
lighty-disable-mod dump1090-fa-statcache || true
changed=true
fi
for apachefile in /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf
do
if [ -f ${apachefile} ]; then
echo "Modifying apache file ${apachefile}..." >&2
sed -i '/^[ \t]*#*dump1090-start#*/,/^[ \t]*#*dump1090-end#*/{/^[ \t]*#*dump1090-start#*/!{/^[ \t]*#*dump1090-end#*/!d}}' ${apachefile}
sed -i '/[ \t]*#*dump1090-start#*/,/^[ \t]*#*dump1090-end#*/d' ${apachefile}
changed=true
fi
done
if $changed
then
echo "Restarting lighttpd.." >&2
invoke-rc.d lighttpd restart || echo "Warning: lighttpd failed to restart." >&2
echo "Restarting Apache..." >&2
invoke-rc.d apache2 restart || echo "Warning: apache2 failed to restart." >&2
fi
;;

View File

@ -10,7 +10,7 @@ After=network.target
User=dump1090
RuntimeDirectory=dump1090-fa
RuntimeDirectoryMode=0755
ExecStart=/usr/share/dump1090-fa/start-dump1090-fa --write-json %t/dump1090-fa --quiet
ExecStart=/usr/share/dump1090-fa/start-dump1090-fa --write-json /usr/share/dump1090-fa/html/data --quiet
SyslogIdentifier=dump1090-fa
Type=simple
Restart=on-failure

View File

@ -1,4 +0,0 @@
# The stat cache must be disabled, as aircraft.json changes
# frequently and lighttpd's stat cache often ends up with the
# wrong content length.
server.stat-cache-engine = "disable"

View File

@ -1,27 +0,0 @@
# Allows access to the static files that provide the dump1090 map view,
# and also to the dynamically-generated json parts that contain aircraft
# data and are periodically written by the dump1090 daemon.
alias.url += (
"/dump1090-fa/data/" => "/run/dump1090-fa/",
"/dump1090-fa/" => "/usr/share/dump1090-fa/html/"
)
# redirect the slash-less URL
url.redirect += (
"^/dump1090-fa$" => "/dump1090-fa/"
)
# Listen on port 8080 and serve the map there, too.
$SERVER["socket"] == ":8080" {
alias.url += (
"/data/" => "/run/dump1090-fa/",
"/" => "/usr/share/dump1090-fa/html/"
)
}
# Add CORS header
server.modules += ( "mod_setenv" )
$HTTP["url"] =~ "^/dump1090-fa/data/.*\.json$" {
setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )
}

View File

@ -23,8 +23,9 @@ DisplayUnits = "nautical";
// degrees.
// Default center of the map.
DefaultCenterLat = 45.0;
DefaultCenterLon = 9.0;
// 39.234 | -103.697 - Limon, CO
DefaultCenterLat = 39.234;
DefaultCenterLon = -103.697;
// The google maps zoom level, 0 - 16, lower is further out
DefaultZoomLvl = 7;

View File

@ -0,0 +1 @@
Placeholder for the JSON output data directory.

View File

@ -0,0 +1 @@
This directory is for JSON from dump1090.

View File

@ -10,7 +10,8 @@ function createBaseLayers() {
var us = [];
world.push(new ol.layer.Tile({
source: new ol.source.OSM(),
//source: new ol.source.OSM(),
source: new ol.source.OSM({ url: "/maps/{z}/{x}/{y}.png" }),
name: 'osm',
title: 'OpenStreetMap',
type: 'base',

View File

@ -1713,7 +1713,7 @@ function isPointInsideExtent(x, y, extent) {
function initializeUnitsSelector() {
// Get display unit preferences from local storage
if (!localStorage.getItem('displayUnits')) {
localStorage['displayUnits'] = "nautical";
localStorage['displayUnits'] = "imperial";
}
var displayUnits = localStorage['displayUnits'];
DisplayUnits = displayUnits;