mikenye / pw-pipeline

Takes in ADSB information and churns out JSON

Home Page:https://plane.watch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plane.Watch Pipeline

This repo contains several tools used to decode, understand and process ADSB information.

We typically develop against the latest version of Golang.

Info

The pw_ingest, pw_router and pw_ws_broker commands are connected together with a message queue. We currently support:

  • RabbitMQ
  • Redis PubSub
  • Nats.io

Components

Commands

You can find commands in the cmd/ directory

Filtering and Finding

There are some small programs to help find examples of ADSB messages

  • plane.filter
  • df_example_finder
  • recorder

Displaying

  • website_decode

You can find it running at http://jasonplayne.com:8080/. Throw in your ADSB message and it'll show you want it can about the message.

Processing

  • pw_ingest
  • pw_router
  • pw_ws_broker

These three components are used to take incoming ADSB messages (beast, avr, sbs1) decode them, turn them into plane tracking json blobs and make them available via websocket to a website.

Integration

  • pw_discord_bot

Allows for basic integration with discord and alerting.

Libraries

Reusable bits!

Decoding and Tracking

  • tile_grid
  • tracker
  • tracker/beast
  • tracker/mode_s
  • tracker/sbs1
  • export

These libs form the basis of the whole decoding part

Helpers

The other libs in the lib/ folder are common shared parts of the larger whole.

Further Reading

Some Links for More Information around ADSB

Building

Development

make

That's it. It runs the tests and builds the binaries and puts them into bin/

If you want to build a specific binary

go build plane.watch/cmd/pw_ingest

or you can run it with

go run plane.watch/cmd/pw_ingest

Building Docker Containers

docker build -t plane.watch/pw_ws_broker:latest -f docker/pw_ws_broker/Dockerfile .
docker build -t plane.watch/pw_router:latest -f docker/pw_router/Dockerfile .
docker build -t plane.watch/pw_ingest:latest -f docker/pw_ingest/Dockerfile .

About

Takes in ADSB information and churns out JSON

https://plane.watch

License:GNU General Public License v3.0


Languages

Language:Go 91.8%Language:HTML 6.2%Language:JavaScript 1.4%Language:Dockerfile 0.5%Language:Makefile 0.1%Language:Shell 0.0%Language:CSS 0.0%