De feeder installeren

De feeder, tally-feed, draait naast readsb. Hij leest de BEAST-uitvoer van readsb op poort 30005 als extra client, ondertekent telkens ongeveer een seconde aan ontvangsten en stuurt die naar een paar relays. Hij opent geen poort, neemt geen opdrachten aan van het netwerk en werkt zichzelf nooit bij.

Tally is in pre-release. De feeder en de relay werken van begin tot eind, maar de publieke relay draait nog niet, en het installatiescript stopt voordat het iets verandert zolang er geen relays zijn om mee te beginnen.

Wat je nodig hebt

  • Een ontvanger die al decodeert met readsb, of iets anders dat BEAST aanbiedt op poort 30005.
  • Linux met systemd 248 of nieuwer, op x86_64 of 64-bit ARM. Elke versie van Raspberry Pi OS vanaf Buster volstaat.
  • De breedtegraad, lengtegraad en hoogte van je antenne.

Raspberry Pi

Als je Pi al via readsb een netwerk voedt, voer dan het installatiescript uit:

curl -fsSL https://github.com/flightlines/tally/releases/latest/download/install.sh | sudo bash

Het downloadt tally-feed voor je board en controleert het aan de hand van de gepubliceerde checksum. Het vindt de BEAST-uitvoer van readsb en, als dump978-fa draait, ook diens 978 MHz-uitvoer. Het leest de locatie van je antenne uit je adsb.im- of ultrafeeder-instellingen of uit /etc/default/readsb, maakt de sleutel van de ontvanger aan in /etc/tally/key en start de service.

Voer het later opnieuw uit om bij te werken. Je sleutel en je instellingen blijven behouden.

Een bestaande readsb, op elke Linux

Hetzelfde installatiescript werkt op elke Linux-machine met systemd. Als het je locatie niet kan vinden, geef die dan mee:

curl -fsSL https://github.com/flightlines/tally/releases/latest/download/install.sh | sudo TALLY_LAT=37.41 TALLY_LON=-122.10 TALLY_ALT=12 bash

Of start de feeder met de hand. Maak eenmalig de sleutel aan en start hem dan:

tally-feed init --key /etc/tally/key
tally-feed --key /etc/tally/key --relay relay.example.org:10900=<relay key> --lat 37.41 --lon -122.10 --alt 12

Een Docker-stack

Als je ontvanger in Docker draait (ultrafeeder en verwanten), is de BEAST-uitvoer van readsb al een poort van de stack. Zorg dat het compose-bestand poort 30005 naar de host publiceert en voer dan het installatiescript uit op de host: het leest die poort zoals elke andere client en vindt je locatie in het .env-bestand van de stack.

Er is nog geen container-image van Tally gepubliceerd. De feeder draait op de host naast de stack.

adsb.im

adsb.im draait zijn decoder in Docker, dus de stappen hierboven gelden: voer het installatiescript uit op het apparaat, en het leest de locatie die adsb.im al kent. Tally wordt aan adsb.im aangeboden als extra feed die je in de instellingen kunt aanzetten.

Je locatie is openbaar

De locatie van je ontvanger wordt precies zo gepubliceerd als je hem invoert, omdat multilateratie (het lokaliseren van vliegtuigen die geen positie uitzenden) hem exact nodig heeft. Wil je dat liever niet, rond hem dan af en geef dat aan met TALLY_PRECISION of --precision, in meters. Je draagt dan minder bij aan multilateratie.

Opties

  • --relay host:port=key noemt een relay om naar te publiceren. De feeder houdt er standaard vier aan: één vast anker voor de lange termijn, één die je als thuisrelay kunt vastzetten, en de rest willekeurig gekozen uit relays waarvan hij heeft gehoord.
  • --ceiling begrenst wat de feeder per seconde naar elke relay stuurt, standaard 64 KB. Boven die grens worden ontvangsten weggegooid en geteld, nooit gebufferd.
  • --uat 127.0.0.1:30978 publiceert 978 MHz UAT-ontvangsten van dump978-fa in dezelfde ondertekende batches.