Files
adsb-tools/adsbus
..
2016-03-09 14:38:20 -08:00
2016-03-07 17:38:18 -08:00
2016-03-07 15:19:00 -08:00
2016-02-26 14:09:37 -08:00
2016-03-01 20:17:58 -08:00
2016-03-07 15:19:00 -08:00
2016-02-26 14:09:37 -08:00
2016-02-25 23:37:37 -08:00
2016-02-25 23:37:37 -08:00
2016-03-02 22:25:56 -08:00
2016-03-02 22:25:56 -08:00
2016-02-26 14:09:37 -08:00
2016-02-26 14:09:37 -08:00
2016-03-07 17:02:24 -08:00
2016-02-27 16:23:26 -08:00
2016-03-07 15:19:00 -08:00
2016-03-07 15:19:00 -08:00
2016-03-08 23:04:20 -08:00
2016-03-09 18:00:22 -08:00
2016-03-08 12:22:46 -08:00
2016-03-08 12:22:46 -08:00
2016-03-08 22:42:15 -08:00
2016-03-05 22:54:26 -08:00
2016-03-07 17:02:24 -08:00
2016-02-27 16:23:26 -08:00
2016-02-25 23:37:37 -08:00
2016-03-07 15:19:00 -08:00
2016-02-26 14:09:37 -08:00
2016-03-03 22:03:31 -08:00
2016-03-07 15:19:00 -08:00
2016-03-03 18:28:34 -08:00
2016-03-08 12:22:46 -08:00
2016-03-07 15:19:00 -08:00
2016-03-07 15:19:00 -08:00
2016-02-25 23:37:37 -08:00
2016-03-08 22:42:15 -08:00

adsbus

adsbus is a hub and protocol translator for ADS-B messages.

It is conceptually similar to dump1090 --net-only, but supports more protocols and configurations. It doesn't talk to your radio itself; it hooks programs that do, then handles the network distribution and format translation. It doesn't output to a web interface or send data to services like FlightAware; it provides hooks for programs that do.

Building

sudo apt-get -y install build-essential git clang libjansson-dev libprotobuf-c-dev protobuf-c-compiler
git clone https://github.com/flamingcowtv/adsb-tools.git
cd adsb-tools/adsbus
make

Features

  • Separates the concepts of transport, data flow, and format
  • Transports:
  • Data flows:
    • Send (data flows out of adsbus)
    • Receive (data flows in to adsbus)
    • Send & receive (both directions on the same socket, without echo)
  • Formats:
    • airspy_adsb (a.k.a. ASAVR)
    • beast
    • json
    • proto (a.k.a. ProtoBuf, Protocol Buffers)
    • raw (a.k.a. AVR)
    • stats (send only, summary aggregated data)
  • Transport features:
    • IPv4 and IPv6 support
    • Reresolution and reconnection on disconnect, with backoff and jitter
    • TCP keepalives for dead connection detection
    • TCP fast open for faster startup of high-latency connections
    • SO_REUSEPORT for zero-downtime updates
  • Data flow features:
    • Rapid detection and disconnection of receive <-> receive connections
    • Less rapid detection and disconnection of send <-> send connections
    • Hop counting and limits (json and proto formats only) to stop infinite routing loops
  • Format features:
    • Autodetection of received data format
    • MLAT scaling for different clock rates and counter bit widths
    • RSSI scaling for different bit widths
    • Introduces json format for balanced human and machine readability with forward compatibility
    • Introduces proto format for fast serialization and deserialization with forward compatibility
  • Federation:
    • Federation allows linking multiple instances of adsbus for:
      • Scalability (cores, number of input or output clients, etc.)
      • Efficient long-haul links (hub and spoke models on both ends)
    • json and proto formats carry information about original source across multiple hops
    • SO_REUSEPORT allows multiple adsbus instances to accept connections on the same IP and port without a load balancer