Coder Social home page Coder Social logo

llopisdon / skies-adsb Goto Github PK

View Code? Open in Web Editor NEW
58.0 6.0 1.0 28.76 MB

skies-adsb is a real-time 3D browser based web app for tracking aircraft using ADS-B data obtained from a RTL-SDR receiver.

License: MIT License

JavaScript 76.47% CSS 5.89% HTML 4.43% Shell 6.25% Python 6.96%
adsb html5 javascript pwa python3 raspberrypi rtl-sdr rtlsdr simulation threejs

skies-adsb's Introduction

skies-adsb

Screenshot image of the skies-adsb app running in a browser showing air traffic around KMIA in Miami, FL

Introduction

skies-adsb is a real-time 3D browser based web app for tracking aircraft using ADS-B data obtained from a RTL-SDR receiver.

Features

  • aircraft are tracked and rendered in real-time using unfiltered ADS-B data
  • the app is hosted on a Raspberry Pi running on your local network
  • flight status data is provided by the FlightAware AeroAPI v4
  • aircraft photos are provided by Planespotters.net.
  • responsive web app built for touch displays and mobile devices
  • supports importing GeoJSON maps of your local area to use as a ground reference plane

Gif Recording recording of the skies-adsb app running in a browser demonstrating the use of the onscreen controls

Installation Guides

Below is an installation guide for setting up skies-adsb on a Raspberry Pi either as a new install or on top of an existing Raspberry Pi installation:

Raspberry Pi Install Guide

If you do not have an Raspberry Pi or you wish to use an existing ADS-B decoder already running on a network (or localhost) you can run skies-adsb as a local webapp by following this guide:

No Raspberry Pi Install Guide / Use Existing Decoder

HOWTOs

HOWTO create/update/use skies-adsb GeoJSON maps

HOWTO securely deploy skies-adsb with Cloudflare Tunnel

Development

The app is written using WebGL+HTML5+CSS+JavaScript and it works on all of the latest major browsers: Chrome (Desktop+Mobile), Firefox (Desktop), and Safari (Desktop+Mobile). For information on how to setup a development environment for skies-adsb see here:

HOWTO Development

Flight information and other data sources are managed via a local Flask API server proxy. See:

Flask API Server Docs

Contributing

Community GeoJSON maps are welcome. Please submit new maps via a pull-request.

Please report bugs via the issue tracker.

Please submit any feature requests via the issue tracker.

Thanks

I would like to give special thanks to the following people who gave me valuable feedback and helped me debug the app:

Andre Thais CFI

Frank E. Hernandez

Fallback Aircraft Photo Attribution

Pan Am Boeing 747-121 N732PA

https://commons.wikimedia.org/wiki/File:Pan_Am_Boeing_747-121_N732PA_Bidini.jpg

by Aldo Bidini

References

https://mode-s.org/decode/index.html

https://www.rtl-sdr.com/rtl-sdr-quick-start-guide/

https://www.raspberrypi.com/documentation/

https://www.adsbexchange.com/how-to-feed/

https://flightaware.com/commercial/aeroapi/documentation2.rvt

skies-adsb's People

Contributors

llopisdon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cmdrkeene

skies-adsb's Issues

Nothing is showing?

I have followed the instructions here including the steps needed for Flask server.

But all I am getting is just a few circles and no flights.

In the .env file I have included

VITE_SKIES_ADSB_HOST_EXISTING=127.0.0.1:30003

Since I already have dump1090-mutability running locally on a headless server. I even tested by telnet to port 30003 from another computer and I can see the SBS1 formatted messages.

And somehow after running the run_existing.sh script, port 5000 and port 5173(??) are responding to web requests.
Port 5000 just gives 404 no matter what I tried (e.g. http://ip:5000/ or http://ip:5000/skies-adsb/)
Port 5173 responded, but just a plain of circles even when I zoomed out I still didn't see any flights

BTW I modified the last line of run_existing.sh to npx vite --host so I can use the web browser on my Windows machine.

 ./run_existing.sh
 * Debug mode: off
WebSocket server settings:
  - Listen on :30006
  - No SSL/TLS support (no cert file)
  - proxying from :30006 to 192.168.x.x:30003
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.x.x5000
Press CTRL+C to quit

  VITE v5.1.5  ready in 1876 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: http://192.168.x.x:5173/
  ➜  press h + enter to show help
192.168.x.y - - [20/Mar/2024 13:14:26] "GET / HTTP/1.1" 404 -
192.168.x.y - - [20/Mar/2024 13:14:26] "GET /favicon.ico HTTP/1.1" 404 -
192.168.x.y - - [20/Mar/2024 13:14:57] "GET / HTTP/1.1" 404 -
192.168.x.y - - [20/Mar/2024 13:15:24] "GET /skies-adsb/ HTTP/1.1" 404 -

image
image

request: decouple decoder from guide

https://github.com/llopisdon/skies-adsb/blob/main/docs/INSTALL-GUIDE.md

The guide seems to couple dump1090 into your setup procedure.
It would be much nicer if you could separate that so people already running a decoder like readsb (https://github.com/wiedehopf/adsb-scripts/wiki/Automatic-installation-for-readsb) or dump1090-fa, don't install dump1090-mutability making 2 decoders fight over the SDR.

Also i'm not sure why you wouldn't want a systemd service to start dump1090-mutability.

Unable to access repository

Problem, any thoughts?

Cloning into ‘skies-adsb’…
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Point at existing ADSB setup.

Not an issue, just a comment.
I am looking forward to checking this out, but currently the way its setup, I just don't have the time to dig into your code and figure out how to run it without an SDR dongle. Like most of those of us doing ADSB we already have existing systems and data on port 30003 so just want to point your app to our feeds without needing another dongle and antenna splitter.
Once I figure that out, I will be able to provide more feedback I suspect.

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.