• This repository has been archived on 01/Aug/2020
  • Stars
    star
    123
  • Rank 289,297 (Top 6 %)
  • Language
    C
  • License
    Other
  • Created over 7 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Readsb is a Mode-S/ADSB/TIS decoder for RTLSDR, BladeRF, Modes-Beast and GNS5894 devices.

Readsb

[Portmanteau of Read ADSB]

Readsb is a Mode-S/ADSB/TIS decoder for RTLSDR, BladeRF, Modes-Beast and GNS5894 devices. As a former fork of dump1090-fa it is using that code base but development will continue as a standalone project with new name. Readsb can co-exist on the same host system with dump1090-fa, it doesn't use or modify its resources. However both programs will not share a receiver device at the same time and in parallel.

No longer under development!

Future development on readsb continuous on the Protocol Buffer version starting with version v4.0.0.

You may also check the wiedehopf readsb fork for an alternative version of readsb.

Disclaimer

This is a personal, hobbyist project with no commercial background.

Push server support

readsb tries to connect to a listening server, like a VRS push server.

For example feeding VRS at adsbexchange.com use the new parameters:

--net-connector feed.adsbexchange.com,30005,beast_out

BeastReduce output

Selectively forwards beast messages if the received data hasn't been forwarded in the last 125 ms (or --net-beast-reduce-interval). Data not related to the physical aircraft state are only forwarded every 500 ms (4 * --net-beast-reduce-interval).The messages of this output are normal beast messages and compatible with every program able to receive beast messages.

readsb Debian/Raspbian packages

It is designed to build as a Debian package.

Building under jessie, stretch or buster

Dependencies - PlutoSDR (ADALM-PLUTO)

You will need the latest build and install of libad9361-dev and libiio-dev. The Debian packages libad9361-dev that is available up to Debian 9 (stretch) is outdated and missing a required function. So you have to build packages from source in this order:

$ git clone https://github.com/analogdevicesinc/libiio.git
$ cd libiio
$ cmake ./
$ make
$ sudo make install
$ git clone https://github.com/analogdevicesinc/libad9361-iio.git
$ cd libad9361-iio
$ cmake ./
$ make
$ sudo make install

Dependencies - bladeRF

You will need a build of libbladeRF. You can build packages from source:

$ git clone https://github.com/Nuand/bladeRF.git
$ cd bladeRF
$ dpkg-buildpackage -b

Or Nuand has some build/install instructions including an Ubuntu PPA at https://github.com/Nuand/bladeRF/wiki/Getting-Started:-Linux

Dependencies - rtlsdr

This is packaged with jessie. "sudo apt-get install librtlsdr-dev"

Actually building it

Build package with no additional receiver library dependencies: dpkg-buildpackage -b.

Build with RTLSDR support: dpkg-buildpackage -b --build-profiles=rtlsdr

Build with BladeRF(uBladeRF) support: dpkg-buildpackage -b --build-profiles=bladerf

Build with PlutoSDR support: dpkg-buildpackage -b --build-profiles=plutosdr

Build full package with all libraries: dpkg-buildpackage -b --build-profiles=rtlsdr,bladerf,plutosdr

Building manually

You can probably just run "make". By default "make" builds with no specific library support. See below. Binaries are built in the source directory; you will need to arrange to install them (and a method for starting them) yourself.

"make BLADERF=yes" will enable bladeRF support and add the dependency on libbladeRF.

"make RTLSDR=yes" will enable rtl-sdr support and add the dependency on librtlsdr.

"make PLUTOSDR=yes" will enable plutosdr support and add the dependency on libad9361 and libiio.

Configuration

After installation, either by manual building or from package, you need to configure readsb service and web application.

Edit /etc/default/readsb to set the service options, device type, network ports etc.

The web application is configured by editing /usr/share/readsb/html/script/readsb/defaults.js or src/script/readsb/default.ts prior to compilation. Several settings can be modified through web browser. These settings are stored inside browser indexedDB and are individual to users or browser profiles.

Note about bias tee support

Bias tee support is available for RTL-SDR.com V3 dongles. If you wish to enable bias tee support, you must ensure that you are building this package with a version of librtlsdr installed that supports this capability. You can find suitable source packages here. To enable the necessary support code when building, be sure to include preprocessor define macro HAVE_BIASTEE, e.g.:

"make HAVE_BIASTEE=yes" will enable biastee support for RTLSDR interfaces.

Credits

  • Matthias Wirth aka wiedehopf
  • Taner Halicioglu aka tanerH

More Repositories

1

multi-sdr-gps-sim

multi-sdr-gps-sim generates a IQ data stream on-the-fly to simulate a GPS L1 baseband signal using a SDR platform like HackRF or ADLAM-Pluto.
C
137
star
2

pluto-gps-sim

PLUTO-GPS-SIM generates a GPS baseband signal IQ data stream, which is then transmitted by the software-defined radio (SDR) platform ADALM-Pluto.
C
91
star
3

readsb-protobuf

Readsb is a Mode-S/ADSB/TIS decoder for RTLSDR, BladeRF, Modes-Beast and GNS5894 devices. Future development version with protocol buffer storage.
C
85
star
4

GaugeMeter

An elegant and dynamic animated graphical gauge meter built with jQuery. GaugeMeter.js is highly customizable and includes full-radial, semi-radial & arch dials.
HTML
38
star
5

pluto-gps-sim-win32

PLUTO-GPS-SIM generates a GPS baseband signal IQ data stream, which is then transmitted by the software-defined radio (SDR) platform ADALM-Pluto. Windows 32bit version.
C
27
star
6

ais-simulator

Create and transmit AIS frames via gnuradio toolchain and web application in browser. Provides a websocket to PDU message block to change frame content on runtime. Works in burst mode, a frame is send on change immediately, one time. Transmitter remains silent until next change event.
Python
27
star
7

bqev23k

A project that controls the Texas Instruments (TI) EV2300 hardware interface through C# WPF. Especially written for the BQ40Z80 (2-Series to 7-Series battery pack manager with impedance track gas gauge).
C#
16
star
8

meshtastic2hass

A Python client for use with Meshtastics devices that forwards telemetry and position messages to Home Assistant (Hass) via MQTT.
Python
6
star
9

libreadsb

A Mode-S/ADSB/TIS decoder library.
C
3
star
10

readsbmqtt

An MQTT client that reads statistics in protocol-buffer format from readsb ADS-B decoder and forward them via MQTT broker into home assistant (HASS).
C
3
star
11

meteo

Websocket server and web client to visualize data from a Vaisalla weather station during EASA acoustic compliance tests.
C
1
star