Giter Site home page Giter Site logo

billglover / go-adsb-console Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 2.86 MB

A small client that monitors dump1090 output for aircraft movement and submits updates to RabbitMQ

Go 99.36% Shell 0.64%
adsb flight-tracking hacktoberfest raspberrypi

go-adsb-console's People

Contributors

billglover avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

adamfowleruk

go-adsb-console's Issues

Current release fails to install

Current release version fails to install on Rapsibian ( Linux pi4 5.4.51-v7l+ )

sudo dpkg -i go-adsb-console_0.5_linux_arm.deb

errors out unable to execute the post-install script (error 5). Leaving the dpkg manager in an inconsistant state unable to clean up the broken install.

Work around : rm /var/lib/dpkg/info/go-adsb-console.* cleans it out.

latitude and longitude default to zero values

Aircraft that don't have a latitude or longitude set default to zero values for these attributes. The result is that they show up plotted at the equator. They should be removed from the scan if no position information is available.

app terminates on startup due to missing aircraft.json

If started on system start-up, the aircraft.json doesn't exist and so the application terminates. As it takes dump1090-mutability time to generate the file, this application should continue to monitor for the presence of the file.

app terminates on startup if network unavailable

When a system boots it can take some time for the network to become available. This is particularly true with a wireless network interface. This can result in the following issue that causes the app to terminate:

Oct 24 13:54:12 raspberrypi go-adsb-console[376]: 2019/10/24 13:54:12 failed to start updater: failed to connect to RabbitMQ: dial tcp: lookup feisty-clam.rmq.cloudamqp.com on 192.168.1.254:53: dial udp 192.168.1.254:53: connect: network is unreachable

application terminates on publish after several attempts to re-open the channel

pi@raspberrypi:~ $ sudo systemctl status go-adsb-console
โ— go-adsb-console.service - Go ADSB Console
   Loaded: loaded (/etc/systemd/system/go-adsb-console.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2019-10-29 14:51:18 GMT; 18h ago
  Process: 4417 ExecStart=/usr/local/bin/go-adsb-console (code=exited, status=2)
 Main PID: 4417 (code=exited, status=2)

Oct 29 14:51:18 raspberrypi go-adsb-console[4417]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x37c7d0]
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]: goroutine 40 [running]:
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]: github.com/streadway/amqp.(*Channel).Publish(0x0, 0x1c7e500, 0x11, 0x0, 0x0, 0x0, 0x0, 0x4476b9, 0x10, 0x0, ...)
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]:         /Users/bglover/go/pkg/mod/github.com/streadway/[email protected]/channel.go:1331 +0x48
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]: main.startUpdater.func2(0x1d7e000, 0x1d22120, 0x1d2a240, 0x4e4688, 0x1c6d420, 0x1d22000, 0x1c7e500, 0x11)
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]:         /Users/bglover/dev/go-adsb-console/updater.go:83 +0x244
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]: created by main.startUpdater
Oct 29 14:51:18 raspberrypi go-adsb-console[4417]:         /Users/bglover/dev/go-adsb-console/updater.go:53 +0x274
Oct 29 14:51:18 raspberrypi systemd[1]: go-adsb-console.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Oct 29 14:51:18 raspberrypi systemd[1]: go-adsb-console.service: Failed with result 'exit-code'.

Issues using FlightAware version of dump1090

When using the FlightAware version of dump1090 the following issues are known:

  • default location of aircraft.json is incorrect
  • altitude missing from published data
  • speed missing from published data

lost connections to RabbitMQ are not re-established

If the connection to RabbitMQ is lost, the application never tries to reconnect. As a result no subsequent messages are pushed to the exchange until the application is re-started.

Oct 28 09:29:28 raspberrypi go-adsb-console[399]: failed to publish to exchange: Exception (504) Reason: "channel/connection is not open"
Oct 28 09:29:28 raspberrypi go-adsb-console[399]: failed to publish to exchange: Exception (504) Reason: "channel/connection is not open"
Oct 28 09:29:33 raspberrypi go-adsb-console[399]: failed to publish to exchange: Exception (504) Reason: "channel/connection is not open"
Oct 28 09:29:33 raspberrypi go-adsb-console[399]: failed to publish to exchange: Exception (504) Reason: "channel/connection is not open"

Unable to parse `aircraft.json` from FlightAware version of dump1090

The following example of an aircraft.json file from FlightAware fails to parse. Currently expecting track to be an integer and it appears to be a float.

{ "now" : 1601372466.5,
  "messages" : 1770643,
  "aircraft" : [
    {"hex":"407621","alt_baro":3925,"squawk":"2653","nav_qnh":1016.0,"nav_altitude_mcp":4000,"nav_altitude_fms":1504,"nav_modes":["althold"],"mlat":[],"tisb":[],"messages":98,"seen":19.0,"rssi":-13.3},
    {"hex":"4d20f2","flight":"MLT322  ","alt_baro":4925,"gs":226.8,"ias":215,"tas":230,"mach":0.356,"track":199.3,"track_rate":-0.09,"roll":-0.9,"mag_heading":205.7,"baro_rate":128,"geom_rate":64,"squawk":"1410","category":"A0","nav_qnh":1015.8,"nav_altitude_mcp":5008,"lat":50.963062,"lon":-1.446762,"nic":0,"rc":0,"seen_pos":2.4,"version":0,"nac_p":0,"nac_v":0,"sil":0,"sil_type":"unknown","mlat":[],"tisb":[],"messages":1906,"seen":0.7,"rssi":-1.5},
    {"hex":"406544","flight":"EZY76YH ","alt_baro":19000,"alt_geom":19625,"gs":377.5,"ias":270,"tas":360,"mach":0.580,"track":21.6,"track_rate":0.06,"roll":0.2,"mag_heading":20.0,"baro_rate":0,"geom_rate":0,"squawk":"5537","emergency":"none","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":19008,"nav_heading":0.0,"lat":50.867444,"lon":-0.670319,"nic":8,"rc":186,"seen_pos":0.3,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":504,"seen":0.1,"rssi":-9.3},
    {"hex":"405aff","flight":"CLF675  ","alt_baro":30000,"alt_geom":30600,"gs":415.5,"ias":262,"tas":408,"mach":0.700,"track":2.9,"track_rate":0.03,"roll":-0.9,"mag_heading":0.0,"baro_rate":32,"geom_rate":-64,"squawk":"5277","emergency":"none","category":"A1","nav_qnh":1012.8,"nav_altitude_mcp":30016,"nav_heading":0.0,"lat":51.398987,"lon":-0.914686,"nic":8,"rc":186,"seen_pos":4.1,"version":2,"nic_baro":1,"nac_p":10,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":4970,"seen":0.7,"rssi":-11.8},
    {"hex":"4ca2c2","flight":"RYR7PR  ","alt_baro":36125,"alt_geom":36775,"gs":401.2,"ias":252,"tas":438,"mach":0.764,"track":205.9,"track_rate":0.00,"roll":-0.2,"mag_heading":211.5,"baro_rate":1728,"geom_rate":1696,"squawk":"2012","emergency":"none","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":39008,"nav_altitude_fms":39008,"nav_heading":212.3,"lat":50.446976,"lon":-1.756801,"nic":8,"rc":186,"seen_pos":0.4,"version":2,"nic_baro":1,"nac_p":8,"nac_v":1,"sil":3,"sil_type":"perhour","gva":1,"sda":2,"mlat":[],"tisb":[],"messages":6437,"seen":0.1,"rssi":-10.7}
  ]
}

There may be other issues with the format, but this is the first one that threw an error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.