Files
adsb-tools/adsbus
2016-02-29 15:22:10 -08:00
..
2016-02-27 22:19:14 -08:00
2016-02-18 09:37:53 -08:00
2016-02-28 15:53:55 -08:00
2016-02-27 22:21:09 -08:00
2016-02-26 14:09:37 -08:00
2016-02-27 22:11:28 -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-02-28 15:53:55 -08:00
2016-02-28 15:53:55 -08:00
2016-02-26 14:09:37 -08:00
2016-02-26 14:09:37 -08:00
2016-02-27 16:23:26 -08:00
2016-02-26 10:30:18 -08:00
2016-02-26 14:09:37 -08:00
2016-02-28 15:58:11 -08:00
2016-02-28 15:53:55 -08:00
2016-02-28 15:53:55 -08:00
2016-02-26 14:31:35 -08:00
2016-02-27 16:23:26 -08:00
2016-02-28 15:53:55 -08:00
2016-02-25 23:37:37 -08:00
2016-02-27 22:53:57 -08:00
2016-02-26 14:09:37 -08:00
2016-02-28 23:07:02 -08:00
2016-02-28 22:21:07 -08:00
2016-02-28 22:21:07 -08:00
2016-02-28 12:45:00 -08:00
2016-02-28 22:21:07 -08:00
2016-02-25 23:37:37 -08:00
2016-02-25 23:37:37 -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:
    • Outgoing TCP connection
    • Incoming TCP connection
    • Local files or named pipes
    • stdin/stdout
    • Execute a command and talk to its stdin/stdout
  • Data flows:
    • Send (data flows out of adsbus)
    • Receive (data flows in to adsbus)
  • 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
  • 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